Code with Finding: |
class DomUtil { public void populate(final XmlSuite xmlSuite) throws XPathExpressionException { NodeList nodes = m_document.getChildNodes(); final Map<String, String> parameters = Maps.newHashMap(); for (int i = 0; i < nodes.getLength(); i++) { Node item1 = nodes.item(i);
Map<String, NodeProcessor> map = Maps.newHashMap(); map.put("parameter", new NodeProcessor() { @Override public void process(Node node) { Element e = (Element) node; parameters.put(e.getAttribute("name"), e.getAttribute("value")); } }); map.put("test", new NodeProcessor() { @Override public void process(Node node) { XmlTest xmlTest = new XmlTest(xmlSuite); populateTest(xmlTest, node); } }); map.put("suite-files", new NodeProcessor() { @Override public void process(Node node) { NodeList item2Children = node.getChildNodes(); List<String> suiteFiles = Lists.newArrayList(); for (int k = 0; k < item2Children.getLength(); k++) { Node item3 = item2Children.item(k); if (item3 instanceof Element) { Element e = (Element) item3; if ("suite-file".equals(item3.getNodeName())) { suiteFiles.add(e.getAttribute("path")); } } } xmlSuite.setSuiteFiles(suiteFiles); } }); parseNodeAndChildren("suite", item1, xmlSuite, map);
// if ("suite".equals(item1.getNodeName()) && item1.getAttributes() != null) { // populateAttributes(item1, xmlSuite); // NodeList item1Children = item1.getChildNodes(); // for (int j = 0; j < item1Children.getLength(); j++) { // Node item2 = item1Children.item(j); // if ("parameter".equals(item2.getNodeName())) { // Element e = (Element) item2; // parameters.put(e.getAttribute("name"), e.getAttribute("value")); // } else if ("test".equals(item2.getNodeName())) { // XmlTest xmlTest = new XmlTest(xmlSuite); // populateTest(xmlTest, item2); // } else if ("suite-files".equals(item2.getNodeName())) { // NodeList item2Children = item2.getChildNodes(); // List<String> suiteFiles = Lists.newArrayList(); // for (int k = 0; k < item2Children.getLength(); k++) { // Node item3 = item2Children.item(k); // if (item3 instanceof Element) { // Element e = (Element) item3; // if ("suite-file".equals(item3.getNodeName())) { // suiteFiles.add(e.getAttribute("path")); // } // } // } // xmlSuite.setSuiteFiles(suiteFiles); // } // } // } }
xmlSuite.setParameters(parameters); // XPathExpression expr = m_xpath.compile("//suite/test"); // NodeList tests = (NodeList) expr.evaluate(m_document, XPathConstants.NODESET); // for (int i = 0; i < tests.getLength(); i++) { // Node node = tests.item(i); // System.out.println("<test>:" + node); // } }
}
|