KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mule > providers > dq > transformers > XmlToDQMessage


1 /*
2  * $Id: XmlToDQMessage.java 3982 2006-11-22 14:28:01Z lajos $
3  * --------------------------------------------------------------------------------------
4  * Copyright (c) MuleSource, Inc. All rights reserved. http://www.mulesource.com
5  *
6  * The software in this package is published under the terms of the MuleSource MPL
7  * license, a copy of which has been included with this distribution in the
8  * LICENSE.txt file.
9  */

10
11 package org.mule.providers.dq.transformers;
12
13 import java.util.Iterator JavaDoc;
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 /**
23  * <code> XmlToDQMessage</code> will convert an XML string to a DQMessage.
24  */

25 public class XmlToDQMessage extends AbstractTransformer
26 {
27     /**
28      * Serial version
29      */

30     private static final long serialVersionUID = 6677408209819658768L;
31
32     /**
33      * The contructor
34      */

35     public XmlToDQMessage()
36     {
37         registerSourceType(String JavaDoc.class);
38         setReturnClass(DQMessage.class);
39     }
40
41     /**
42      * @see org.mule.transformers.AbstractTransformer#doTransform(Object, String)
43      */

44     public final Object JavaDoc doTransform(final Object JavaDoc src, String JavaDoc encoding) throws TransformerException
45     {
46         try
47         {
48             DQMessage msg = new DQMessage();
49             Document document = DocumentHelper.parseText((String JavaDoc)src);
50
51             for (Iterator JavaDoc i = document.getRootElement().elementIterator(); i.hasNext();)
52             {
53                 Element element = (Element)i.next();
54                 String JavaDoc name = element.attributeValue(DQMessage.XML_NAME);
55                 String JavaDoc value = element.getTextTrim();
56                 msg.addEntry(name, value);
57             }
58
59             return msg;
60
61         }
62         catch (Exception JavaDoc e)
63         {
64             throw new TransformerException(this, e);
65         }
66     }
67
68 }
69
Popular Tags