@Override public String toString() { try { final StringBuilder indent = new StringBuilder(); final StringBuilder xml = new StringBuilder(); final XmlNode masterNode = new XmlNode("__Master__", null); final XmlNode savedParentNode = getParent(); setParent(masterNode); writeNodes(masterNode, xml, indent, ""); parentNode = savedParentNode; return xml.toString(); } catch (Exception e) { return super.toString(); } } }
/** * @param xmlNode the {@code XmlNode} to which the element is added * @param element the {@code Node} to be copied */ private static void recursiveCopy(final XmlNode xmlNode, final Node element) { final String name = element.getNodeName(); final XmlNode _xmlNode = new XmlNode(name); final NamedNodeMap attributes = element.getAttributes(); for (int jj = 0; jj < attributes.getLength(); jj++) { final Node attrNode = attributes.item(jj); final String attrName = attrNode.getNodeName(); if (!"xmlns".equals(attrName)) { _xmlNode.setAttribute(attrName, attrNode.getNodeValue()); } } final NodeList nodes = element.getChildNodes(); boolean hasElementNodes = false; for (int ii = 0; ii < nodes.getLength(); ii++) { final Node node = nodes.item(ii); if (node.getNodeType() == Node.ELEMENT_NODE) { hasElementNodes = true; recursiveCopy(_xmlNode, node); } } if (!hasElementNodes) { final String value = element.getTextContent(); _xmlNode.setValue(value); } _xmlNode.setParent(xmlNode); }
/** * @return the {@code InputStream} representing the content of the node. */ public InputStream getInputStream() { try { final StringBuilder indent = new StringBuilder(); final StringBuilder xml = new StringBuilder(); final XmlNode masterNode = new XmlNode("__Master__"); final XmlNode savedParentNode = getParent(); if (savedParentNode != null) { setNameSpace(savedParentNode.getNameSpace()); } setParent(masterNode); writeNodes(masterNode, xml, indent, ""); parentNode = savedParentNode; final byte[] bytes = xml.toString().getBytes("UTF-8"); final InputStream in = new ByteArrayInputStream(bytes); return in; } catch (UnsupportedEncodingException e) { throw new DSSException("Error during the conversion of the XmlNode to the InputStream :", e); } }
conclusionNode.setParent(signatureNode);