List of usage examples for org.w3c.dom Element getOwnerDocument
public Document getOwnerDocument();
Document
object associated with this node. From source file:edu.uams.clara.webapp.xml.processor.impl.DefaultXmlProcessorImpl.java
private synchronized Element createElementStructureByPath(final Element docRoot, String path) { Document doc = docRoot.getOwnerDocument(); List<String> nodeList = getNodeList(path); logger.trace("nodeList: " + nodeList + " =? "); Assert.isTrue(nodeList.size() > 0); // remove first one, should be docRoot.getNodeName()... nodeList.remove(0);//from ww w .j a va 2 s. com // remove last one nodeList.remove(nodeList.size() - 1); Element currentNode = docRoot; int c = 0; for (String n : nodeList) { NodeList cur = currentNode.getElementsByTagName(n); String curName = currentNode.getNodeName(); c = cur.getLength(); if (c > 1) { throw new RuntimeException("illeagl xml structure; find " + c + " elements with name " + n); } if (c == 0) { logger.debug("empty node...; " + n + " doesn't exist under " + curName); Element newN = doc.createElement(n); currentNode.appendChild(newN); currentNode = newN; continue; } currentNode = (Element) cur.item(0); } return currentNode; }
From source file:com.eviware.soapui.impl.wsdl.submit.transports.http.support.attachments.WsdlMimeMessageResponse.java
private void expandMtomAttachments(WsdlRequest wsdlRequest) { try {//ww w . j a va2 s.c o m // XmlObject xmlObject = XmlObject.Factory.parse( getContentAsString() // ); XmlObject xmlObject = XmlUtils.createXmlObject(getContentAsString()); XmlObject[] includes = xmlObject .selectPath("declare namespace xop='http://www.w3.org/2004/08/xop/include'; //xop:Include"); for (XmlObject include : includes) { Element elm = (Element) include.getDomNode(); String href = elm.getAttribute("href"); Attachment attachment = getMmSupport().getAttachmentWithContentId("<" + href.substring(4) + ">"); if (attachment != null) { ByteArrayOutputStream data = Tools.readAll(attachment.getInputStream(), 0); byte[] byteArray = data.toByteArray(); XmlCursor cursor = include.newCursor(); cursor.toParent(); XmlObject parentXmlObject = cursor.getObject(); cursor.dispose(); SchemaType schemaType = parentXmlObject.schemaType(); Node parentNode = elm.getParentNode(); if (schemaType.isNoType()) { SchemaTypeSystem typeSystem = wsdlRequest.getOperation().getInterface().getWsdlContext() .getSchemaTypeSystem(); SchemaGlobalElement schemaElement = typeSystem .findElement(new QName(parentNode.getNamespaceURI(), parentNode.getLocalName())); if (schemaElement != null) { schemaType = schemaElement.getType(); } } String txt = null; if (SchemaUtils.isInstanceOf(schemaType, XmlHexBinary.type)) { txt = new String(Hex.encodeHex(byteArray)); } else { txt = new String(Base64.encodeBase64(byteArray)); } parentNode.replaceChild(elm.getOwnerDocument().createTextNode(txt), elm); } } getMmSupport().setResponseContent(xmlObject.toString()); } catch (Exception e) { SoapUI.logError(e); } }
From source file:eu.europa.ec.markt.dss.validation102853.xades.XAdESSignature.java
private Element getUnsignedSignatureProperties(Element signatureEl) { Element unsignedSignaturePropertiesNode = DSSXMLUtils.getElement(signatureEl, XPATH_UNSIGNED_SIGNATURE_PROPERTIES); if (unsignedSignaturePropertiesNode == null) { Element qualifyingProperties = DSSXMLUtils.getElement(signatureEl, XPATH_QUALIFYING_PROPERTIES); Element unsignedProperties = DSSXMLUtils.getElement(qualifyingProperties, XPATH_UNSIGNED_PROPERTIES); if (unsignedProperties == null) { unsignedProperties = qualifyingProperties.getOwnerDocument().createElementNS(XADES_NAMESPACE, "UnsignedProperties"); qualifyingProperties.appendChild(unsignedProperties); }/*from www . j a va 2s. c o m*/ unsignedSignaturePropertiesNode = unsignedProperties.getOwnerDocument().createElementNS(XADES_NAMESPACE, "UnsignedSignatureProperties"); unsignedProperties.appendChild(unsignedSignaturePropertiesNode); } return unsignedSignaturePropertiesNode; }
From source file:de.qucosa.webapi.v1.DocumentResource.java
private void handleFileElement(String pid, int itemIndex, Element fileElement) throws URISyntaxException, IOException, FedoraClientException, XPathExpressionException { Node tempFile = fileElement.getElementsByTagName("TempFile").item(0); Node pathName = fileElement.getElementsByTagName("PathName").item(0); if (tempFile == null || pathName == null) { return;/*from w w w . jav a 2s .c o m*/ } String id = pid.substring("qucosa:".length()); String tmpFileName = tempFile.getTextContent(); String targetFilename = pathName.getTextContent(); URI fileUri = fileHandlingService.copyTempfileToTargetFileSpace(tmpFileName, targetFilename, id); Node labelNode = fileElement.getElementsByTagName("Label").item(0); String label = (labelNode != null) ? labelNode.getTextContent() : ""; final Path filePath = new File(fileUri).toPath(); String detectedContentType = Files.probeContentType(filePath); if (!(Boolean) xPath.evaluate("MimeType[text()!='']", fileElement, XPathConstants.BOOLEAN)) { if (detectedContentType != null) { Element mimeTypeElement = fileElement.getOwnerDocument().createElement("MimeType"); mimeTypeElement.setTextContent(detectedContentType); fileElement.appendChild(mimeTypeElement); } } if (!(Boolean) xPath.evaluate("FileSize[text()!='']", fileElement, XPathConstants.BOOLEAN)) { Element fileSizeElement = fileElement.getOwnerDocument().createElement("FileSize"); fileSizeElement.setTextContent(String.valueOf(Files.size(filePath))); fileElement.appendChild(fileSizeElement); } String dsid = DSID_QUCOSA_ATT + (itemIndex); String state = determineDatastreamState(fileElement); DatastreamProfile dsp = fedoraRepository.createExternalReferenceDatastream(pid, dsid, label, fileUri, detectedContentType, state); fileElement.setAttribute("id", String.valueOf(itemIndex)); addHashValue(fileElement, dsp); fileElement.removeChild(tempFile); }
From source file:de.betterform.xml.xforms.model.submission.Submission.java
private void submitReplaceEmbedXForms(Map response) throws XFormsException { // check for targetid String targetid = getXFormsAttribute(TARGETID_ATTRIBUTE); String resource = getResource(); Map eventInfo = new HashMap(); String error = null;/*w ww .ja va 2s. c o m*/ if (targetid == null) { error = "targetId"; } else if (resource == null) { error = "resource"; } if (error != null && error.length() > 0) { eventInfo.put(XFormsConstants.ERROR_TYPE, "no " + error + "defined for submission resource"); this.container.dispatch(this.target, XFormsEventNames.SUBMIT_ERROR, eventInfo); return; } Document result = getResponseAsDocument(response); Node embedElement = result.getDocumentElement(); if (resource.indexOf("#") != -1) { // detected a fragment so extract that from our result Document String fragmentid = resource.substring(resource.indexOf("#") + 1); if (fragmentid.indexOf("?") != -1) { fragmentid = fragmentid.substring(0, fragmentid.indexOf("?")); } embedElement = DOMUtil.getById(result, fragmentid); } Element embeddedNode = null; if (LOGGER.isDebugEnabled()) { LOGGER.debug("get target element for id: " + targetid); } Element targetElem = this.container.getElementById(targetid); DOMResult domResult = new DOMResult(); //Test if targetElem exist. if (targetElem != null) { // destroy existing embedded form within targetNode if (targetElem.hasChildNodes()) { // destroyembeddedModels(targetElem); Initializer.disposeUIElements(targetElem); } if (LOGGER.isDebugEnabled()) { LOGGER.debug("destroyed any existing ui elements for target elem"); } // import referenced embedded form into host document embeddedNode = (Element) this.container.getDocument().importNode(embedElement, true); //import namespaces NamespaceResolver.applyNamespaces(targetElem.getOwnerDocument().getDocumentElement(), (Element) embeddedNode); // keep original targetElem id within hostdoc embeddedNode.setAttributeNS(null, "id", targetElem.getAttributeNS(null, "id")); //copy all Attributes that might have been on original mountPoint to embedded node DOMUtil.copyAttributes(targetElem, embeddedNode, null); targetElem.getParentNode().replaceChild(embeddedNode, targetElem); //create model for it Initializer.initializeUIElements(model, embeddedNode, null, null); try { CachingTransformerService transformerService = new CachingTransformerService( new ClasspathResourceResolver("unused")); // TODO: MUST BE GENERIFIED USING USERAGENT MECHANISM //TODO: check exploded mode!!! String path = getClass().getResource("/META-INF/resources/xslt/xhtml.xsl").getPath(); //String xslFilePath = "file:" + path; transformerService.getTransformer(new URI(path)); XSLTGenerator generator = new XSLTGenerator(); generator.setTransformerService(transformerService); generator.setStylesheetURI(new URI(path)); generator.setInput(embeddedNode); generator.setOutput(domResult); generator.generate(); } catch (TransformerException e) { throw new XFormsException( "Transformation error while executing 'Submission.submitReplaceEmbedXForms'", e); } catch (URISyntaxException e) { throw new XFormsException( "Malformed URI throwed URISyntaxException in 'Submission.submitReplaceEmbedXForms'", e); } } // Map eventInfo = constructEventInfo(response); OutputStream outputStream = new ByteArrayOutputStream(); try { DOMUtil.prettyPrintDOM(domResult.getNode(), outputStream); } catch (TransformerException e) { throw new XFormsException(e); } eventInfo.put(EMBEDNODE, outputStream.toString()); eventInfo.put("embedTarget", targetid); eventInfo.put("embedXForms", true); // dispatch xforms-submit-done this.container.dispatch(this.target, XFormsEventNames.SUBMIT_DONE, eventInfo); }
From source file:com.enonic.vertical.adminweb.MenuHandlerServlet.java
private void createContentXML(ExtendedMap formItems, Element menuItemElem) throws VerticalAdminException { Document doc = menuItemElem.getOwnerDocument(); // Create content element Element documentElem = XMLTool.createElement(doc, menuItemElem, "document"); if (verticalProperties.isStoreXHTMLOn()) { XMLTool.createXHTMLNodes(doc, documentElem, formItems.getString("contentdata_body", ""), true); } else {//from w w w .j ava 2s . co m XMLTool.createCDATASection(doc, documentElem, formItems.getString("contentdata_body", "")); } }
From source file:com.enonic.vertical.adminweb.MenuHandlerServlet.java
private void createURLXML(Element menuitem_elem, ExtendedMap formItems) { Element url_elem = XMLTool.createElement(menuitem_elem.getOwnerDocument(), menuitem_elem, "url", (String) formItems.get("url")); url_elem.setAttribute("newwindow", (String) formItems.get("newwindow")); url_elem.setAttribute("local", (String) formItems.get("islocalurl")); }
From source file:com.enonic.vertical.adminweb.MenuHandlerServlet.java
private void buildPageXML(ExtendedMap formItems, String xmlParams, Element menuItemElem) throws VerticalAdminException { Document doc = menuItemElem.getOwnerDocument(); Element page = XMLTool.createElement(doc, menuItemElem, "page"); if (formItems.containsKey("pagekey")) { page.setAttribute("key", formItems.getString("pagekey")); }/*w w w.ja va 2 s . com*/ page.setAttribute("pagetemplatekey", formItems.getString("pagetemplatekey")); // page data XMLTool.createElement(doc, page, "pagedata"); Element contentObjects = XMLTool.createElement(doc, page, "contentobjects"); // Connect contentobjects Document paramsDoc = XMLTool.domparse(xmlParams); NodeList nodes = paramsDoc.getElementsByTagName("pagetemplateparameter"); for (int i = 0; i < nodes.getLength(); i++) { Element parameter = (Element) nodes.item(i); String key = parameter.getAttribute("key"); String paramName = XMLTool.getElementText(parameter, "name"); String separator = XMLTool.getElementText(parameter, "separator"); if (!isArrayFormItem(formItems, paramName)) { if (formItems.containsKey(paramName)) { createContentObjectXML(doc, contentObjects, paramName, formItems.getString(paramName), formItems.getString("pagekey", ""), "0", key, separator); } } else { String[] keyArray = (String[]) formItems.get(paramName); for (int j = 0; j < keyArray.length; j++) { if (keyArray[j] != null && keyArray[j].trim().length() != 0) { createContentObjectXML(doc, contentObjects, paramName, keyArray[j], formItems.getString("pagekey", ""), String.valueOf(j), key, separator); } } } } }
From source file:com.enonic.vertical.adminweb.MenuHandlerServlet.java
private void buildFormXML(ExtendedMap formItems, Element menuItemElement) throws VerticalAdminException { Document doc = menuItemElement.getOwnerDocument(); Element formElement = XMLTool.createElement(doc, menuItemElement, "form"); XMLTool.createElement(doc, formElement, "title", formItems.getString("form_title")); Element confirmationElement = XMLTool.createElement(doc, formElement, "confirmation"); XMLTool.createXHTMLNodes(doc, confirmationElement, formItems.getString("form_confirmation", ""), true); // category key: if (formItems.containsKey("category_key")) { formElement.setAttribute("categorykey", formItems.getString("category_key")); }/* ww w. ja v a 2s . co m*/ // recipient if (formItems.containsKey("form_sendto")) { String[] recipients = formItems.getStringArray("form_sendto"); Element recipientsElement = XMLTool.createElement(doc, formElement, "recipients"); for (String recipient : recipients) { if (recipient.trim().length() > 0) { XMLTool.createElement(doc, recipientsElement, "e-mail", recipient); } } } // receipt Element receiptElement = XMLTool.createElement(doc, formElement, "receipt"); if (formItems.containsKey("receiptSendEmail")) { XMLTool.createElement(doc, receiptElement, "sendreceipt", "yes"); } else { XMLTool.createElement(doc, receiptElement, "sendreceipt", "no"); } String name = formItems.getString("receiptFromName", ""); XMLTool.createElement(doc, receiptElement, "name", name); String email = formItems.getString("receiptFromAddress", ""); XMLTool.createElement(doc, receiptElement, "email", email); String subject = formItems.getString("receiptSubject", ""); XMLTool.createElement(doc, receiptElement, "subject", subject); String message = formItems.getString("receiptMessage", ""); XMLTool.createElement(doc, receiptElement, "message", message); if (formItems.containsKey("receiptIncludeSubmittedFormData")) { XMLTool.createElement(doc, receiptElement, "includeform", "yes"); } else { XMLTool.createElement(doc, receiptElement, "includeform", "no"); } // build form XML FieldData labels = new FieldData(formItems.getStringArray("field_label")); FieldData helpTexts = new FieldData(formItems.getStringArray("field_helptext")); FieldData types = new FieldData(formItems.getStringArray("field_type")); FieldData required = new FieldData(formItems.getStringArray("field_required")); FieldData width = new FieldData(formItems.getStringArray("field_width")); FieldData height = new FieldData(formItems.getStringArray("field_height")); FieldData defaultValue = new FieldData(formItems.getStringArray("field_defaultvalue")); FieldData regexp = new FieldData(formItems.getStringArray("field_regexp")); FieldData validationType = new FieldData(formItems.getStringArray("field_validation")); FieldData valueCount = new FieldData(formItems.getStringArray("field_count")); FieldData checkedIndex = new FieldData(formItems.getStringArray("field_checkedindex")); FieldData value = new FieldData(formItems.getStringArray("field_value")); FieldData defaultChk = new FieldData(formItems.getStringArray("field_defaultchk")); for (int i = 0; i < types.data.length; i++) { String type = types.popData(); Element itemElement = XMLTool.createElement(doc, formElement, "item"); itemElement.setAttribute("type", type); String tmp; if ((tmp = labels.popData()).length() != 0) { itemElement.setAttribute("label", tmp); } if ((tmp = helpTexts.popData()).length() != 0) { XMLTool.createElement(doc, itemElement, "help", tmp); } // data common for text, textarea and checkbox if ("text".equals(type) || "textarea".equals(type) || "fileattachment".equals(type) || "checkbox".equals(type)) { // required itemElement.setAttribute("required", required.popData()); } // data common for text and textarea if ("text".equals(type) || "textarea".equals(type) || "fileattachment".equals(type)) { // width if (!("fileattachment".equals(type)) && ((tmp = width.popData()).length() > 0)) { itemElement.setAttribute("width", tmp); } } // textarea specific data: if ("textarea".equals(type)) { // height if ((tmp = height.popData()).length() > 0) { itemElement.setAttribute("height", tmp); } } // text specific data: else if ("text".equals(type)) { // default value if ((tmp = defaultValue.popData()).length() > 0) { XMLTool.createElement(doc, itemElement, "data", tmp); } // regexp validation String validation_type = validationType.popData(); if ((tmp = regexp.popData()).length() > 0) { itemElement.setAttribute("validation", tmp); itemElement.setAttribute("validationtype", validation_type); } String label = itemElement.getAttribute("label"); if (label.equals(formItems.getString("field_form_title", null))) { itemElement.setAttribute("title", "true"); } if (label.equals(formItems.getString("field_form_fromname", null))) { itemElement.setAttribute("fromname", "true"); } if (label.equals(formItems.getString("field_form_fromemail", null))) { itemElement.setAttribute("fromemail", "true"); } } // fileattachment specific data: else if ("fileattachment".equals(type)) { String label = itemElement.getAttribute("label"); if (label.equals(formItems.getString("field_form_title", null))) { itemElement.setAttribute("title", "true"); } } // checkbox specific data: else if ("checkbox".equals(type)) { // default value if (defaultValue.popData().equals("checked")) { itemElement.setAttribute("default", "checked"); } } // radiobuttons and dropdown specific data: else if ("radiobuttons".equals(type) || "dropdown".equals(type)) { // required itemElement.setAttribute("required", required.popData()); Element dataElement = XMLTool.createElement(doc, itemElement, "data"); int count = Integer.parseInt(valueCount.popData()); int checkedIdx = Integer.parseInt(checkedIndex.popData()); for (int j = 0; j < count; j++) { String val = value.popData(); if (val.length() > 0) { Element optionElement = XMLTool.createElement(doc, dataElement, "option"); optionElement.setAttribute("value", val); if (j == checkedIdx) { optionElement.setAttribute("default", "true"); } } } } // checkboxes specific data: else if ("checkboxes".equals(type)) { Element dataElement = XMLTool.createElement(doc, itemElement, "data"); int count = Integer.parseInt(valueCount.popData()); for (int j = 0; j < count; j++) { String val = value.popData(); if (val.length() > 0) { Element optionElement = XMLTool.createElement(doc, dataElement, "option"); optionElement.setAttribute("value", val); tmp = defaultChk.popData(); if (tmp.equals("1")) { optionElement.setAttribute("default", "true"); } } else { defaultChk.popData(); } } } // from email specific data: else if ("fromemail".equals(type)) { // default value if ((tmp = defaultValue.popData()).length() > 0) { XMLTool.createElement(doc, itemElement, "data", tmp); } // email validation itemElement.setAttribute("validation", "^.+@.+..+$"); itemElement.setAttribute("validationtype", "email"); String label = itemElement.getAttribute("label"); if (label.equals(formItems.getString("field_form_title", null))) { itemElement.setAttribute("title", "true"); } } } VerticalAdminLogger.debug(this.getClass(), 0, doc); }