Example usage for org.w3c.dom Element getFirstChild

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

Introduction

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

Prototype

public Node getFirstChild();

Source Link

Document

The first child of this node.

Usage

From source file:com.hp.application.automation.tools.results.RunResultRecorder.java

private static void addTimeRanges(TimeRangeResult transactionTimeRange, Element slaRuleElement) {
    Node timeRangeNode;//from   w ww  .ja  v a2  s.  co  m
    Element timeRangeElement;
    NodeList timeRanges = slaRuleElement.getElementsByTagName("TimeRangeInfo");

    //Taking the goal per transaction -
    double generalGoalValue = Double
            .parseDouble(((Element) timeRanges.item(0)).getAttribute(SLA_GOAL_VALUE_LABEL));
    transactionTimeRange.setGoalValue(generalGoalValue);

    for (int k = 0; k < timeRanges.getLength(); k++) {
        timeRangeNode = timeRanges.item(k);
        timeRangeElement = (Element) timeRangeNode;
        double actualValue = Double.parseDouble(timeRangeElement.getAttribute(SLA_ACTUAL_VALUE_LABEL));
        double goalValue = Double.parseDouble(timeRangeElement.getAttribute(SLA_GOAL_VALUE_LABEL));
        int loadValue = Integer.parseInt(timeRangeElement.getAttribute("LoadValue"));
        double startTime = Double.parseDouble(timeRangeElement.getAttribute("StartTime"));
        double endTIme = Double.parseDouble(timeRangeElement.getAttribute("EndTime"));
        transactionTimeRange.incActualValue(actualValue);
        LrTest.SLA_STATUS slaStatus = LrTest.SLA_STATUS
                .checkStatus(timeRangeElement.getFirstChild().getTextContent());
        TimeRange timeRange = new TimeRange(actualValue, goalValue, slaStatus, loadValue, startTime, endTIme);
        transactionTimeRange.getTimeRanges().add(timeRange);
    }
}

From source file:com.enonic.vertical.engine.handlers.PageTemplateHandler.java

public int copyPageTemplate(User user, PageTemplateKey pageTemplateKey) throws VerticalCopyException {

    Document doc = getPageTemplate(pageTemplateKey).getAsDOMDocument();
    Element root = doc.getDocumentElement();
    Element pagetemplateElem = XMLTool.getFirstElement(root);
    int newPageTemplateKey = -1;
    if (pagetemplateElem != null) {
        // rename copy
        Map translationMap = languageMap.getTranslationMap(user.getSelectedLanguageCode());
        Element nameElem = XMLTool.getElement(pagetemplateElem, "name");
        Text nameNode = (Text) nameElem.getFirstChild();
        nameNode.setData(nameNode.getData() + " (" + translationMap.get("%txtCopy%") + ")");

        // remove old parameter keys and save position
        Map<String, String> paramKeyMap = new HashMap<String, String>();
        Element[] paramElems = XMLTool
                .getElements(XMLTool.getElement(pagetemplateElem, "pagetemplateparameters"));
        for (int i = 0; i < paramElems.length; i++) {
            String key = paramElems[i].getAttribute("key");
            paramKeyMap.put(key, "_" + i);
            paramElems[i].removeAttribute("key");
        }//from w w  w.j av a2 s.  co  m

        // replace old parameter keys with saved position
        Element[] contentobjectElems = XMLTool
                .getElements(XMLTool.getElement(pagetemplateElem, "contentobjects"));
        for (Element contentobjectElem : contentobjectElems) {
            String key = contentobjectElem.getAttribute("parameterkey");
            contentobjectElem.setAttribute("parameterkey", paramKeyMap.get(key));
        }

        try {
            int[] keys = createPageTemplate(null, doc, false);
            if (keys != null && keys.length == 1) {
                newPageTemplateKey = keys[0];
            }
        } catch (VerticalCreateException vce) {
            String message = "Failed to create copy of framework: %t";
            VerticalEngineLogger.errorCopy(this.getClass(), 0, message, vce);
        }
    }
    return newPageTemplateKey;
}

From source file:com.aliyun.odps.conf.Configuration.java

private void loadResource(Properties properties, Object name, boolean quiet) {
    try {/*from  w w  w .  ja  va2 s . c o  m*/
        DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
        // ignore all comments inside the xml file
        docBuilderFactory.setIgnoringComments(true);

        // allow includes in the xml file
        docBuilderFactory.setNamespaceAware(true);
        try {
            docBuilderFactory.setXIncludeAware(true);
        } catch (UnsupportedOperationException e) {
            LOG.error("Failed to set setXIncludeAware(true) for parser " + docBuilderFactory + ":" + e, e);
        }
        DocumentBuilder builder = docBuilderFactory.newDocumentBuilder();
        Document doc = null;
        Element root = null;

        if (name instanceof URL) { // an URL resource
            URL url = (URL) name;
            if (url != null) {
                if (!quiet) {
                    LOG.info("parsing " + url);
                }
                doc = builder.parse(url.toString());
            }
        } else if (name instanceof String) { // a CLASSPATH resource
            URL url = getResource((String) name);
            if (url != null) {
                if (!quiet) {
                    LOG.info("parsing " + url);
                }
                doc = builder.parse(url.toString());
            }
        } else if (name instanceof InputStream) {
            try {
                doc = builder.parse((InputStream) name);
            } finally {
                ((InputStream) name).close();
            }
        } else if (name instanceof Element) {
            root = (Element) name;
        }

        if (doc == null && root == null) {
            if (quiet) {
                return;
            }
            throw new RuntimeException(name + " not found");
        }

        if (root == null) {
            root = doc.getDocumentElement();
        }
        if (!"configuration".equals(root.getTagName())) {
            LOG.fatal("bad conf file: top-level element not <configuration>");
        }
        NodeList props = root.getChildNodes();
        for (int i = 0; i < props.getLength(); i++) {
            Node propNode = props.item(i);
            if (!(propNode instanceof Element)) {
                continue;
            }
            Element prop = (Element) propNode;
            if ("configuration".equals(prop.getTagName())) {
                loadResource(properties, prop, quiet);
                continue;
            }
            if (!"property".equals(prop.getTagName())) {
                LOG.warn("bad conf file: element not <property>");
            }
            NodeList fields = prop.getChildNodes();
            String attr = null;
            String value = null;
            boolean finalParameter = false;
            for (int j = 0; j < fields.getLength(); j++) {
                Node fieldNode = fields.item(j);
                if (!(fieldNode instanceof Element)) {
                    continue;
                }
                Element field = (Element) fieldNode;
                if ("name".equals(field.getTagName()) && field.hasChildNodes()) {
                    attr = ((Text) field.getFirstChild()).getData().trim();
                }
                if ("value".equals(field.getTagName()) && field.hasChildNodes()) {
                    value = ((Text) field.getFirstChild()).getData();
                }
                if ("final".equals(field.getTagName()) && field.hasChildNodes()) {
                    finalParameter = "true".equals(((Text) field.getFirstChild()).getData());
                }
            }

            // Ignore this parameter if it has already been marked as
            // 'final'
            if (attr != null && value != null) {
                if (!finalParameters.contains(attr)) {
                    properties.setProperty(attr, value);
                    if (finalParameter) {
                        finalParameters.add(attr);
                    }
                } else {
                    LOG.warn(name + ":a attempt to override final parameter: " + attr + ";  Ignoring.");
                }
            }
        }

    } catch (IOException e) {
        LOG.fatal("error parsing conf file: " + e);
        throw new RuntimeException(e);
    } catch (DOMException e) {
        LOG.fatal("error parsing conf file: " + e);
        throw new RuntimeException(e);
    } catch (SAXException e) {
        LOG.fatal("error parsing conf file: " + e);
        throw new RuntimeException(e);
    } catch (ParserConfigurationException e) {
        LOG.fatal("error parsing conf file: " + e);
        throw new RuntimeException(e);
    }
}

From source file:com.amalto.workbench.utils.XSDAnnotationsStructure.java

private boolean setAppInfo(String type, String value, boolean overwrite) {
    if (value == null || value.length() == 0) {
        boolean wasRemoved = removeAppInfos(type);
        hasChanged = hasChanged | wasRemoved;
        return wasRemoved;
    }/*from  www  . jav  a  2 s . co m*/

    if (!overwrite) {
        return addAppInfo(type, value);
    }

    Element ann = getAppInfo(type);
    if (ann == null) {
        return addAppInfo(type, value);
    }

    // change existing one if
    // first make sure the annotation is not brain new and is attached
    if (declaration.getAnnotation() == null) {
        declaration.setAnnotation(annotation);
    }
    // then create the appinfo
    String existingText = ann.getFirstChild().getNodeValue();
    if (!value.equals(existingText)) {
        ann.getFirstChild().setNodeValue(value);
        hasChanged = true;
        return true;
    }
    return false;
}

From source file:com.amalto.workbench.utils.XSDAnnotationsStructure.java

public boolean setDocumentation(String value) {
    if (value == null) {
        boolean wasRemoved = removeDocumentation();
        hasChanged = hasChanged | wasRemoved;
        return wasRemoved;
    }/*  w w  w  .j  av  a  2 s. c om*/

    Element documentation = getDocumentationElement();
    if (documentation == null) {
        return addDocumentation(value);
    }

    // change existing one if
    // first make sure the annotation is not brain new and is attached
    if (declaration.getAnnotation() == null) {
        declaration.setAnnotation(annotation);
    }
    // then update the documentation
    String existingText = documentation.getFirstChild().getNodeValue();
    if (!value.equals(existingText)) {
        documentation.getFirstChild().setNodeValue(value);
        hasChanged = true;
        return true;
    }
    return false;
}

From source file:com.enonic.vertical.adminweb.AdminHandlerBaseServlet.java

protected Document applyChangesInAccessRights(Document docExistingAccessRights,
        Map<String, ExtendedMap> removedAccessRights, Map<String, ExtendedMap> modifiedAccessRights,
        Map<String, ExtendedMap> addedAccessRights) {

    // We have to make a clone of this hashtable, because we may have to remove some elements
    // and we don't want to affect this on the original hashtable.
    addedAccessRights = new HashMap<String, ExtendedMap>(addedAccessRights);

    //("removedAccessRights = " + removedAccessRights);
    //("modifiedAccessRights = " + modifiedAccessRights);
    //("addedAccessRights = " + addedAccessRights);

    Element elExistingAccessRights = docExistingAccessRights.getDocumentElement();

    //("antall accessrights: " + elExistingAccessRights.getChildNodes().getLength());
    // Loop thru existing accessrights and check if there is anyone to remove or modify
    Element curAccessRight = (Element) elExistingAccessRights.getFirstChild();
    while (curAccessRight != null) {

        String groupKey = curAccessRight.getAttribute("groupkey");
        //("checking accessright, groupkey = " + groupKey);

        boolean remove = removedAccessRights.containsKey(groupKey);
        boolean modify = modifiedAccessRights.containsKey(groupKey);
        boolean add = addedAccessRights.containsKey(groupKey);
        boolean overwrite = (modify || add);

        // Remove accessright
        if (remove) {

            //("removing accessright, groupkey = " + groupKey);
            curAccessRight = XMLTool.removeChildFromParent(elExistingAccessRights, curAccessRight);
        }//from   ww  w.j av a 2s  .c  om
        // Overwrite accessright
        else if (overwrite) {

            ExtendedMap params;
            if (modify) {
                params = modifiedAccessRights.get(groupKey);
                //("modifying/overwriting accessright, groupkey = " + groupKey);
            } else // add == true:
            {
                params = addedAccessRights.get(groupKey);
                //("adding/overwriting accessright, groupkey = " + groupKey);
            }

            Document docNewAccessRight = XMLTool.createDocument("foo");
            Element elNewAccessRight = buildAccessRightElement(docNewAccessRight,
                    docNewAccessRight.getDocumentElement(), groupKey, params);

            Element imported = (Element) docExistingAccessRights.importNode(elNewAccessRight, true);
            elExistingAccessRights.replaceChild(imported, curAccessRight);
            curAccessRight = imported;

            // Hvis vi overskriver eksisterende rettighet i stedet for  legge til, fordi den finnes fra fr
            // m vi fjerne rettigheten fra addedAccessRights, slik at vi ikke legger til den to ganger.
            if (add) {
                //("Found an accessright that we wanted to add, that existed - we overwrite it
                // inseated, and removes the groupkey ("+groupKey+")from the addAccessRights hashtable so that it
                // want be added later");
                addedAccessRights.remove(groupKey);
            }

            //
            curAccessRight = (Element) curAccessRight.getNextSibling();
        } else {
            curAccessRight = (Element) curAccessRight.getNextSibling();
        }
    }
    // Add new accessrights
    for (Object addedAccessRightKey : addedAccessRights.keySet()) {
        String currentGroupKey = (String) addedAccessRightKey;

        //("adding new accessright, groupkey = " + currentGroupKey);

        ExtendedMap params = addedAccessRights.get(currentGroupKey);
        Document docNewAccessRight = XMLTool.createDocument("foo");
        Element elNewAccessRight = buildAccessRightElement(docNewAccessRight,
                docNewAccessRight.getDocumentElement(), currentGroupKey, params);

        elExistingAccessRights.appendChild(docExistingAccessRights.importNode(elNewAccessRight, true));
    }

    return docExistingAccessRights;
}

From source file:it.cnr.icar.eric.server.profile.ws.wsdl.cataloger.WSDLCatalogerEngine.java

private void processPortType(Element portTypeElement) throws CatalogingException {
    try {/*ww  w  .  ja  v a2  s. c  o m*/
        String id = getPortTypeId(portTypeElement);

        if (idToWSDLMap.containsKey(id)) {
            return;
        }

        //Create a RIM ExtrinsicObject instance for wsdl portType 
        ExtrinsicObjectType ebExtrinsicObjectType = bu.rimFac.createExtrinsicObjectType();
        bu.addSlotsToRegistryObject(ebExtrinsicObjectType, dontVersionSlotsMap);
        idToRIMMap.put(id, ebExtrinsicObjectType);
        idToWSDLMap.put(id, portTypeElement);

        //Set id
        ebExtrinsicObjectType.setId(id);

        //Set name
        String nameStr = wsdlDocument.getAttribute(portTypeElement, WSDLConstants.ATTR_NAME);
        ebExtrinsicObjectType.setName(bu.getName(nameStr));

        //Set description
        Element docElement = wsdlDocument.getElement(portTypeElement, WSDLConstants.QNAME_DOCUMENTATION);
        if (docElement != null) {
            String docStr = docElement.getFirstChild().getNodeValue();
            ebExtrinsicObjectType.setDescription(bu.getDescription(docStr));
        }

        catalogTargetNamespace(ebExtrinsicObjectType);

        //Add wsdl Service Classification
        //??Update spec to say classification is also required for consistency with WSDL Service and Port mapping.
        ebExtrinsicObjectType.setObjectType(CanonicalConstants.CANONICAL_OBJECT_TYPE_ID_WSDL_PORT_TYPE);
        bu.addClassificationToRegistryObject(ebExtrinsicObjectType,
                CanonicalConstants.CANONICAL_OBJECT_TYPE_ID_WSDL_PORT_TYPE);

        ebExtrinsicObjectType.setMimeType("text/xml"); //Add to spec??

    } catch (CatalogingException e) {
        throw e;
    } catch (Exception e) {
        throw new CatalogingException(e);
    }
}

From source file:it.cnr.icar.eric.server.profile.ws.wsdl.cataloger.WSDLCatalogerEngine.java

private void processService(Element serviceElement) throws CatalogingException {
    try {//from   w w  w  .  j a v a  2 s. c  o m
        String id = getServiceId(serviceElement);

        if (idToWSDLMap.containsKey(id)) {
            return;
        }
        //Create a RIM Service instances for service tag 
        ServiceType ebServiceType = bu.rimFac.createServiceType();
        bu.addSlotsToRegistryObject(ebServiceType, dontVersionSlotsMap);

        idToRIMMap.put(id, ebServiceType);
        idToWSDLMap.put(id, serviceElement);

        //Set id
        ebServiceType.setId(id);

        //Set name
        String nameStr = wsdlDocument.getAttribute(serviceElement, WSDLConstants.ATTR_NAME);
        ebServiceType.setName(bu.getName(nameStr));

        //Set description
        Element docElement = wsdlDocument.getElement(serviceElement, WSDLConstants.QNAME_DOCUMENTATION);
        if (docElement != null) {
            String docStr = docElement.getFirstChild().getNodeValue();
            ebServiceType.setDescription(bu.getDescription(docStr));
        }

        catalogTargetNamespace(ebServiceType);

        //Add wsdl Service Classification
        bu.addClassificationToRegistryObject(ebServiceType,
                CanonicalConstants.CANONICAL_OBJECT_TYPE_ID_WSDL_SERVICE);

        //Now process the Port instances for the Service

        List<?> portElements = wsdlDocument.getRequiredElements(serviceElement, WSDLConstants.QNAME_PORT);
        Iterator<?> portElementItr = portElements.iterator();
        while (portElementItr.hasNext()) {
            Element portElement = (Element) portElementItr.next();
            processPort(portElement);
            ServiceBindingType rimPort = (ServiceBindingType) idToRIMMap.get(getPortId(portElement));
            if (rimPort != null) {
                ebServiceType.getServiceBinding().add(rimPort);
            }
        }
    } catch (Exception e) {
        throw new CatalogingException(e);
    }
}

From source file:io.fabric8.tooling.archetype.builder.ArchetypeBuilder.java

/**
 * Returns new or existing Element from <code>parent</code>
 *
 * @param doc/*w ww  .jav  a  2s  .c  om*/
 * @param parent
 * @param name
 * @param beforeNames
 * @return
 */
private Element replaceOrAddElement(Document doc, Element parent, String name, List<String> beforeNames) {
    NodeList children = parent.getChildNodes();
    List<Element> elements = new LinkedList<Element>();
    for (int cn = 0; cn < children.getLength(); cn++) {
        if (children.item(cn) instanceof Element && children.item(cn).getNodeName().equals(name)) {
            elements.add((Element) children.item(cn));
        }
    }
    Element element = null;
    if (elements.isEmpty()) {
        Element newElement = doc.createElement(name);
        Node first = null;
        for (String n : beforeNames) {
            first = findChild(parent, n);
            if (first != null) {
                break;
            }
        }

        Node node = null;
        if (first != null) {
            node = first;
        } else {
            node = parent.getFirstChild();
        }
        Text text = doc.createTextNode("\n" + indent);
        parent.insertBefore(text, node);
        parent.insertBefore(newElement, text);
        element = newElement;
    } else {
        element = elements.get(0);
    }

    return element;
}

From source file:com.enonic.vertical.engine.handlers.PageTemplateHandler.java

private Document createPageTemplatesDocument(Collection<PageTemplateEntity> pageTemplates) {
    Document doc = XMLTool.createDocument("pagetemplates");
    if (pageTemplates == null) {
        return doc;
    }//from w  ww  .j  a  v  a  2  s.c  om

    for (PageTemplateEntity pageTemplate : pageTemplates) {
        Element root = doc.getDocumentElement();
        Document ptdDoc = null;

        org.jdom.Document pageTemplateXmlDataAsJdomDoc = pageTemplate.getXmlData();
        if (pageTemplateXmlDataAsJdomDoc != null) {
            ptdDoc = XMLDocumentFactory.create(pageTemplateXmlDataAsJdomDoc).getAsDOMDocument();
            Element docElem = XMLTool.getElement(ptdDoc.getDocumentElement(), "document");
            if (docElem != null) {
                Node firstChild = docElem.getFirstChild();
                if (firstChild == null || firstChild.getNodeType() != Node.CDATA_SECTION_NODE) {
                    docElem.setAttribute("mode", "xhtml");
                }
            }
        }

        Element elem = XMLTool.createElement(doc, root, "pagetemplate");
        elem.setAttribute("key", String.valueOf(pageTemplate.getKey()));
        elem.setAttribute("menukey", String.valueOf(pageTemplate.getSite().getKey()));

        // sub-elements
        XMLTool.createElement(doc, elem, "name", pageTemplate.getName());
        XMLTool.createElement(doc, elem, "description", pageTemplate.getDescription());
        Element tmp = XMLTool.createElement(doc, elem, "stylesheet");
        tmp.setAttribute("stylesheetkey", pageTemplate.getStyleKey().toString());
        tmp.setAttribute("exists",
                resourceDao.getResourceFile(pageTemplate.getStyleKey()) != null ? "true" : "false");

        // element conobjects for pagetemplate
        Document contentobj = getPageTemplateCO(pageTemplate);
        elem.appendChild(doc.importNode(contentobj.getDocumentElement(), true));

        // get page template parameters
        Document ptpDoc = getPageTemplParams(pageTemplate);
        Node ptpNode = doc.importNode(ptpDoc.getDocumentElement(), true);
        elem.appendChild(ptpNode);

        // element timestamp
        XMLTool.createElement(doc, elem, "timestamp",
                CalendarUtil.formatTimestamp(pageTemplate.getTimestamp(), true));

        // element: pagetemplatedata
        if (ptdDoc != null) {
            elem.appendChild(doc.importNode(ptdDoc.getDocumentElement(), true));
        }

        // element: css
        ResourceKey cssKey = pageTemplate.getCssKey();
        if (cssKey != null) {
            tmp = XMLTool.createElement(doc, elem, "css");
            tmp.setAttribute("stylesheetkey", cssKey.toString());
            tmp.setAttribute("exists", resourceDao.getResourceFile(cssKey) != null ? "true" : "false");
        }

        // attribute: runAs & defaultRunAsUser
        elem.setAttribute("runAs", pageTemplate.getRunAs().toString());
        UserEntity defaultRunAsUser = pageTemplate.getSite().resolveDefaultRunAsUser();
        String defaultRunAsUserName = "NA";
        if (defaultRunAsUser != null) {
            defaultRunAsUserName = defaultRunAsUser.getDisplayName();
        }
        elem.setAttribute("defaultRunAsUser", defaultRunAsUserName);

        // attribute: type
        elem.setAttribute("type", pageTemplate.getType().getName());

        // contenttypes
        int[] contentTypes = getContentTypesByPageTemplate(pageTemplate);
        Document contentTypesDoc = getContentHandler().getContentTypesDocument(contentTypes);
        XMLTool.mergeDocuments(elem, contentTypesDoc, true);
    }

    return doc;
}