1 10 11 package org.mule.providers.dq.transformers; 12 13 import java.util.Iterator ; 14 15 import org.dom4j.Document; 16 import org.dom4j.DocumentHelper; 17 import org.dom4j.Element; 18 import org.mule.providers.dq.DQMessage; 19 import org.mule.transformers.AbstractTransformer; 20 import org.mule.umo.transformer.TransformerException; 21 22 25 public class XmlToDQMessage extends AbstractTransformer 26 { 27 30 private static final long serialVersionUID = 6677408209819658768L; 31 32 35 public XmlToDQMessage() 36 { 37 registerSourceType(String .class); 38 setReturnClass(DQMessage.class); 39 } 40 41 44 public final Object doTransform(final Object src, String encoding) throws TransformerException 45 { 46 try 47 { 48 DQMessage msg = new DQMessage(); 49 Document document = DocumentHelper.parseText((String )src); 50 51 for (Iterator i = document.getRootElement().elementIterator(); i.hasNext();) 52 { 53 Element element = (Element)i.next(); 54 String name = element.attributeValue(DQMessage.XML_NAME); 55 String value = element.getTextTrim(); 56 msg.addEntry(name, value); 57 } 58 59 return msg; 60 61 } 62 catch (Exception e) 63 { 64 throw new TransformerException(this, e); 65 } 66 } 67 68 } 69 | Popular Tags |