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);
// }
}
}
|