Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
SendOrderConfirmationEmailAdvice.java
Upload User: jiancairen
Upload Date: 2007-08-27
Package Size: 26458k
Code Size: 3k
Category:
Java Develop
Development Platform:
Java
- package org.springframework.samples.jpetstore.domain.logic;
- import java.lang.reflect.Method;
- import org.apache.commons.logging.Log;
- import org.apache.commons.logging.LogFactory;
- import org.springframework.aop.AfterReturningAdvice;
- import org.springframework.beans.factory.InitializingBean;
- import org.springframework.mail.MailException;
- import org.springframework.mail.MailSender;
- import org.springframework.mail.SimpleMailMessage;
- import org.springframework.samples.jpetstore.domain.Account;
- import org.springframework.samples.jpetstore.domain.Order;
- /**
- * AOP advice that sends confirmation email after order has been submitted
- * @author Dmitriy Kopylenko
- */
- public class SendOrderConfirmationEmailAdvice implements AfterReturningAdvice, InitializingBean {
- private static final String DEFAULT_MAIL_FROM = "jpetstore@springframework.org";
- private static final String DEFAULT_SUBJECT = "Thank you for your order!";
- private final Log logger = LogFactory.getLog(getClass());
- private MailSender mailSender;
- private String mailFrom = DEFAULT_MAIL_FROM;
- private String subject = DEFAULT_SUBJECT;
- public void setMailSender(MailSender mailSender) {
- this.mailSender = mailSender;
- }
- public void setMailFrom(String mailFrom) {
- this.mailFrom = mailFrom;
- }
- public void setSubject(String subject) {
- this.subject = subject;
- }
- public void afterPropertiesSet() throws Exception {
- if (this.mailSender == null) {
- throw new IllegalStateException("mailSender is required");
- }
- }
- public void afterReturning(Object returnValue, Method m, Object[] args, Object target) throws Throwable {
- Order order = (Order) args[0];
- Account account = ((PetStoreFacade) target).getAccount(order.getUsername());
- // don't do anything if email address is not set
- if (account.getEmail() == null || account.getEmail().length() == 0) {
- return;
- }
- StringBuffer text = new StringBuffer();
- text.append("Dear ").append(account.getFirstName()).append(' ').append(account.getLastName());
- text.append(", thank your for your order from JPetStore. Please note that your order number is ");
- text.append(order.getOrderId());
- SimpleMailMessage mailMessage = new SimpleMailMessage();
- mailMessage.setTo(account.getEmail());
- mailMessage.setFrom(this.mailFrom);
- mailMessage.setSubject(this.subject);
- mailMessage.setText(text.toString());
- try {
- this.mailSender.send(mailMessage);
- }
- catch (MailException ex) {
- // just log it and go on
- logger.warn("An exception occured when trying to send email", ex);
- }
- }
- }