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:it.unibas.spicy.persistence.xml.operators.ExportXSD.java

private void verifyMaxOccurs(Element element, INode node) {
    if (node.getFather() instanceof SetNode) {
        element.setAttribute("maxOccurs", "unbounded");
        if (logger.isDebugEnabled())
            logger.debug(" Attribute MaxOccours for element: " + element.getNodeName() + "- Node analyzed : "
                    + node.getLabel());/*from  w ww .  ja va2  s  .  c  o m*/
        if (logger.isDebugEnabled())
            logger.debug(" maxOccurs = " + element.getAttribute("maxOccurs"));
    }
}

From source file:com.github.dozermapper.core.loader.xml.XMLParser.java

private DozerBuilder.FieldMappingBuilder determineFieldMap(DozerBuilder.MappingBuilder definitionBuilder,
        Element ele) {//from  www  . j  ava2  s.c  o m
    DozerBuilder.FieldMappingBuilder fieldMapBuilder = definitionBuilder.field();

    NodeList nl = ele.getChildNodes();
    for (int i = 0; i < nl.getLength(); i++) {
        Node node = nl.item(i);
        if (node instanceof Element) {
            Element element = (Element) node;

            if (A_ELEMENT.equals(element.getNodeName())) {
                String name = getNodeValue(element);
                String type = getAttribute(element, TYPE_ATTRIBUTE);
                DozerBuilder.FieldDefinitionBuilder builder = fieldMapBuilder.a(name, type);
                parseField(element, builder);
            }
            if (B_ELEMENT.equals(element.getNodeName())) {
                String name = getNodeValue(element);
                String type = getAttribute(element, TYPE_ATTRIBUTE);
                DozerBuilder.FieldDefinitionBuilder builder = fieldMapBuilder.b(name, type);
                parseField(element, builder);
            }
        }
    }

    return fieldMapBuilder;
}

From source file:com.acrutiapps.browser.tasks.HistoryBookmarksImportTask.java

private String readAsXml(File file) {
    List<ContentValues> values = null;

    try {//from  w  ww. ja va2s.com

        publishProgress(1, 0, 0);

        values = new ArrayList<ContentValues>();

        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder;

        builder = factory.newDocumentBuilder();
        Document document = builder.parse(file);

        Element root = document.getDocumentElement();

        if ((root != null) && (root.getNodeName().equals("itemlist"))) {

            NodeList itemsList = root.getElementsByTagName("item");

            int progress = 0;
            int total = itemsList.getLength();

            Node item;
            NodeList record;
            Node dataItem;

            for (int i = 0; i < itemsList.getLength(); i++) {

                publishProgress(2, progress, total);

                item = itemsList.item(i);

                if (item != null) {
                    record = item.getChildNodes();

                    String title = null;
                    String url = null;
                    int visits = 0;
                    long visitedDate = -1;
                    long creationDate = -1;
                    int bookmark = 0;

                    for (int j = 0; j < record.getLength(); j++) {
                        dataItem = record.item(j);

                        if ((dataItem != null) && (dataItem.getNodeName() != null)) {

                            if (dataItem.getNodeName().equals("title")) {
                                title = URLDecoder.decode(getNodeContent(dataItem), "UTF-8");
                            } else if (dataItem.getNodeName().equals("url")) {
                                url = URLDecoder.decode(getNodeContent(dataItem), "UTF-8");
                            } else if (dataItem.getNodeName().equals("visits")) {
                                try {
                                    visits = Integer.parseInt(getNodeContent(dataItem));
                                } catch (Exception e) {
                                    visits = 0;
                                }
                            } else if (dataItem.getNodeName().equals("visiteddate")) {
                                try {
                                    visitedDate = Long.parseLong(getNodeContent(dataItem));
                                } catch (Exception e) {
                                    visitedDate = -1;
                                }
                            } else if (dataItem.getNodeName().equals("creationdate")) {
                                try {
                                    creationDate = Long.parseLong(getNodeContent(dataItem));
                                } catch (Exception e) {
                                    creationDate = -1;
                                }
                            } else if (dataItem.getNodeName().equals("bookmark")) {
                                try {
                                    bookmark = Integer.parseInt(getNodeContent(dataItem));
                                } catch (Exception e) {
                                    bookmark = 0;
                                }
                            }
                        }
                    }

                    values.add(createContentValues(title, url, visits, visitedDate, creationDate, bookmark));
                }

                progress++;
            }
        }

    } catch (ParserConfigurationException e) {
        return e.getMessage();
    } catch (SAXException e) {
        return e.getMessage();
    } catch (IOException e) {
        return e.getMessage();
    }

    if (values != null) {
        publishProgress(7, 0, 0);
        mContext.getContentResolver().bulkInsert(BookmarksProvider.BOOKMARKS_URI,
                values.toArray(new ContentValues[values.size()]));
    }

    return null;
}

From source file:com.github.dozermapper.core.loader.xml.XMLParser.java

private void parseFieldElements(Element element, DozerBuilder.FieldBuider fieldMapBuilder) {
    if (A_ELEMENT.equals(element.getNodeName())) {
        String name = getNodeValue(element);
        String type = getAttribute(element, TYPE_ATTRIBUTE);
        DozerBuilder.FieldDefinitionBuilder fieldBuilder = fieldMapBuilder.a(name, type);
        parseField(element, fieldBuilder);
    }//from  ww w  . ja  va2  s. c  o  m
    if (B_ELEMENT.equals(element.getNodeName())) {
        String name = getNodeValue(element);
        String type = getAttribute(element, TYPE_ATTRIBUTE);
        DozerBuilder.FieldDefinitionBuilder fieldBuilder = fieldMapBuilder.b(name, type);
        parseField(element, fieldBuilder);
    }
}

From source file:com.bstek.dorado.config.xml.DispatchableXmlParser.java

/**
 * ?XML?????/*from  w  ww  . j a v a2 s .c  om*/
 * 
 * @param element
 *            XML
 * @param context
 *            ?
 * @return ?
 * @throws Exception
 */
protected Object dispatchElement(String pathPrefix, Element child, ParseContext context) throws Exception {
    String path = PathUtils.concatPath(pathPrefix, child.getNodeName());
    XmlParser parser = subParsers.get(path);
    if (parser != null) {
        return parser.parse(child, context);
    } else {
        if (subParsers.hasConditionalParser) {
            for (Map.Entry<String, ParserInfo> entry : subParsers.subParserInfoMap.entrySet()) {
                String subParserPath = entry.getKey();
                ParserInfo parserInfo = entry.getValue();
                Map<String, String> fixedProperties = parserInfo.getFixedProperties();

                if (fixedProperties == null || !subParserPath.startsWith(path + '[')) {
                    continue;
                }

                boolean according = true;
                for (Map.Entry<String, String> propEntry : fixedProperties.entrySet()) {
                    if (!ObjectUtils.equals(child.getAttribute(propEntry.getKey()), propEntry.getValue())) {
                        according = false;
                        break;
                    }
                }

                if (according) {
                    parser = parserInfo.getParser();
                    return parser.parse(child, context);
                }
            }
        }

        parser = subParsers.get(PathUtils.concatPath(pathPrefix, WILDCARD));
        if (parser != null) {
            return parser.parse(child, context);
        } else {
            return ConfigUtils.IGNORE_VALUE;
        }
    }
}

From source file:com.streamsets.pipeline.stage.processor.xmlflattener.XMLFlatteningProcessor.java

private void processXML(Record record, boolean currentlyInRecord, XMLNode current, List<Record> recordList,
        Record originalRecord) throws DOMException {
    NodeList nodeList = current.element.getChildNodes();
    // Preprocess the child Nodes to avoid having to do it each time we hit a new element.
    if (currentlyInRecord) {
        Set<String> nodes = new HashSet<>();
        for (int i = 0; i < nodeList.getLength(); i++) {
            Node next = nodeList.item(i);
            if (next.getNodeType() == Node.ELEMENT_NODE) {
                Element e = (Element) next;
                // We already saw the same name once before. Add it to the current element's map.
                if (nodes.contains(e.getTagName()) && !current.nodeCounters.containsKey(e.getTagName())) {
                    current.nodeCounters.put(e.getTagName(), 0);
                } else {
                    nodes.add(e.getTagName());
                }/*from   w  w w.j a  va 2 s .  c om*/
            }
        }
    }
    for (int i = 0; i < nodeList.getLength(); i++) {
        Node next = nodeList.item(i);
        // Text node - add it as a field, if we are currently in a record
        if (currentlyInRecord && next.getNodeType() == Node.TEXT_NODE) {
            String text = ((Text) next).getWholeText();
            if (text.trim().isEmpty()) {
                continue;
            }
            // If we don't need to keep existing fields, just write
            // If we need to keep existing fields, overwrite only if the original field does not exist
            // If we need to keep existing fields, and the current record has the path, overwrite only if newFieldsOverwrite
            if (!keepExistingFields || !record.has(getPathPrefix() + current.prefix) || newFieldsOverwrite) {
                ensureOutputFieldExists(record);
                record.set(getPathPrefix() + current.prefix, Field.create(text));
            }
        } else if (next.getNodeType() == Node.ELEMENT_NODE) {
            Element element = (Element) next;
            String tagName = element.getTagName();
            String elementPrefix;

            // If we are not in a record and this is the delimiter, then create a new record to fill in.
            if (!currentlyInRecord && element.getNodeName().equals(recordDelimiter)) {
                // Create a new record
                elementPrefix = tagName;

                //Increment record count
                flattenerPerRecordCount++;

                Record newR;
                //Add the node index as sourceRecordIdPostFix for newly created/cloned record.
                if (keepExistingFields) {
                    newR = getContext().cloneRecord(originalRecord, String.valueOf(flattenerPerRecordCount));
                } else {
                    newR = getContext().createRecord(originalRecord, String.valueOf(flattenerPerRecordCount));
                    newR.set(Field.create(new HashMap<String, Field>()));
                }
                ensureOutputFieldExists(newR);
                recordList.add(newR);
                addAttrs(newR, element, elementPrefix);
                processXML(newR, true, new XMLNode(element, tagName), recordList, record);
            } else { // This is not a record delimiter, or we are currently already in a record
                // Check if this is the first time we are seeing this prefix?
                // The map tracks the next index to append. If the map does not have the key, don't add an index.
                elementPrefix = current.prefix + fieldDelimiter + tagName;
                if (current.nodeCounters.containsKey(tagName)) {
                    Integer nextCount = current.nodeCounters.get(tagName);
                    elementPrefix = elementPrefix + "(" + nextCount.toString() + ")";
                    current.nodeCounters.put(tagName, nextCount + 1);
                }
                if (currentlyInRecord) {
                    addAttrs(record, element, elementPrefix);
                }
                XMLNode nextNode = new XMLNode(element, elementPrefix);
                processXML(record, currentlyInRecord, nextNode, recordList, record);
            }
        }
    }
}

From source file:uk.co.markfrimston.tasktree.TaskTree.java

protected void addTasksFromChildElements(Element parent, DefaultMutableTreeNode treeNode) throws Exception {
    Iterator<Element> i = getElementChildren(parent);
    while (i.hasNext()) {
        Element child = i.next();
        if (!child.getNodeName().equals("task")) {
            throw new Exception("Expected \"task\", found \"" + child.getNodeName() + "\"");
        }//from w ww  .j a v  a2  s. com
        String name = child.getAttribute("label");
        if (name == null || name.length() == 0) {
            throw new Exception("No label attribute for task");
        }
        DefaultMutableTreeNode newNode = addTask(treeNode, treeNode.getChildCount(), name);
        addTasksFromChildElements(child, newNode);
    }
}

From source file:com.amalto.core.history.UniqueIdTransformer.java

private void _addIds(org.w3c.dom.Document document, Element element, Stack<Integer> levels) {
    NamedNodeMap attributes = element.getAttributes();
    Attr id = document.createAttribute(ID_ATTRIBUTE_NAME);

    int thisElementId = levels.pop() + 1;
    StringBuilder builder;//from   w w  w. jav  a 2  s  .c  om
    {
        builder = new StringBuilder();
        for (Integer level : levels) {
            builder.append(level);
        }
    }
    String prefix = builder.toString().isEmpty() ? StringUtils.EMPTY : builder.toString() + '-';
    id.setValue(prefix + element.getNodeName() + '-' + thisElementId);
    attributes.setNamedItem(id);

    levels.push(thisElementId);
    {
        levels.push(0);
        NodeList children = element.getChildNodes();
        for (int i = 0; i < children.getLength(); i++) {
            if (children.item(i).getNodeType() == Node.ELEMENT_NODE) {
                Element child = (Element) children.item(i);
                _addIds(document, child, levels);
            }
        }
        levels.pop();
    }
}

From source file:de.xwic.appkit.core.config.XmlConfigLoader.java

/**
 * Returns the text of the first childNode with the given nodeName. Returns
 * <code>null</code> if no childNode with the specified nodeName was found.
 * /*from ww w .  j a v  a 2  s. c o m*/
 * @param node
 * @param nodeName
 * @return
 */
private String getFirstChildValue(Element node, String nodeName) {

    NodeList nl = node.getChildNodes();
    for (int i = 0; i < nl.getLength(); i++) {
        Node child = nl.item(i);
        if (child.getNodeType() == Node.ELEMENT_NODE) {
            Element element = (Element) child;
            if (element.getNodeName().equals(nodeName)) {
                return getNodeText(element);
            }
        }
    }

    return null;
}

From source file:com.github.dozermapper.core.loader.xml.XMLParser.java

private void parseVariables(Element element) {
    NodeList nl = element.getChildNodes();
    for (int i = 0; i < nl.getLength(); i++) {
        Node node = nl.item(i);//from   w  ww.j  a v  a 2 s . c  om
        if (node instanceof Element) {
            Element ele = (Element) node;

            debugElement(ele);

            if (VARIABLE_ELEMENT.equals(ele.getNodeName())) {
                ELEngine engine = beanContainer.getElEngine();
                if (engine != null) {
                    String name = getAttribute(ele, NAME_ATTRIBUTE);
                    String value = getNodeValue(ele);

                    engine.setVariable(name, value);
                }
            }
        }
    }

}