KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mule > util > properties > JDomPropertyExtractor


1 /*
2  * $Id: JDomPropertyExtractor.java 3798 2006-11-04 04:07:14Z aperepel $
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.util.properties;
12
13 import org.mule.util.properties.PropertyExtractor;
14 import org.mule.umo.UMOMessage;
15 import org.dom4j.io.DOMReader;
16 import org.dom4j.Node;
17
18 /**
19  * Will select the text of a single node based on the property name
20  */

21 public class JDomPropertyExtractor implements PropertyExtractor
22 {
23     public Object JavaDoc getProperty(String JavaDoc name, Object JavaDoc message)
24     {
25         Object JavaDoc payload = message;
26         if (message instanceof UMOMessage)
27         {
28             payload = ((UMOMessage)message).getPayload();
29         }
30         if (payload instanceof org.w3c.dom.Document JavaDoc)
31         {
32             org.w3c.dom.Document JavaDoc x3cDoc = (org.w3c.dom.Document JavaDoc)payload;
33             org.dom4j.Document dom4jDoc = new DOMReader().read(x3cDoc);
34             try
35             {
36                 Node node = dom4jDoc.selectSingleNode(name);
37                 if (node != null)
38                 {
39                     return node.getText();
40                 }
41             }
42             catch (Exception JavaDoc ignored)
43             {
44                 // ignore
45
}
46         }
47         return null;
48     }
49 }
50
Popular Tags