List of usage examples for org.w3c.dom Element getNodeName
public String getNodeName();
From source file:com.bstek.dorado.view.config.XmlDocumentPreprocessor.java
private boolean processPlaceHolders(List<Element> elements, TemplateContext templateContext) throws Exception { boolean changed = false; List<Element> defaultContent = null; Element placeHolderStartElement = null; for (Element childElement : elements.toArray(new Element[0])) { String nodeName = childElement.getNodeName(); if (XmlConstants.PLACE_HOLDER.equals(nodeName)) { List<Element> concreteContent = getPlaceHolderContent(childElement, templateContext); if (concreteContent != null) { childElement.setUserData("dorado.replace", concreteContent, null); }/*from w w w . java 2 s .c o m*/ childElement.setUserData("dorado.delete", concreteContent, null); changed = true; } else if (XmlConstants.PLACE_HOLDER_START.equals(nodeName)) { if (templateContext.isInPlaceHolderSection()) { throw new XmlParseException("Nesting <PlaceHolderStart> not supported.", childElement, templateContext); } else { templateContext.setInPlaceHolderSection(true); defaultContent = new ArrayList<Element>(); placeHolderStartElement = childElement; } changed = true; } else if (XmlConstants.PLACE_HOLDER_END.equals(nodeName)) { if (placeHolderStartElement == null) { throw new XmlParseException("<PlaceHolderStart> missed.", childElement, templateContext); } else { List<Element> placeHolderContent = getPlaceHolderContent(childElement, templateContext); if (placeHolderContent != null) { placeHolderStartElement.setUserData("dorado.replace", placeHolderContent, null); for (Element el : defaultContent) { el.setUserData("dorado.delete", Boolean.TRUE, null); } } placeHolderStartElement.setUserData("dorado.delete", Boolean.TRUE, null); childElement.setUserData("dorado.delete", Boolean.TRUE, null); templateContext.setInPlaceHolderSection(false); placeHolderStartElement = null; defaultContent = null; } changed = true; } else { processPlaceHolders(childElement, templateContext); } } return changed; }
From source file:com.bstek.dorado.view.config.XmlDocumentPreprocessor.java
private void gothroughPlaceHolders(Document templateDocument, TemplateContext templateContext) throws Exception { Element templteViewElement = ViewConfigParserUtils.findViewElement(templateDocument.getDocumentElement(), templateContext.getResource()); Document document = templateContext.getSourceDocument(); Element viewElement = ViewConfigParserUtils.findViewElement(document.getDocumentElement(), templateContext.getSourceContext().getResource()); NamedNodeMap attributes = viewElement.getAttributes(); int len = attributes.getLength(); for (int i = 0; i < len; i++) { Node item = attributes.item(i); String nodeName = item.getNodeName(); if (!specialMergeProperties.contains(nodeName)) { templteViewElement.setAttribute(nodeName, item.getNodeValue()); }/*from w ww .java 2 s . co m*/ } List<Element> viewProperties = DomUtils.getChildrenByTagName(viewElement, XmlConstants.PROPERTY); for (Element propertyElement : viewProperties) { String propertyName = propertyElement.getAttribute(XmlConstants.ATTRIBUTE_NAME); if (!specialMergeProperties.contains(propertyName)) { Element clonedElement = (Element) templateDocument.importNode(propertyElement, true); templteViewElement.appendChild(clonedElement); } } mergeMetaData(templateDocument, templteViewElement, viewElement); mergeTemplateProperty(templteViewElement, viewElement, ViewXmlConstants.ATTRIBUTE_PACKAGES); mergeTemplateProperty(templteViewElement, viewElement, ViewXmlConstants.ATTRIBUTE_JAVASCRIPT_FILE); mergeTemplateProperty(templteViewElement, viewElement, ViewXmlConstants.ATTRIBUTE_STYLESHEET_FILE); for (Element element : DomUtils.getChildElements(viewElement)) { String nodeName = element.getNodeName(); if (nodeName.equals(XmlConstants.PROPERTY) || nodeName.equals(XmlConstants.GROUP_START) || nodeName.equals(XmlConstants.GROUP_END) || nodeName.equals(XmlConstants.IMPORT) || nodeName.equals(XmlConstants.GROUP_END) || nodeName.equals(XmlConstants.PLACE_HOLDER_START) || nodeName.equals(XmlConstants.PLACE_HOLDER_END)) { continue; } if (componentTypeRegistry.getRegisterInfo(nodeName) == null) { Element clonedElement = (Element) templateDocument.importNode(element, true); templteViewElement.appendChild(clonedElement); } } processPlaceHolders(templteViewElement, templateContext); }
From source file:com.microsoft.exchange.impl.ExchangeResponseUtilsImpl.java
private String parseInnerResponse(ResponseMessageType responseMessage) { StringBuilder responseBuilder = new StringBuilder("Response["); ResponseCodeType responseCode = responseMessage.getResponseCode(); if (null != responseCode) { responseBuilder.append("code=" + responseCode + ", "); }/* w ww . j av a 2 s . c o m*/ ResponseClassType responseClass = responseMessage.getResponseClass(); if (null != responseClass) { responseBuilder.append("class=" + responseClass + ", "); } String messageText = responseMessage.getMessageText(); if (StringUtils.isNotBlank(messageText)) { responseBuilder.append("txt=" + messageText + ", "); } MessageXml messageXml = responseMessage.getMessageXml(); if (null != messageXml) { StringBuilder xmlStringBuilder = new StringBuilder("messageXml="); List<Element> anies = messageXml.getAnies(); if (!CollectionUtils.isEmpty(anies)) { for (Element element : anies) { String elementNameString = element.getNodeName(); String elementValueString = element.getNodeValue(); xmlStringBuilder.append(elementNameString + "=" + elementValueString + ";"); if (null != element.getAttributes()) { NamedNodeMap attributes = element.getAttributes(); for (int i = 0; i < attributes.getLength(); i++) { Node item = attributes.item(i); String nodeName = item.getNodeName(); String nodeValue = item.getNodeValue(); xmlStringBuilder.append(nodeName + "=" + nodeValue + ","); } } } } responseBuilder.append("xml=" + xmlStringBuilder.toString() + ", "); } Integer descriptiveLinkKey = responseMessage.getDescriptiveLinkKey(); if (null != descriptiveLinkKey) { responseBuilder.append("link=" + descriptiveLinkKey); } responseBuilder.append("]"); return responseBuilder.toString(); }
From source file:com.github.dozermapper.core.loader.xml.XMLParser.java
private void parseFieldMap(Element ele, DozerBuilder.FieldMappingBuilder fieldMapBuilder) { setRelationshipType(ele, fieldMapBuilder); if (StringUtils.isNotEmpty(getAttribute(ele, REMOVE_ORPHANS))) { fieldMapBuilder.removeOrphans(BooleanUtils.toBoolean(getAttribute(ele, REMOVE_ORPHANS))); }//from ww w . j av a 2s . c om 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; debugElement(element); parseFieldElements(element, fieldMapBuilder); if (SRC_TYPE_HINT_ELEMENT.equals(element.getNodeName())) { String hint = getNodeValue(element); fieldMapBuilder.srcHintContainer(hint); } if (DEST_TYPE_HINT_ELEMENT.equals(element.getNodeName())) { String hint = getNodeValue(element); fieldMapBuilder.destHintContainer(hint); } if (SRC_TYPE_DEEP_INDEX_HINT_ELEMENT.equals(element.getNodeName())) { String hint = getNodeValue(element); fieldMapBuilder.srcDeepIndexHintContainer(hint); } if (DEST_TYPE_DEEP_INDEX_HINT_ELEMENT.equals(element.getNodeName())) { String hint = getNodeValue(element); fieldMapBuilder.destDeepIndexHintContainer(hint); } } } }
From source file:eu.europa.esig.dss.xades.signature.XAdESBuilder.java
/** * This method creates the ds:DigestValue DOM object. * * @param parentDom/* ww w . jav a2 s.c o m*/ * @param digestAlgorithm digest algorithm * @param originalDocument to digest array of bytes */ protected void incorporateDigestValue(final Element parentDom, final DigestAlgorithm digestAlgorithm, final DSSDocument originalDocument) { // <ds:DigestValue>b/JEDQH2S1Nfe4Z3GSVtObN34aVB1kMrEbVQZswThfQ=</ds:DigestValue> final Element digestValueDom = documentDom.createElementNS(XMLNS, DS_DIGEST_VALUE); final String base64EncodedDigestBytes = originalDocument.getDigest(digestAlgorithm); if (LOG.isTraceEnabled()) { LOG.trace("Digest value {} --> {}", parentDom.getNodeName(), base64EncodedDigestBytes); } final Text textNode = documentDom.createTextNode(base64EncodedDigestBytes); digestValueDom.appendChild(textNode); parentDom.appendChild(digestValueDom); }
From source file:com.github.dozermapper.core.loader.xml.XMLParser.java
private void parseConfiguration(Element ele, DozerBuilder builder) { DozerBuilder.ConfigurationBuilder configBuilder = builder.configuration(); NodeList nl = ele.getChildNodes(); for (int i = 0; i < nl.getLength(); i++) { Node node = nl.item(i);//from w w w . ja v a 2s. co m if (node instanceof Element) { Element element = (Element) node; debugElement(element); final String nodeValue = getNodeValue(element); if (STOP_ON_ERRORS_ELEMENT.equals(element.getNodeName())) { configBuilder.stopOnErrors(Boolean.valueOf(nodeValue)); } else if (DATE_FORMAT.equals(element.getNodeName())) { configBuilder.dateFormat(nodeValue); } else if (WILDCARD.equals(element.getNodeName())) { configBuilder.wildcard(Boolean.valueOf(nodeValue)); } else if (WILDCARD_CASE_INSENSITIVE.equals(element.getNodeName())) { configBuilder.wildcardCaseInsensitive(Boolean.valueOf(nodeValue)); } else if (TRIM_STRINGS.equals(element.getNodeName())) { configBuilder.trimStrings(Boolean.valueOf(nodeValue)); } else if (MAP_NULL.equals(element.getNodeName())) { configBuilder.mapNull(Boolean.valueOf(nodeValue)); } else if (MAP_EMPTY_STRING.equals(element.getNodeName())) { configBuilder.mapEmptyString(Boolean.valueOf(nodeValue)); } else if (RELATIONSHIP_TYPE.equals(element.getNodeName())) { RelationshipType relationshipType = RelationshipType.valueOf(nodeValue); configBuilder.relationshipType(relationshipType); } else if (BEAN_FACTORY.equals(element.getNodeName())) { configBuilder.beanFactory(nodeValue); } else if (CUSTOM_CONVERTERS_ELEMENT.equals(element.getNodeName())) { parseCustomConverters(element, configBuilder); } else if (COPY_BY_REFERENCES_ELEMENT.equals(element.getNodeName())) { parseCopyByReferences(element, configBuilder); } else if (ALLOWED_EXCEPTIONS_ELEMENT.equals(element.getNodeName())) { parseAllowedExceptions(element, configBuilder); } else if (VARIABLES_ELEMENT.equals(element.getNodeName())) { parseVariables(element); } } } }
From source file:it.ciroppina.idol.generic.tunnel.IdolOEMTunnel.java
/** * Method that returns a List<Map> where every map contains hit's fields * and the autn:content text, BUT it do not contains <DOCUMENT> structure ! * <br/>/*from w w w .jav a 2 s . c om*/ * Notice that: this method M^UST be invoked only for a print=indexText query ! * * @return ArrayList<Hit> list of Hit, each containing a Map (of dreFields) * */ @WebMethod(operationName = "getQueryHitsNoDocumentMap") public ArrayList<Hit> getQueryHitsNoDocumentMap(String xml) { ArrayList<Hit> result = new ArrayList<Hit>(); Document document = getDocumentFrom(xml); NodeList temp = null; temp = document.getElementsByTagName("response"); String response = (temp.getLength() > 0) ? document.getElementsByTagName("response").item(0).getTextContent() : "FAILURE"; temp = document.getElementsByTagName("autn:numhits"); String numHits = (temp.getLength() > 0) ? document.getElementsByTagName("autn:numhits").item(0).getTextContent() : "0"; temp = document.getElementsByTagName("autn:totalhits"); String totalHits = (temp.getLength() > 0) ? document.getElementsByTagName("autn:totalhits").item(0).getTextContent() : "0"; NodeList hits = document.getElementsByTagName("autn:hit"); for (int i = 0; i < hits.getLength(); i++) { HashMap<String, String> map = new HashMap<String, String>(); Node nodo = hits.item(i); NodeList hitChilds = nodo.getChildNodes(); for (int j = 0; j < hitChilds.getLength(); j++) { Node n = hitChilds.item(j); if (n.getNodeType() == Node.ELEMENT_NODE) { Element e2 = (Element) n; if (!e2.getNodeName().equals("autn:content")) { String value = ""; if (map.containsKey(e2.getNodeName())) { value = map.get(e2.getNodeName()) + "," + e2.getTextContent(); map.put(e2.getNodeName(), value); } else { map.put(e2.getNodeName(), e2.getTextContent()); } } else { if (e2.getNodeType() == Node.ELEMENT_NODE) { String nodeValue = e2.getFirstChild().getTextContent(); //Element el = (Element) content; String value = ""; if (map.containsKey(e2.getNodeName())) { value = map.get(e2.getNodeName()) + "," + nodeValue; map.put(e2.getNodeName(), value); } else { map.put(e2.getNodeName(), nodeValue); } } } } } Hit hit = new Hit(map); hit.getDreFields().put("response", response); hit.getDreFields().put("numhits", numHits); hit.getDreFields().put("totalhits", totalHits); result.add(hit); } return result; }
From source file:importer.handler.post.stages.Splitter.java
/** * Rule 1 states that the versions of every element are also * present in its parents, up to the root. * @param elem the element to start from *//* ww w. j a v a 2s .c o m*/ void verifyRule1(Element elem) { String pVers = elem.getAttribute(VERSIONS); Node child = elem.getFirstChild(); // descend depth-first while (child != null) { if (child.getNodeType() == Node.ELEMENT_NODE) { String cVers = ((Element) child).getAttribute(VERSIONS); if (cVers != null && pVers != null) { if (!verifyMembership(pVers, cVers)) System.out.println("Rule 1 broken for element " + elem.getNodeName() + " with child " + child.getNodeName() + ": \"" + cVers + "\" not contained in \"" + pVers + "\""); // recurse verifyRule1((Element) child); } else System.out.println("Missing parent (" + pVers + ") or child versions (" + cVers + ")"); } child = child.getNextSibling(); } }
From source file:it.ciroppina.idol.generic.tunnel.IdolOEMTunnel.java
/** * Method return List<Map> when every map contains hit fields * //from w w w. j a v a2 s . c o m * @return ArrayList<Hit> list of Hit, each containing a Map (of dreFileds) * */ @WebMethod(operationName = "getQueryHitsMap") public ArrayList<Hit> getQueryHitsMap(String xml) { ArrayList<Hit> result = new ArrayList<Hit>(); Document document = getDocumentFrom(xml); NodeList temp = null; temp = document.getElementsByTagName("response"); String response = (temp.getLength() > 0) ? document.getElementsByTagName("response").item(0).getTextContent() : "FAILURE"; temp = document.getElementsByTagName("autn:numhits"); String numHits = (temp.getLength() > 0) ? document.getElementsByTagName("autn:numhits").item(0).getTextContent() : "0"; temp = document.getElementsByTagName("autn:totalhits"); String totalHits = (temp.getLength() > 0) ? document.getElementsByTagName("autn:totalhits").item(0).getTextContent() : "0"; NodeList hits = document.getElementsByTagName("autn:hit"); //ERROR case detection if (hits.getLength() < 1 && response.toUpperCase().contains("ERROR")) { ErrorResponse er = new ErrorResponse(document); result.add(er); return result; } for (int i = 0; i < hits.getLength(); i++) { HashMap<String, String> map = new HashMap<String, String>(); Node nodo = hits.item(i); NodeList hitChilds = nodo.getChildNodes(); for (int j = 0; j < hitChilds.getLength(); j++) { Node n = hitChilds.item(j); if (n.getNodeType() == Node.ELEMENT_NODE) { Element e2 = (Element) n; if (!e2.getNodeName().equals("autn:content")) { String value = ""; if (map.containsKey(e2.getNodeName())) { value = map.get(e2.getNodeName()) + "," + e2.getTextContent(); map.put(e2.getNodeName(), value); } else { map.put(e2.getNodeName(), e2.getTextContent()); } } else { NodeList content = e2.getElementsByTagName("DOCUMENT").item(0).getChildNodes(); for (int z = 0; z < content.getLength(); z++) { Node d = content.item(z); if (d.getNodeType() == Node.ELEMENT_NODE) { Element el = (Element) d; String value = ""; if (map.containsKey(el.getNodeName())) { value = map.get(el.getNodeName()) + "," + el.getTextContent(); map.put(el.getNodeName(), value); } else { map.put(el.getNodeName(), el.getTextContent()); } } } } } } Hit hit = new Hit(map); hit.getDreFields().put("response", response); hit.getDreFields().put("numhits", numHits); hit.getDreFields().put("totalhits", totalHits); result.add(hit); } return result; }
From source file:com.streamsets.pipeline.stage.processor.xmlflattener.XMLFlatteningProcessor.java
@Override public void process(Record record, SingleLaneBatchMaker singleLaneBatchMaker) throws StageException { if (keepExistingFields && !record.get().getType().isOneOf(Field.Type.MAP, Field.Type.LIST_MAP)) { String errorValue;//from w w w.j a v a2 s . c o m if (record.get().getType() == Field.Type.LIST) { errorValue = record.get().getValueAsList().toString(); } else { errorValue = record.get().toString(); } throw new OnRecordErrorException(CommonError.CMN_0100, record.get().getType().toString(), errorValue, record.toString()); } Field original = record.get(fieldPath); String xmlData = null; if (original != null) { try { if (original.getType() != Field.Type.STRING) { throw new OnRecordErrorException(CommonError.CMN_0100, original.getType().toString(), original.getValue().toString(), record.toString()); } xmlData = record.get(fieldPath).getValueAsString().trim(); Document doc = factory.newDocumentBuilder().parse(new ByteArrayInputStream(xmlData.getBytes())); doc.getDocumentElement().normalize(); Element root = doc.getDocumentElement(); // If we are have a delimiter we are in a record, so just add everything as fields. boolean currentlyInRecord = false; Record newR = null; String prefix = null; List<Record> results = new LinkedList<>(); if (recordDelimiter == null || recordDelimiter.isEmpty() || root.getNodeName().equals(recordDelimiter)) { currentlyInRecord = true; //Increment record count. flattenerPerRecordCount++; if (keepExistingFields) { newR = getContext().cloneRecord(record, String.valueOf(flattenerPerRecordCount)); } else { newR = getContext().createRecord(record, String.valueOf(flattenerPerRecordCount)); newR.set(Field.create(new HashMap<String, Field>())); } ensureOutputFieldExists(newR); prefix = root.getTagName(); addAttrs(newR, root, prefix); results.add(newR); } processXML(newR, currentlyInRecord, new XMLNode(root, prefix), results, record); for (Record result : results) { singleLaneBatchMaker.addRecord(result); } } catch (OnRecordErrorException ex) { errorRecordHandler.onError(new OnRecordErrorException(record, ex.getErrorCode(), ex.getParams())); } catch (Exception ex) { errorRecordHandler .onError(new OnRecordErrorException(record, DataFormatErrors.DATA_FORMAT_303, xmlData, ex)); } finally { //Reset record count flattenerPerRecordCount = 0; } } }