package org.jboss.examples.earproblem.transformer; import java.io.StringReader; import java.util.LinkedList; import java.util.List; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMResult; import javax.xml.transform.stream.StreamSource; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; public class TransformUtils { private TransformUtils() {} public static NodeList getNodeList(Element from, String elementName) { NodeList nodes = from.getElementsByTagName(elementName); return nodes; } public static String getStringValue(Element from) { String value = from.getFirstChild().getNodeValue(); return value; } public static String getStringValue(Element from, String elementName) { String value = null; NodeList nodes = from.getElementsByTagName(elementName); if (nodes != null && nodes.getLength() > 0) { value = nodes.item(0).getChildNodes().item(0).getNodeValue(); } return value; } public static Boolean getBooleanValue(Element from, String elementName) { String value = getStringValue(from, elementName); if (value != null) { return Boolean.valueOf(value).booleanValue(); } else { return null; } } public static Integer getIntValue(Element from, String elementName) { String value = getStringValue(from, elementName); if (value != null) { return Integer.valueOf(value).intValue(); } else { return null; } } public static List<String> getStringValues(Element from, String elementName) { List<String> values = new LinkedList<String>(); NodeList nodes = from.getElementsByTagName(elementName); if (nodes != null) { for (int i = 0; i < nodes.getLength(); i ++) { values.add(nodes.item(i).getChildNodes().item(0).getNodeValue()); } } return values; } public static Element toElement(String xml) { DOMResult dom = new DOMResult(); try { TransformerFactory.newInstance().newTransformer().transform( new StreamSource(new StringReader(xml)), dom); } catch (Exception e) { } return ((Document)dom.getNode()).getDocumentElement(); } }