1
2
3
4
5
6
7
8
9
10
11 package org.mule.example.bookstore.transformers;
12
13 import org.mule.api.MuleMessage;
14 import org.mule.api.transformer.TransformerException;
15 import org.mule.example.bookstore.Book;
16 import org.mule.example.bookstore.Order;
17 import org.mule.transformer.AbstractMessageTransformer;
18 import org.mule.transformer.types.DataTypeFactory;
19 import org.mule.transport.email.MailProperties;
20
21
22
23
24 public class OrderToEmailTransformer extends AbstractMessageTransformer
25 {
26 public OrderToEmailTransformer()
27 {
28 super();
29 registerSourceType(DataTypeFactory.create(Order.class));
30 setReturnDataType(DataTypeFactory.STRING);
31 }
32
33 @Override
34 public Object transformMessage(MuleMessage message, String outputEncoding) throws TransformerException
35 {
36 Order order = (Order) message.getPayload();
37 Book book = order.getBook();
38
39 String body = "Thank you for placing your order for " +
40 book.getTitle() + " with the Mule-powered On-line Bookstore. " +
41 "Your order will be shipped to " +
42 order.getAddress() + " by the next business day.";
43
44 String email = order.getEmail();
45 message.setOutboundProperty(MailProperties.TO_ADDRESSES_PROPERTY, email);
46
47 logger.info("Sending e-mail notification to " + email);
48 return body;
49 }
50 }