Example usage for org.w3c.dom Element getNodeName

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

Introduction

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

Prototype

public String getNodeName();

Source Link

Document

The name of this node, depending on its type; see the table above.

Usage

From source file:com.espertech.esper.client.ConfigurationParser.java

private static void handleDatabaseRefs(Configuration configuration, Element element) {
    String name = getRequiredAttribute(element, "name");
    ConfigurationDBRef configDBRef = new ConfigurationDBRef();
    configuration.addDatabaseReference(name, configDBRef);

    DOMElementIterator nodeIterator = new DOMElementIterator(element.getChildNodes());
    while (nodeIterator.hasNext()) {
        Element subElement = nodeIterator.next();
        if (subElement.getNodeName().equals("datasource-connection")) {
            String lookup = getRequiredAttribute(subElement, "context-lookup-name");
            Properties properties = handleProperties(subElement, "env-property");
            configDBRef.setDataSourceConnection(lookup, properties);
        }/*from w  w  w  .java 2  s .  co m*/
        if (subElement.getNodeName().equals("datasourcefactory-connection")) {
            String className = getRequiredAttribute(subElement, "class-name");
            Properties properties = handleProperties(subElement, "env-property");
            configDBRef.setDataSourceFactory(properties, className);
        } else if (subElement.getNodeName().equals("drivermanager-connection")) {
            String className = getRequiredAttribute(subElement, "class-name");
            String url = getRequiredAttribute(subElement, "url");
            String userName = getRequiredAttribute(subElement, "user");
            String password = getRequiredAttribute(subElement, "password");
            Properties properties = handleProperties(subElement, "connection-arg");
            configDBRef.setDriverManagerConnection(className, url, userName, password, properties);
        } else if (subElement.getNodeName().equals("connection-lifecycle")) {
            String value = getRequiredAttribute(subElement, "value");
            configDBRef.setConnectionLifecycleEnum(
                    ConfigurationDBRef.ConnectionLifecycleEnum.valueOf(value.toUpperCase()));
        } else if (subElement.getNodeName().equals("connection-settings")) {
            if (subElement.getAttributes().getNamedItem("auto-commit") != null) {
                String autoCommit = subElement.getAttributes().getNamedItem("auto-commit").getTextContent();
                configDBRef.setConnectionAutoCommit(Boolean.parseBoolean(autoCommit));
            }
            if (subElement.getAttributes().getNamedItem("transaction-isolation") != null) {
                String transactionIsolation = subElement.getAttributes().getNamedItem("transaction-isolation")
                        .getTextContent();
                configDBRef.setConnectionTransactionIsolation(Integer.parseInt(transactionIsolation));
            }
            if (subElement.getAttributes().getNamedItem("catalog") != null) {
                String catalog = subElement.getAttributes().getNamedItem("catalog").getTextContent();
                configDBRef.setConnectionCatalog(catalog);
            }
            if (subElement.getAttributes().getNamedItem("read-only") != null) {
                String readOnly = subElement.getAttributes().getNamedItem("read-only").getTextContent();
                configDBRef.setConnectionReadOnly(Boolean.parseBoolean(readOnly));
            }
        } else if (subElement.getNodeName().equals("column-change-case")) {
            String value = getRequiredAttribute(subElement, "value");
            ConfigurationDBRef.ColumnChangeCaseEnum parsed = ConfigurationDBRef.ColumnChangeCaseEnum
                    .valueOf(value.toUpperCase());
            configDBRef.setColumnChangeCase(parsed);
        } else if (subElement.getNodeName().equals("metadata-origin")) {
            String value = getRequiredAttribute(subElement, "value");
            ConfigurationDBRef.MetadataOriginEnum parsed = ConfigurationDBRef.MetadataOriginEnum
                    .valueOf(value.toUpperCase());
            configDBRef.setMetadataOrigin(parsed);
        } else if (subElement.getNodeName().equals("sql-types-mapping")) {
            String sqlType = getRequiredAttribute(subElement, "sql-type");
            String javaType = getRequiredAttribute(subElement, "java-type");
            Integer sqlTypeInt;
            try {
                sqlTypeInt = Integer.parseInt(sqlType);
            } catch (NumberFormatException ex) {
                throw new ConfigurationException(
                        "Error converting sql type '" + sqlType + "' to integer java.sql.Types constant");
            }
            configDBRef.addSqlTypesBinding(sqlTypeInt, javaType);
        } else if (subElement.getNodeName().equals("expiry-time-cache")) {
            String maxAge = getRequiredAttribute(subElement, "max-age-seconds");
            String purgeInterval = getRequiredAttribute(subElement, "purge-interval-seconds");
            ConfigurationCacheReferenceType refTypeEnum = ConfigurationCacheReferenceType.getDefault();
            if (subElement.getAttributes().getNamedItem("ref-type") != null) {
                String refType = subElement.getAttributes().getNamedItem("ref-type").getTextContent();
                refTypeEnum = ConfigurationCacheReferenceType.valueOf(refType.toUpperCase());
            }
            configDBRef.setExpiryTimeCache(Double.parseDouble(maxAge), Double.parseDouble(purgeInterval),
                    refTypeEnum);
        } else if (subElement.getNodeName().equals("lru-cache")) {
            String size = getRequiredAttribute(subElement, "size");
            configDBRef.setLRUCache(Integer.parseInt(size));
        }
    }
}

From source file:com.concursive.connect.cms.portal.dao.DashboardPortletList.java

/**
 * Take page design and build portlet list in memory only, preferences cannot
 * be saved on these portlets/*  w  ww. j  ava 2 s  .  com*/
 *
 * @param page
 * @throws Exception
 */
public void buildTemporaryList(DashboardPage page) throws Exception {
    XMLUtils xml = new XMLUtils(page.getXmlDesign());
    // Counter for number of instances on this page
    int falseIdCount = 0;
    // Pages have rows
    ArrayList rows = new ArrayList();
    XMLUtils.getAllChildren(xml.getDocumentElement(), "row", rows);
    // ERROR if no rows found
    if (rows.isEmpty()) {
        LOG.error("buildTemporaryList-> rows is empty");
    }
    Iterator i = rows.iterator();
    while (i.hasNext()) {
        Element rowEl = (Element) i.next();
        // Rows have columns
        ArrayList columns = new ArrayList();
        XMLUtils.getAllChildren(rowEl, "column", columns);
        // ERROR if no columns found
        if (columns.isEmpty()) {
            LOG.error("buildTemporaryList-> columns is empty");
        }
        Iterator j = columns.iterator();
        while (j.hasNext()) {
            Element columnEl = (Element) j.next();
            // Columns have portlets
            ArrayList portlets = new ArrayList();
            XMLUtils.getAllChildren(columnEl, "portlet", portlets);
            Iterator k = portlets.iterator();
            while (k.hasNext()) {
                Element portletEl = (Element) k.next();
                // Give the portlet an instance reference
                ++falseIdCount;
                // Set the portlet information
                DashboardPortlet portlet = new DashboardPortlet();
                portlet.setPageId(page.getId());
                portlet.setName(portletEl.getAttribute("name"));
                if (portletEl.hasAttribute("viewer")) {
                    portlet.setViewer(portletEl.getAttribute("viewer"));
                }
                if (portletEl.hasAttribute("class")) {
                    portlet.setHtmlClass(portletEl.getAttribute("class"));
                }
                if (portletEl.hasAttribute("cache")) {
                    portlet.setCacheTime(Integer.parseInt(portletEl.getAttribute("cache")));
                }
                if (portletEl.hasAttribute("timeout")) {
                    portlet.setTimeout(Integer.parseInt(portletEl.getAttribute("timeout")));
                }
                if (portletEl.hasAttribute("isSensitive")) {
                    portlet.setSensitive(portletEl.getAttribute("isSensitive"));
                }
                // This portlet can temporarily be used
                DashboardPortletItem portletItem = new DashboardPortletItem();
                portletItem.setName(portlet.getName());
                portletItem.setEnabled(true);
                // Portlets could have default preferences specified in the layout
                ArrayList<Element> preferences = new ArrayList<Element>();
                XMLUtils.getAllChildren(portletEl, preferences);
                Iterator l = preferences.iterator();
                while (l.hasNext()) {
                    Element preferenceEl = (Element) l.next();
                    if ("portlet-events".equals(preferenceEl.getNodeName())) {
                        // This is the registration of a generateDataEvent
                        ArrayList<Element> generateDataEvents = new ArrayList<Element>();
                        XMLUtils.getAllChildren(preferenceEl, "generates-data", generateDataEvents);
                        for (Element gde : generateDataEvents) {
                            portlet.addGenerateDataEvent(XMLUtils.getNodeText(gde));
                        }
                        // This is the registration of a consumeDataEvent
                        ArrayList<Element> consumeDataEvents = new ArrayList<Element>();
                        XMLUtils.getAllChildren(preferenceEl, "consumes-data", consumeDataEvents);
                        for (Element cde : consumeDataEvents) {
                            portlet.addConsumeDataEvent(XMLUtils.getNodeText(cde));
                        }
                        // This is the registration of generateSessionData
                        ArrayList<Element> generateSessionData = new ArrayList<Element>();
                        XMLUtils.getAllChildren(preferenceEl, "generates-session-data", generateSessionData);
                        for (Element cde : generateSessionData) {
                            portlet.addGenerateSessionData(XMLUtils.getNodeText(cde));
                        }
                        // This is the registration of consumeSessionData
                        ArrayList<Element> consumeSessionData = new ArrayList<Element>();
                        XMLUtils.getAllChildren(preferenceEl, "consumes-session-data", consumeSessionData);
                        for (Element cde : consumeSessionData) {
                            portlet.addConsumeSessionDataEvent(XMLUtils.getNodeText(cde));
                        }
                        // This is the registration of generateRequestData
                        ArrayList<Element> generateRequestData = new ArrayList<Element>();
                        XMLUtils.getAllChildren(preferenceEl, "generates-request-data", generateRequestData);
                        for (Element cde : generateRequestData) {
                            portlet.addGenerateRequestData(XMLUtils.getNodeText(cde));
                        }
                        // This is the registration of consumeRequestData
                        ArrayList<Element> consumeRequestData = new ArrayList<Element>();
                        XMLUtils.getAllChildren(preferenceEl, "consumes-request-data", consumeRequestData);
                        for (Element cde : consumeRequestData) {
                            portlet.addConsumeRequestDataEvent(XMLUtils.getNodeText(cde));
                        }
                    } else {
                        // Provide the default preference
                        DashboardPortletPrefs prefs = new DashboardPortletPrefs();
                        prefs.setName(preferenceEl.getNodeName());
                        // Check to see if the prefs are provided as an array
                        ArrayList<String> valueList = new ArrayList<String>();
                        ArrayList valueElements = new ArrayList();
                        XMLUtils.getAllChildren(preferenceEl, "value", valueElements);
                        if (valueElements.size() > 0) {
                            // There are <value> nodes
                            Iterator vi = valueElements.iterator();
                            while (vi.hasNext()) {
                                valueList.add(XMLUtils.getNodeText((Element) vi.next()));
                            }
                            prefs.setValues(valueList.toArray(new String[valueList.size()]));
                        } else {
                            // There is a single value
                            prefs.setValues(new String[] { XMLUtils.getNodeText(preferenceEl) });
                        }
                        portlet.addDefaultPreference(prefs.getName(), prefs);
                    }
                }
                portlet.setId(falseIdCount);
                this.add(portlet);
            }
        }
    }
}

From source file:com.espertech.esper.client.ConfigurationParser.java

private static void handleDefaultsThreading(Configuration configuration, Element parentElement) {
    String engineFairlockStr = getOptionalAttribute(parentElement, "engine-fairlock");
    if (engineFairlockStr != null) {
        boolean isEngineFairlock = Boolean.parseBoolean(engineFairlockStr);
        configuration.getEngineDefaults().getThreading().setEngineFairlock(isEngineFairlock);
    }/*from   ww w. j  a  v a 2s  .  c o  m*/

    DOMElementIterator nodeIterator = new DOMElementIterator(parentElement.getChildNodes());
    while (nodeIterator.hasNext()) {
        Element subElement = nodeIterator.next();
        if (subElement.getNodeName().equals("listener-dispatch")) {
            String preserveOrderText = getRequiredAttribute(subElement, "preserve-order");
            Boolean preserveOrder = Boolean.parseBoolean(preserveOrderText);
            configuration.getEngineDefaults().getThreading().setListenerDispatchPreserveOrder(preserveOrder);

            if (subElement.getAttributes().getNamedItem("timeout-msec") != null) {
                String timeoutMSecText = subElement.getAttributes().getNamedItem("timeout-msec")
                        .getTextContent();
                Long timeoutMSec = Long.parseLong(timeoutMSecText);
                configuration.getEngineDefaults().getThreading().setListenerDispatchTimeout(timeoutMSec);
            }

            if (subElement.getAttributes().getNamedItem("locking") != null) {
                String value = subElement.getAttributes().getNamedItem("locking").getTextContent();
                configuration.getEngineDefaults().getThreading().setListenerDispatchLocking(
                        ConfigurationEngineDefaults.Threading.Locking.valueOf(value.toUpperCase()));
            }
        }
        if (subElement.getNodeName().equals("insert-into-dispatch")) {
            String preserveOrderText = getRequiredAttribute(subElement, "preserve-order");
            Boolean preserveOrder = Boolean.parseBoolean(preserveOrderText);
            configuration.getEngineDefaults().getThreading().setInsertIntoDispatchPreserveOrder(preserveOrder);

            if (subElement.getAttributes().getNamedItem("timeout-msec") != null) {
                String timeoutMSecText = subElement.getAttributes().getNamedItem("timeout-msec")
                        .getTextContent();
                Long timeoutMSec = Long.parseLong(timeoutMSecText);
                configuration.getEngineDefaults().getThreading().setInsertIntoDispatchTimeout(timeoutMSec);
            }

            if (subElement.getAttributes().getNamedItem("locking") != null) {
                String value = subElement.getAttributes().getNamedItem("locking").getTextContent();
                configuration.getEngineDefaults().getThreading().setInsertIntoDispatchLocking(
                        ConfigurationEngineDefaults.Threading.Locking.valueOf(value.toUpperCase()));
            }
        }
        if (subElement.getNodeName().equals("internal-timer")) {
            String enabledText = getRequiredAttribute(subElement, "enabled");
            Boolean enabled = Boolean.parseBoolean(enabledText);
            String msecResolutionText = getRequiredAttribute(subElement, "msec-resolution");
            Long msecResolution = Long.parseLong(msecResolutionText);
            configuration.getEngineDefaults().getThreading().setInternalTimerEnabled(enabled);
            configuration.getEngineDefaults().getThreading().setInternalTimerMsecResolution(msecResolution);
        }
        if (subElement.getNodeName().equals("threadpool-inbound")) {
            ThreadPoolConfig result = parseThreadPoolConfig(subElement);
            configuration.getEngineDefaults().getThreading().setThreadPoolInbound(result.isEnabled());
            configuration.getEngineDefaults().getThreading()
                    .setThreadPoolInboundNumThreads(result.getNumThreads());
            configuration.getEngineDefaults().getThreading().setThreadPoolInboundCapacity(result.getCapacity());
        }
        if (subElement.getNodeName().equals("threadpool-outbound")) {
            ThreadPoolConfig result = parseThreadPoolConfig(subElement);
            configuration.getEngineDefaults().getThreading().setThreadPoolOutbound(result.isEnabled());
            configuration.getEngineDefaults().getThreading()
                    .setThreadPoolOutboundNumThreads(result.getNumThreads());
            configuration.getEngineDefaults().getThreading()
                    .setThreadPoolOutboundCapacity(result.getCapacity());
        }
        if (subElement.getNodeName().equals("threadpool-timerexec")) {
            ThreadPoolConfig result = parseThreadPoolConfig(subElement);
            configuration.getEngineDefaults().getThreading().setThreadPoolTimerExec(result.isEnabled());
            configuration.getEngineDefaults().getThreading()
                    .setThreadPoolTimerExecNumThreads(result.getNumThreads());
            configuration.getEngineDefaults().getThreading()
                    .setThreadPoolTimerExecCapacity(result.getCapacity());
        }
        if (subElement.getNodeName().equals("threadpool-routeexec")) {
            ThreadPoolConfig result = parseThreadPoolConfig(subElement);
            configuration.getEngineDefaults().getThreading().setThreadPoolRouteExec(result.isEnabled());
            configuration.getEngineDefaults().getThreading()
                    .setThreadPoolRouteExecNumThreads(result.getNumThreads());
            configuration.getEngineDefaults().getThreading()
                    .setThreadPoolRouteExecCapacity(result.getCapacity());
        }
    }
}

From source file:de.eorganization.hoopla.server.servlets.TemplateImportServlet.java

private void parseGoals(NodeList goalNodes, Decision newDecision) {
    newDecision.getGoals().clear();//from   w  ww. j  a  v a2 s. co  m

    for (int i = 0; i < goalNodes.getLength(); i++) {
        Node node = goalNodes.item(i);

        if (node instanceof Element) {
            Goal newGoal = new Goal();

            Element child = (Element) node;

            NodeList goalTagNodes = child.getChildNodes();
            for (int x = 0; x < goalTagNodes.getLength(); x++) {
                if (goalTagNodes.item(x) instanceof Element) {
                    Element goalTagElement = (Element) goalTagNodes.item(x);

                    if (goalTagElement.getNodeName().equals("name")) {
                        newGoal.setName(goalTagElement.getTextContent());
                    }

                    if (goalTagElement.getNodeName().equals("description")) {
                        newGoal.setDescription(goalTagElement.getTextContent());
                    }

                    if (goalTagElement.getNodeName().equals("goalType")) {
                        newGoal.setGoalType(GoalType.valueOf(goalTagElement.getTextContent()));
                    }

                    if (goalTagElement.getNodeName().equals("children")) {
                        newGoal.setChildren(parseCriteria(goalTagElement.getChildNodes()));
                    }

                    if (goalTagElement.getNodeName().equals("importanceChildren")) {
                        if (goalTagElement.hasChildNodes()) {
                            parseImportanceChildren(goalTagElement.getChildNodes(), newGoal);
                        }
                    }
                }
            }

            newDecision.addGoal(newGoal);
            log.info("Parsed gaol: " + newGoal.getName() + ", " + newGoal.getDescription() + ", "
                    + newGoal.getGoalType());
        }
    }
}

From source file:com.nominanuda.springmvc.MvcFrontControllerBeanDefinitionParser.java

private String generateHandler(Element element, ParserContext parserContext, String uriSpec) {
    for (MvcFrontControllerBeanDefinitionParserPlugin p : plugins) {
        if (p.supports(element)) {
            return p.generateHandler(element, parserContext, uriSpec);
        }//w  w w . ja  v a 2s.c  o  m
    }
    throw new IllegalStateException("could not find a suitable plugin for element " + element.getNodeName());
}

From source file:de.eorganization.hoopla.server.servlets.TemplateImportServlet.java

private Criterion createCriterion(Element criterionElement) {
    NodeList criterionTags = criterionElement.getChildNodes();
    Criterion newCriterion = new Criterion();

    for (int i = 0; i < criterionTags.getLength(); i++) {
        Node criterionTagNode = criterionTags.item(i);
        if (criterionTagNode instanceof Element) {
            Element criterionTagElement = (Element) criterionTagNode;

            if (criterionTagElement.getNodeName().equals("name")) {
                newCriterion.setName(criterionTagElement.getTextContent());
            }//from  w  w  w .ja  va 2s  . c o m

            if (criterionTagElement.getNodeName().equals("description")) {
                newCriterion.setDescription(criterionTagElement.getTextContent());
            }

            if (criterionTagElement.getNodeName().equals("type")) {
                if (criterionTagElement.getTextContent().equals("quantitative")) {
                    newCriterion.setType(CriterionType.QUANTITATIVE);
                } else if (criterionTagElement.getTextContent().equals("qualitative")) {
                    newCriterion.setType(CriterionType.QUALITATIVE);
                } else if (criterionTagElement.getTextContent().equals("benchmark")) {
                    newCriterion.setType(CriterionType.BENCHMARK);
                }
            }

            if (criterionTagElement.getNodeName().equals("weight")
                    && !criterionTagElement.getTextContent().equals("")) {
                try {
                    newCriterion.setWeight(Double.valueOf(criterionTagElement.getTextContent()));
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
            }

            if (criterionTagElement.getNodeName().equals("children")) {
                if (criterionTagElement.hasChildNodes()) {
                    NodeList criterionChildNodes = criterionTagElement.getChildNodes();
                    for (int x = 0; x < criterionChildNodes.getLength(); x++) {
                        Node criterionChildNode = criterionChildNodes.item(x);
                        if (criterionChildNode instanceof Element) {
                            newCriterion.addChild(createCriterion((Element) criterionChildNode));
                        }
                    }
                }
            }

            if (criterionTagElement.getNodeName().equals("importanceChildren")) {
                if (criterionTagElement.hasChildNodes()) {
                    parseImportanceChildren(criterionTagElement.getChildNodes(), newCriterion);
                }
            }
        }
    }
    log.info("Parsed Criterion: " + newCriterion.toString());
    return newCriterion;
}

From source file:com.orient.lib.xbmc.addons.Addon.java

boolean loadSettings(boolean bForce /* = false */) {
    if (settingsLoaded && !bForce)
        return true;

    // if (!hasSettings)
    // return false;

    String addonFileName = FilenameUtils.separatorsToSystem(props.path + "/resources/settings.xml");

    if (addonXmlDoc == null)
        addonXmlDoc = XMLUtils.getDocument(addonFileName);

    if (addonXmlDoc == null) {
        hasSettings = false;// w  ww . j  av  a2s  .  co  m
        return false;
    }

    // Make sure that the addon XML has the settings element
    Element settings = addonXmlDoc.getDocumentElement();

    if (settings == null || !settings.getNodeName().equals("settings")) {
        return false;
    }

    settingsFromXML(addonXmlDoc, true);
    // LoadUserSettings();

    settingsLoaded = true;
    return true;
}

From source file:com.espertech.esper.client.ConfigurationParser.java

private static void handleXMLDOM(String name, Configuration configuration, Element xmldomElement) {
    String rootElementName = getRequiredAttribute(xmldomElement, "root-element-name");
    String rootElementNamespace = getOptionalAttribute(xmldomElement, "root-element-namespace");
    String schemaResource = getOptionalAttribute(xmldomElement, "schema-resource");
    String schemaText = getOptionalAttribute(xmldomElement, "schema-text");
    String defaultNamespace = getOptionalAttribute(xmldomElement, "default-namespace");
    String resolvePropertiesAbsoluteStr = getOptionalAttribute(xmldomElement,
            "xpath-resolve-properties-absolute");
    String propertyExprXPathStr = getOptionalAttribute(xmldomElement, "xpath-property-expr");
    String eventSenderChecksRootStr = getOptionalAttribute(xmldomElement, "event-sender-validates-root");
    String xpathFunctionResolverClass = getOptionalAttribute(xmldomElement, "xpath-function-resolver");
    String xpathVariableResolverClass = getOptionalAttribute(xmldomElement, "xpath-variable-resolver");
    String autoFragmentStr = getOptionalAttribute(xmldomElement, "auto-fragment");
    String startTimestampProperty = getOptionalAttribute(xmldomElement, "start-timestamp-property-name");
    String endTimestampProperty = getOptionalAttribute(xmldomElement, "end-timestamp-property-name");

    ConfigurationEventTypeXMLDOM xmlDOMEventTypeDesc = new ConfigurationEventTypeXMLDOM();
    xmlDOMEventTypeDesc.setRootElementName(rootElementName);
    xmlDOMEventTypeDesc.setSchemaResource(schemaResource);
    xmlDOMEventTypeDesc.setSchemaText(schemaText);
    xmlDOMEventTypeDesc.setRootElementNamespace(rootElementNamespace);
    xmlDOMEventTypeDesc.setDefaultNamespace(defaultNamespace);
    xmlDOMEventTypeDesc.setXPathFunctionResolver(xpathFunctionResolverClass);
    xmlDOMEventTypeDesc.setXPathVariableResolver(xpathVariableResolverClass);
    xmlDOMEventTypeDesc.setStartTimestampPropertyName(startTimestampProperty);
    xmlDOMEventTypeDesc.setEndTimestampPropertyName(endTimestampProperty);
    if (resolvePropertiesAbsoluteStr != null) {
        xmlDOMEventTypeDesc//from  www . ja v a 2  s. c  o m
                .setXPathResolvePropertiesAbsolute(Boolean.parseBoolean(resolvePropertiesAbsoluteStr));
    }
    if (propertyExprXPathStr != null) {
        xmlDOMEventTypeDesc.setXPathPropertyExpr(Boolean.parseBoolean(propertyExprXPathStr));
    }
    if (eventSenderChecksRootStr != null) {
        xmlDOMEventTypeDesc.setEventSenderValidatesRoot(Boolean.parseBoolean(eventSenderChecksRootStr));
    }
    if (autoFragmentStr != null) {
        xmlDOMEventTypeDesc.setAutoFragment(Boolean.parseBoolean(autoFragmentStr));
    }
    configuration.addEventType(name, xmlDOMEventTypeDesc);

    DOMElementIterator propertyNodeIterator = new DOMElementIterator(xmldomElement.getChildNodes());
    while (propertyNodeIterator.hasNext()) {
        Element propertyElement = propertyNodeIterator.next();
        if (propertyElement.getNodeName().equals("namespace-prefix")) {
            String prefix = getRequiredAttribute(propertyElement, "prefix");
            String namespace = getRequiredAttribute(propertyElement, "namespace");
            xmlDOMEventTypeDesc.addNamespacePrefix(prefix, namespace);
        }
        if (propertyElement.getNodeName().equals("xpath-property")) {
            String propertyName = getRequiredAttribute(propertyElement, "property-name");
            String xPath = getRequiredAttribute(propertyElement, "xpath");
            String propertyType = getRequiredAttribute(propertyElement, "type");
            QName xpathConstantType;
            if (propertyType.toUpperCase().equals("NUMBER")) {
                xpathConstantType = XPathConstants.NUMBER;
            } else if (propertyType.toUpperCase().equals("STRING")) {
                xpathConstantType = XPathConstants.STRING;
            } else if (propertyType.toUpperCase().equals("BOOLEAN")) {
                xpathConstantType = XPathConstants.BOOLEAN;
            } else if (propertyType.toUpperCase().equals("NODE")) {
                xpathConstantType = XPathConstants.NODE;
            } else if (propertyType.toUpperCase().equals("NODESET")) {
                xpathConstantType = XPathConstants.NODESET;
            } else {
                throw new IllegalArgumentException("Invalid xpath property type for property '" + propertyName
                        + "' and type '" + propertyType + '\'');
            }

            String castToClass = null;
            if (propertyElement.getAttributes().getNamedItem("cast") != null) {
                castToClass = propertyElement.getAttributes().getNamedItem("cast").getTextContent();
            }

            String optionaleventTypeName = null;
            if (propertyElement.getAttributes().getNamedItem("event-type-name") != null) {
                optionaleventTypeName = propertyElement.getAttributes().getNamedItem("event-type-name")
                        .getTextContent();
            }

            if (optionaleventTypeName != null) {
                xmlDOMEventTypeDesc.addXPathPropertyFragment(propertyName, xPath, xpathConstantType,
                        optionaleventTypeName);
            } else {
                xmlDOMEventTypeDesc.addXPathProperty(propertyName, xPath, xpathConstantType, castToClass);
            }
        }
    }
}

From source file:org.eclipse.mylyn.internal.hudson.core.client.RestfulHudsonClient.java

public HudsonTestReport getTestReport(final HudsonModelJob job, final HudsonModelRun build,
        final IOperationMonitor monitor) throws HudsonException {
    return new HudsonOperation<HudsonTestReport>(client) {
        @Override//from w  w  w  . ja va2s. c  om
        public HudsonTestReport execute() throws IOException, HudsonException, JAXBException {
            //            String url = HudsonUrl.create(getBuildUrl(job, build) + "/testReport" + URL_API).exclude(
            //                  "/testResult/suite/case/stdout").exclude("/testResult/suite/case/stderr").toUrl();
            // need to scope retrieved data due to http://issues.hudson-ci.org/browse/HUDSON-7399
            String resultTree = "duration,failCount,passCount,skipCount,suites[cases[className,duration,errorDetails,errorStackTrace,failedSince,name,skipped,status],duration,name,stderr,stdout]"; //$NON-NLS-1$
            String aggregatedTree = "failCount,skipCount,totalCount,childReports[child[number,url],result[" //$NON-NLS-1$
                    + resultTree + "]]"; //$NON-NLS-1$
            String url = HudsonUrl.create(getBuildUrl(job, build) + "/testReport") //$NON-NLS-1$
                    .tree(resultTree + "," + aggregatedTree) //$NON-NLS-1$
                    .toUrl();
            HttpRequestBase request = createGetRequest(url);
            CommonHttpResponse response = execute(request, monitor);
            return processAndRelease(response, monitor);
        }

        @Override
        protected HudsonTestReport doProcess(CommonHttpResponse response, IOperationMonitor monitor)
                throws IOException, HudsonException, JAXBException {
            InputStream in = response.getResponseEntityAsStream();
            Element element = parse(in, response.getRequestPath());
            if ("surefireAggregatedReport".equals(element.getNodeName())) { //$NON-NLS-1$
                HudsonMavenReportersSurefireAggregatedReport report = unmarshal(element,
                        HudsonMavenReportersSurefireAggregatedReport.class);
                // unmarshal nested test results
                for (HudsonTasksTestAggregatedTestResultActionChildReport child : report.getChildReport()) {
                    child.setResult(RestfulHudsonClient.unmarshal((Node) child.getResult(),
                            HudsonTasksJunitTestResult.class));
                }
                return new HudsonTestReport(report);
            }
            return new HudsonTestReport(unmarshal(element, HudsonTasksJunitTestResult.class));
        }
    }.run();
}