Example usage for org.w3c.dom Element getElementsByTagName

List of usage examples for org.w3c.dom Element getElementsByTagName

Introduction

In this page you can find the example usage for org.w3c.dom Element getElementsByTagName.

Prototype

public NodeList getElementsByTagName(String name);

Source Link

Document

Returns a NodeList of all descendant Elements with a given tag name, in document order.

Usage

From source file:edu.harvard.i2b2.eclipse.plugins.query.utils.XmlUtil.java

public static Boolean hasFolderTag(XmlValueType xml) {
    Element rootElement = xml.getAny().get(0);
    NodeList folderElements = rootElement.getElementsByTagName("folder");
    if (folderElements.getLength() == 0)
        return false;
    else//from   www .java2  s.c om
        return true;
}

From source file:com.moadbus.banking.iso.core.data.DataSetConfigParser.java

/**
 * Reads the XML from the stream and configures the dataset factory with its
 * values.//from  ww  w . j  a va2 s  .  co  m
 *
 * @param mfact
 *            The dataset factory to be configured with the values read from
 *            the XML.
 * @param stream
 *            The InputStream containing the XML configuration.
 */
protected static void parse(DataSetFactory mfact, InputStream stream) throws IOException {
    final DocumentBuilderFactory docfact = DocumentBuilderFactory.newInstance();
    DocumentBuilder docb = null;
    Document doc = null;
    try {
        docb = docfact.newDocumentBuilder();
        doc = docb.parse(stream);
    } catch (ParserConfigurationException ex) {
        log.error("parse: Cannot parse XML configuration", ex);
        return;
    } catch (SAXException ex) {
        log.error("parse: Parsing XML configuration", ex);
        return;
    }
    final Element root = doc.getDocumentElement();

    // Read the ISO headers
    NodeList nodes = null;

    // Read the parsing guides
    nodes = root.getElementsByTagName("parse");
    for (int i = 0; i < nodes.getLength(); i++) {
        Element elem = (Element) nodes.item(i);
        String msgtype = elem.getAttribute("msgtype");
        MessageType messageType = MessageType.valueOf(msgtype);
        if (messageType == null) {
            throw new IOException("Invalid type for parse guide: " + elem.getAttribute("msgtype"));
        }
        NodeList fields = elem.getElementsByTagName("field");
        /*
         * HashMap<Integer, DataElementParseInfo> parseMap = new
         * HashMap<Integer, DataElementParseInfo>(); for (int j = 0; j <
         * fields.getLength(); j++) { Element f = (Element) fields.item(j);
         * int num = Integer.parseInt(f.getAttribute("num"));
         * DataElementType datatype =
         * DataElementType.valueOf(f.getAttribute("datatype")); int length =
         * 0, decimallength = 0; if (f.getAttribute("length").length() > 0)
         * { length = Integer.parseInt(f.getAttribute("length")); } if
         * (f.getAttribute("decimallength").length() > 0) { decimallength =
         * Integer.parseInt(f.getAttribute("decimallength")); } String
         * description = elem.getAttribute("description"); parseMap.put(num,
         * new DataElementParseInfo(datatype, length, description,
         * decimallength)); } mfact.setParseMap(messageType, parseMap);
         */

        HashMap<Integer, DataElementParseInfoList> parseMap = new HashMap<Integer, DataElementParseInfoList>();
        for (int j = 0; j < fields.getLength(); j++) {
            Element f = (Element) fields.item(j);
            DataElementParseInfoList fieldList = new DataElementParseInfoList();
            int num = 0;
            if (f.getAttribute("num").length() > 0) {
                num = Integer.parseInt(f.getAttribute("num"));
            }
            DataElementType datatype = DataElementType.valueOf(f.getAttribute("datatype"));
            int length = 0, decimallength = 0;
            if (f.getAttribute("length").length() > 0) {
                length = Integer.parseInt(f.getAttribute("length"));
            }
            if (f.getAttribute("decimallength").length() > 0) {
                decimallength = Integer.parseInt(f.getAttribute("decimallength"));
            }
            String description = f.getAttribute("description");
            String repeatsStr = f.getAttribute("repeats");
            if (repeatsStr != null && repeatsStr.length() > 0) {
                int repeats = -1;
                try {
                    repeats = Integer.parseInt(repeatsStr);
                } catch (Exception e) {
                    log.error("parse: " + e.getMessage(), e);
                }
                fieldList.setRepeats(repeats);
            }

            NodeList subfields = f.getElementsByTagName("subfield");

            if (subfields != null && subfields.getLength() == 0) {
                // System.out.println(f+" have subfields "+subfields);
                fieldList.add(new DataElementParseInfo(datatype, length, description, decimallength));
            } else {
                for (int k = 0; k < subfields.getLength(); k++) {
                    Element subfield = (Element) subfields.item(k);
                    /*int snum = 0;
                    if(subfield.getAttribute("num").length()>0)
                    {
                       snum = Integer.parseInt(subfield
                          .getAttribute("num"));
                    }*/
                    DataElementType sdatatype = DataElementType.valueOf(subfield.getAttribute("datatype"));
                    int slength = 0, sdecimallength = 0;
                    if (subfield.getAttribute("length").length() > 0) {
                        slength = Integer.parseInt(subfield.getAttribute("length"));
                    }
                    if (subfield.getAttribute("decimallength").length() > 0) {
                        sdecimallength = Integer.parseInt(subfield.getAttribute("decimallength"));
                    }
                    String sdescription = subfield.getAttribute("description");
                    fieldList.add(new DataElementParseInfo(sdatatype, slength, sdescription, sdecimallength));
                }

            }
            parseMap.put(num, fieldList);
        }
        mfact.setParseMap(messageType, parseMap);
    }

}

From source file:com.runwaysdk.browser.JavascriptTestRunner.java

public static Test suite() throws Exception {
    // Read project.version
    Properties prop1 = new Properties();
    ClassLoader loader1 = Thread.currentThread().getContextClassLoader();
    InputStream stream1 = loader1.getResourceAsStream("avail-maven.properties");
    prop1.load(stream1);/*from ww  w. j  ava  2s. c o  m*/
    String projVer = prop1.getProperty("mvn.project.version");

    TestSuite suite = new TestSuite();

    int browserLoopIterationNumber = 0;

    System.out.println("Preparing to run cross-browser javascript unit tests.");
    long totalTime = System.currentTimeMillis();

    for (String browser : supportedBrowsers) {
        try {
            String browserDisplayName = String.valueOf(browser.charAt(1)).toUpperCase() + browser.substring(2);
            System.out.println("Opening " + browserDisplayName);

            TestSuite browserSuite = new TestSuite(browserDisplayName);

            selenium = new DefaultSelenium("localhost", 4444, browser,
                    "http://localhost:8080/runwaysdk-browser-test-" + projVer + "/");
            selenium.start();
            isSeleniumStarted = true;
            selenium.open("MasterTestLauncher.jsp");

            //          selenium.waitForCondition("selenium.browserbot.getCurrentWindow().document.getElementById('all');", "6000");

            selenium.setTimeout("1000");

            System.out.println("Running tests...");
            long time = System.currentTimeMillis();

            selenium.click("all");
            selenium.waitForCondition(
                    "!selenium.browserbot.getCurrentWindow().com.runwaysdk.test.TestFramework.getY().Test.Runner.isRunning()",
                    Integer.toString(MAXIMUM_TOTAL_TEST_DURATION * 1000));

            time = System.currentTimeMillis() - time; // elapsed time in milis
            if (time < 1000) {
                System.out.println("Tests completed in " + time + " miliseconds.");
            } else if (time < 60000) {
                time = time / 1000;
                System.out.println("Tests completed in " + time + " seconds.");
            } else if (time < 3600000) {
                time = time / (1000 * 60);
                System.out.println("Tests completed in " + time + " minutes.");
            } else {
                time = time / (1000 * 60 * 60);
                System.out.println("Tests completed in " + time + " hours.");
            }

            //System.out.println(selenium.getEval("\n\n" + "selenium.browserbot.getCurrentWindow().com.runwaysdk.test.TestFramework.getY().Test.Runner.getResults(selenium.browserbot.getCurrentWindow().com.runwaysdk.test.TestFramework.getY().Test.Format.XML);") + "\n\n");

            // tests are done running, get the results and display them through junit

            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
            DocumentBuilder db = dbf.newDocumentBuilder();

            String resultsJunitXML = selenium.getEval(
                    "selenium.browserbot.getCurrentWindow().com.runwaysdk.test.TestFramework.getY().Test.Runner.getResults(selenium.browserbot.getCurrentWindow().com.runwaysdk.test.TestFramework.getY().Test.Format.JUnitXML);");
            String resultsYUITestXML = selenium.getEval(
                    "selenium.browserbot.getCurrentWindow().com.runwaysdk.test.TestFramework.getY().Test.Runner.getResults(selenium.browserbot.getCurrentWindow().com.runwaysdk.test.TestFramework.getY().Test.Format.XML);");

            // Write the test output to xml
            Properties prop = new Properties();
            ClassLoader loader = Thread.currentThread().getContextClassLoader();
            InputStream stream = loader.getResourceAsStream("default/common/terraframe.properties");
            prop.load(stream);
            String basedir = prop.getProperty("local.root");

            System.out.println("Writing javascript test results to '" + basedir
                    + "/target/surefire-reports/TEST-com.runwaysdk.browser.JavascriptTestRunner-"
                    + browserDisplayName + ".xml.");
            File dir = new File(basedir + "/target/surefire-reports");
            dir.mkdirs();
            final OutputStream os = new FileOutputStream(dir.getAbsolutePath()
                    + "/TEST-com.runwaysdk.browser.JavascriptTestRunner-" + browserDisplayName + ".xml", false);
            final PrintStream printStream = new PrintStream(os);
            printStream.print(resultsJunitXML);
            printStream.close();

            InputSource in = new InputSource();
            in.setCharacterStream(new StringReader(resultsYUITestXML));
            Element doc = db.parse(in).getDocumentElement();

            NodeList suiteList = doc.getElementsByTagName("testsuite");

            if (suiteList == null || suiteList.getLength() == 0) {
                //suiteList = (NodeList)doc;
                throw new Exception("Unable to find any suites!");
            }

            String uniqueWhitespace = "";
            for (int j = 0; j < browserLoopIterationNumber; j++) {
                uniqueWhitespace = uniqueWhitespace + " ";
            }

            for (int i = 0; i < suiteList.getLength(); i++) //looping through test suites
            {
                Node n = suiteList.item(i);
                TestSuite s = new TestSuite();
                NamedNodeMap nAttrMap = n.getAttributes();

                s.setName(nAttrMap.getNamedItem("name").getNodeValue() + uniqueWhitespace);

                NodeList testCaseList = ((Element) n).getElementsByTagName("testcase");
                for (int j = 0; j < testCaseList.getLength(); j++) // looping through test cases
                {
                    Node x = testCaseList.item(j);
                    NamedNodeMap xAttrMap = x.getAttributes();

                    TestSuite testCaseSuite = new TestSuite();
                    testCaseSuite.setName(xAttrMap.getNamedItem("name").getNodeValue() + uniqueWhitespace);

                    NodeList testList = ((Element) x).getElementsByTagName("test");
                    for (int k = 0; k < testList.getLength(); k++) // looping through tests
                    {
                        Node testNode = testList.item(k);
                        NamedNodeMap testAttrMap = testNode.getAttributes();

                        Test t = new GeneratedTest(
                                testAttrMap.getNamedItem("name").getNodeValue() + uniqueWhitespace);

                        if (testAttrMap.getNamedItem("result").getNodeValue().equals("fail")) {
                            ((GeneratedTest) t).testFailMessage = testAttrMap.getNamedItem("message")
                                    .getNodeValue();
                        }

                        testCaseSuite.addTest(t);
                    }

                    s.addTest(testCaseSuite);
                }

                browserSuite.addTest(s);
            }

            //suite.addTest(browserSuite);
            browserLoopIterationNumber++;
        } // end try
        catch (Exception e) {
            throw (e);
        } finally {
            if (isSeleniumStarted) {
                selenium.stop();
                isSeleniumStarted = false;
            }
        }
    } // end for loop on browsers

    totalTime = System.currentTimeMillis() - totalTime; // elapsed time in milis
    if (totalTime < 1000) {
        System.out.println("Cross-browser javascript unit tests completed in " + totalTime + " miliseconds.");
    } else if (totalTime < 60000) {
        totalTime = totalTime / 1000;
        System.out.println("Cross-browser javascript unit tests completed in " + totalTime + " seconds.");
    } else if (totalTime < 3600000) {
        totalTime = totalTime / (1000 * 60);
        System.out.println("Cross-browser javascript unit tests completed in " + totalTime + " minutes.");
    } else {
        totalTime = totalTime / (1000 * 60 * 60);
        System.out.println("Cross-browser javascript unit tests completed in " + totalTime + " hours.");
    }

    return suite;
}

From source file:fll.xml.XMLUtils.java

/**
 * Check if an element describes an enumerated goal or not.
 * /*  ww w.j a va2s  . co m*/
 * @param element the goal element
 * @return if the element represents an enumerated goal
 */
public static boolean isEnumeratedGoal(final Element element) {
    if (!"goal".equals(element.getNodeName())) {
        // not a goal element
        return false;
    }

    final Iterator<Element> values = new NodelistElementCollectionAdapter(element.getElementsByTagName("value"))
            .iterator();
    return values.hasNext();
}

From source file:edu.harvard.i2b2.eclipse.plugins.query.utils.XmlUtil.java

public static String getXmlI2B2Type(XmlValueType xml) {
    Element rootElement = xml.getAny().get(0);
    // <name>PATIENTSET</name>
    NodeList pcElements = rootElement.getElementsByTagName("name");
    if (pcElements.getLength() == 0)
        return null;
    else {/* w w w .  j a v  a2  s. co  m*/

        return pcElements.item(0).getTextContent();
    }
}

From source file:com.ibm.bi.dml.conf.DMLConfig.java

/**
 * Method to update the string value of an element identified by tagname 
 * @param ele//from w  w  w. j  a v  a2  s  .c  om
 * @param tagName
 * @param newTextValue
 */
private static void setTextValue(Element element, String tagName, String newTextValue) {

    NodeList list = element.getElementsByTagName(tagName);
    if (list != null && list.getLength() > 0) {
        Element elem = (Element) list.item(0);
        elem.getFirstChild().setNodeValue(newTextValue);
    }
}

From source file:edu.harvard.i2b2.eclipse.plugins.workplace.util.XmlUtil.java

public static String getName(XmlValueType xml) {
    String name = null;/*from  w ww. j  a v  a2 s  .  co m*/
    Element rootElement = xml.getAny().get(0);
    NodeList nameElements = rootElement.getElementsByTagName("name");
    // Group templates dont have tag 'name'
    if (nameElements.getLength() == 0) {
        nameElements = rootElement.getElementsByTagNameNS("*", "panel");
        if (nameElements.getLength() == 0) {
            nameElements = rootElement.getElementsByTagName("query_name");
            if (nameElements.getLength() == 0) {
                // if we get to here and no name has been found then its a PDO.
                // return generically -- change to obs or event etc one level up.
                return "PDO";
            } else {
                name = nameElements.item(0).getTextContent();
            }
        } else {
            name = nameElements.item(0).getAttributes().getNamedItem("name").getNodeValue();
        }
        if (name != null)
            return name;
        // Default to ABC if we cant find a name at all.
        else
            return "ABC" + MessageUtil.getInstance().getTimestamp();
    }
    // append result_instance_id to PATIENT_COUNT_XML <name> to create unique name

    else if ((nameElements.item(0).getTextContent().equals("PATIENT_COUNT_XML"))) {
        NodeList resultElements = rootElement.getElementsByTagName("result_instance_id");
        if (resultElements.getLength() > 0) {
            String resultInstanceId = resultElements.item(0).getTextContent();
            return nameElements.item(0).getTextContent() + "_" + resultInstanceId;
        }
    }

    else if ((nameElements.item(0).getTextContent().equals("PATIENTSET"))
            || (nameElements.item(0).getTextContent().equals("PATIENT_ENCOUNTER_SET"))
            || (nameElements.item(0).getTextContent().equals("PATIENT_GENDER_COUNT_XML"))
            || (nameElements.item(0).getTextContent().equals("PATIENT_AGE_COUNT_XML"))
            || (nameElements.item(0).getTextContent().equals("PATIENT_VITALSTATUS_COUNT_XML"))
            || (nameElements.item(0).getTextContent().equals("PATIENT_RACE_COUNT_XML"))) {
        NodeList resultElements = rootElement.getElementsByTagName("description");
        if (resultElements.getLength() > 0) {
            return resultElements.item(0).getTextContent();
        }
    }

    return nameElements.item(0).getTextContent();
}

From source file:edu.harvard.i2b2.eclipse.plugins.query.utils.XmlUtil.java

public static String getName(XmlValueType xml) {
    String name = null;//from   ww w  . j  av  a  2  s.  c  om
    Element rootElement = xml.getAny().get(0);
    NodeList nameElements = rootElement.getElementsByTagName("name");
    // Group templates dont have tag 'name'
    if (nameElements.getLength() == 0) {
        nameElements = rootElement.getElementsByTagNameNS("*", "panel");
        if (nameElements.getLength() == 0) {
            nameElements = rootElement.getElementsByTagName("query_name");
            if (nameElements.getLength() == 0) {
                // if we get to here and no name has been found then its a PDO.
                // return generically -- change to obs or event etc one level up.
                return "PDO";
            } else {
                name = nameElements.item(0).getTextContent();
            }
        } else {
            name = nameElements.item(0).getAttributes().getNamedItem("name").getNodeValue();
        }
        if (name != null)
            return name;
        // Default to ABC if we cant find a name at all.
        else
            return "ABC";//+MessageUtil.getInstance().getTimestamp();
    }
    // append result_instance_id to PATIENT_COUNT_XML <name> to create unique name

    else if ((nameElements.item(0).getTextContent().equals("PATIENT_COUNT_XML"))) {
        NodeList resultElements = rootElement.getElementsByTagName("result_instance_id");
        if (resultElements.getLength() > 0) {
            String resultInstanceId = resultElements.item(0).getTextContent();
            return nameElements.item(0).getTextContent() + "_" + resultInstanceId;
        }
    }

    else if ((nameElements.item(0).getTextContent().equals("PATIENTSET"))
            || (nameElements.item(0).getTextContent().equals("PATIENT_ENCOUNTER_SET"))
            || (nameElements.item(0).getTextContent().equals("PATIENT_GENDER_COUNT_XML"))
            || (nameElements.item(0).getTextContent().equals("PATIENT_AGE_COUNT_XML"))
            || (nameElements.item(0).getTextContent().equals("PATIENT_VITALSTATUS_COUNT_XML"))
            || (nameElements.item(0).getTextContent().equals("PATIENT_RACE_COUNT_XML"))) {
        NodeList resultElements = rootElement.getElementsByTagName("description");
        if (resultElements.getLength() > 0) {
            return resultElements.item(0).getTextContent();
        }
    }

    return nameElements.item(0).getTextContent();
}

From source file:com.microsoft.windowsazure.messaging.Registration.java

/**
 * Get the node value/*w  w w. j a  v a2  s  .  c om*/
 * @param element The element to read
 * @param node   The node name to retrieve
 * @return String object
 */
protected static String getNodeValue(Element element, String node) {
    NodeList nodes = element.getElementsByTagName(node);
    if (nodes.getLength() > 0) {
        return nodes.item(0).getTextContent();
    } else {
        return null;
    }
}

From source file:edu.harvard.i2b2.eclipse.plugins.query.utils.XmlUtil.java

public static Boolean hasPatientSetTag(XmlValueType xml) {
    Element rootElement = xml.getAny().get(0);
    // <name>PATIENTSET</name>
    NodeList psElements = rootElement.getElementsByTagName("name");
    if (psElements.getLength() == 0)
        return false;
    else {/*from   w  w w  .j  av a 2  s. co  m*/
        Boolean result = false;
        for (int i = 0; i < psElements.getLength(); i++) {
            String resultTypeName = psElements.item(i).getTextContent();
            //      log.info(resultTypeName);
            if (resultTypeName.equals("PATIENTSET")) {
                result = true;
            }
        }
        return result;
    }
}