1
2
3
4
5
6
7
8
9
10
11 package org.mule.examples.loanbroker.transformers;
12
13 import org.mule.examples.loanbroker.messages.CreditProfile;
14 import org.mule.transformers.AbstractTransformer;
15 import org.mule.umo.transformer.TransformerException;
16
17 import org.dom4j.Document;
18 import org.dom4j.DocumentException;
19 import org.dom4j.DocumentHelper;
20
21 public class CreditProfileXmlToCreditProfile extends AbstractTransformer
22 {
23
24 public CreditProfileXmlToCreditProfile()
25 {
26 registerSourceType(String.class);
27 registerSourceType(Document.class);
28 setReturnClass(CreditProfile.class);
29 }
30
31 public Object doTransform(Object src, String encoding) throws TransformerException
32 {
33 Document doc = null;
34
35 if (src instanceof Document)
36 {
37 doc = (Document)src;
38 }
39 else
40 {
41 try
42 {
43 doc = DocumentHelper.parseText(src.toString());
44 }
45 catch (DocumentException e)
46 {
47 throw new TransformerException(this, e);
48 }
49 }
50
51 String history = doc.valueOf("/credit-profile/customer-history");
52 String score = doc.valueOf("/credit-profile/credit-score");
53 CreditProfile cp = new CreditProfile();
54 cp.setCreditHistory(Integer.valueOf(history).intValue());
55 cp.setCreditScore(Integer.valueOf(score).intValue());
56 return cp;
57 }
58
59 }