List of usage examples for org.dom4j.io XMLWriter XMLWriter
public XMLWriter(OutputFormat format) throws UnsupportedEncodingException
From source file:hk.hku.cecid.ebms.pkg.PKISignatureImpl.java
License:Open Source License
boolean verify(char[] password, String keyStoreLocation, CertResolver certResolver, DataSource dataSource) throws SignatureException { try {//from ww w . j a va2s . c o m ByteArrayOutputStream baos = new ByteArrayOutputStream(); String fileName = ebxmlMessage.getFileName(); String persistenceName = ebxmlMessage.getPersistenceName(); byte[] soapEnvelopeBytes = ebxmlMessage.getSoapEnvelopeBytes(); if (soapEnvelopeBytes != null) { baos.write(soapEnvelopeBytes); } else if (persistenceName != null) { if (dataSource == null) { throw new SignatureException("Inconsistence persistence data for : " + persistenceName); } InputStream istream = dataSource.getInputStream(); try { soapEnvelopeBytes = EbxmlMessage.getSoapEnvelopeBytesFromStream(istream); } catch (SOAPException e) { throw e; } finally { istream.close(); } } else if (fileName != null) { InputStream istream = null; try { istream = new FileInputStream(fileName); soapEnvelopeBytes = EbxmlMessage.getSoapEnvelopeBytesFromStream(istream); } catch (IOException e) { throw e; } catch (SOAPException e) { throw e; } finally { if (istream != null) { istream.close(); } } } else { final SOAPPart soapPart = ebxmlMessage.getSOAPMessage().getSOAPPart(); DocumentResult docResult = new DocumentResult(); TransformerFactory.newInstance().newTransformer().transform(soapPart.getContent(), docResult); (new XMLWriter(baos)).write(docResult.getDocument()); } DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); // soapPartDocument is a DOM equivilance of soapPart final Document soapPartDocument = factory.newDocumentBuilder() .parse(new ByteArrayInputStream(baos.toByteArray())); ApacheXMLDSigner signature = new ApacheXMLDSigner(); signature.setEnvelope(soapPartDocument); for (Iterator i = ebxmlMessage.getPayloadContainers(); i.hasNext();) { PayloadContainer pc = (PayloadContainer) i.next(); signature.addDocument(pc.getHref(), pc.getDataHandler().getInputStream(), pc.getContentType()); } if (keyStoreLocation != null) { CompositeKeyStore ks = new CompositeKeyStore(); ks.addKeyStoreFile(keyStoreLocation, null, password); signature.setTrustAnchor(ks); } signature.addCertResolver(certResolver, ebxmlMessage); return signature.verify(); } catch (VerifyException e) { throw new SignatureException(e.getMessage(), e); } catch (Exception e) { String err = ErrorMessages.getMessage(ErrorMessages.ERR_PKI_UNKNOWN_ERROR, e); throw new SignatureException(err, e); } }
From source file:hudson.model.Api.java
License:Open Source License
/** * Exposes the bean as XML.//from ww w.ja v a2s.c o m */ public void doXml(StaplerRequest req, StaplerResponse rsp, @QueryParameter String xpath, @QueryParameter String wrapper, @QueryParameter String tree, @QueryParameter int depth) throws IOException, ServletException { setHeaders(rsp); String[] excludes = req.getParameterValues("exclude"); if (xpath == null && excludes == null) { // serve the whole thing rsp.serveExposedBean(req, bean, Flavor.XML); return; } StringWriter sw = new StringWriter(); // first write to String Model p = MODEL_BUILDER.get(bean.getClass()); TreePruner pruner = (tree != null) ? new NamedPathPruner(tree) : new ByDepth(1 - depth); p.writeTo(bean, pruner, Flavor.XML.createDataWriter(bean, sw)); // apply XPath FilteredFunctionContext functionContext = new FilteredFunctionContext(); Object result; try { Document dom = new SAXReader().read(new StringReader(sw.toString())); // apply exclusions if (excludes != null) { for (String exclude : excludes) { XPath xExclude = dom.createXPath(exclude); xExclude.setFunctionContext(functionContext); List<org.dom4j.Node> list = (List<org.dom4j.Node>) xExclude.selectNodes(dom); for (org.dom4j.Node n : list) { Element parent = n.getParent(); if (parent != null) parent.remove(n); } } } if (xpath == null) { result = dom; } else { XPath comp = dom.createXPath(xpath); comp.setFunctionContext(functionContext); List list = comp.selectNodes(dom); if (wrapper != null) { Element root = DocumentFactory.getInstance().createElement(wrapper); for (Object o : list) { if (o instanceof String) { root.addText(o.toString()); } else { root.add(((org.dom4j.Node) o).detach()); } } result = root; } else if (list.isEmpty()) { rsp.setStatus(HttpServletResponse.SC_NOT_FOUND); rsp.getWriter().print(Messages.Api_NoXPathMatch(xpath)); return; } else if (list.size() > 1) { rsp.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); rsp.getWriter().print(Messages.Api_MultipleMatch(xpath, list.size())); return; } else { result = list.get(0); } } } catch (DocumentException e) { LOGGER.log(Level.FINER, "Failed to do XPath/wrapper handling. XML is as follows:" + sw, e); throw new IOException("Failed to do XPath/wrapper handling. Turn on FINER logging to view XML.", e); } if (isSimpleOutput(result) && !permit(req)) { // simple output prohibited rsp.sendError(HttpURLConnection.HTTP_FORBIDDEN, "primitive XPath result sets forbidden; implement jenkins.security.SecureRequester"); return; } // switch to gzipped output OutputStream o = rsp.getCompressedOutputStream(req); try { if (isSimpleOutput(result)) { // simple output allowed rsp.setContentType("text/plain;charset=UTF-8"); String text = result instanceof CharacterData ? ((CharacterData) result).getText() : result.toString(); o.write(text.getBytes("UTF-8")); return; } // otherwise XML rsp.setContentType("application/xml;charset=UTF-8"); new XMLWriter(o).write(result); } finally { o.close(); } }
From source file:i.am.jiongxuan.deapk.GenerateProjectOperator.java
License:Apache License
public void generateClassPathFile() { Document document = DocumentHelper.createDocument(); Element classPathElement = document.addElement("classpath"); classPathElement.addElement("classpathentry").addAttribute("kind", "src").addAttribute("path", "src"); classPathElement.addElement("classpathentry").addAttribute("kind", "src").addAttribute("path", "gen"); classPathElement.addElement("classpathentry").addAttribute("kind", "con").addAttribute("path", "com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"); classPathElement.addElement("classpathentry").addAttribute("kind", "con").addAttribute("path", "com.android.ide.eclipse.adt.LIBRARIES"); classPathElement.addElement("classpathentry").addAttribute("kind", "con") .addAttribute("path", "com.android.ide.eclipse.adt.DEPENDENCIES").addAttribute("exported", "true"); classPathElement.addElement("classpathentry").addAttribute("kind", "output").addAttribute("path", "bin/classes"); try {// w w w .ja v a 2 s . co m XMLWriter xmlWriter = new XMLWriter(new FileOutputStream(new File(mProjectFile, ".classpath"))); xmlWriter.write(document); xmlWriter.close(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
From source file:i.am.jiongxuan.deapk.GenerateProjectOperator.java
License:Apache License
public void generateProjectFile() { Document document = DocumentHelper.createDocument(); Element projectDescriptionElement = document.addElement("projectDescription"); projectDescriptionElement.addElement("name").addText(getProjectNameInManifestXml()); Element buildSpecElement = projectDescriptionElement.addElement("buildSpec"); buildSpecElement.addElement("buildCommand").addElement("name") .addText("com.android.ide.eclipse.adt.ResourceManagerBuilder"); buildSpecElement.addElement("buildCommand").addElement("name") .addText("com.android.ide.eclipse.adt.PreCompilerBuilder"); buildSpecElement.addElement("buildCommand").addElement("name").addText("org.eclipse.jdt.core.javabuilder"); buildSpecElement.addElement("buildCommand").addElement("name") .addText("com.android.ide.eclipse.adt.ApkBuilder"); Element naturesElement = projectDescriptionElement.addElement("natures"); naturesElement.addElement("nature").addText("com.android.ide.eclipse.adt.AndroidNature"); naturesElement.addElement("nature").addText("org.eclipse.jdt.core.javanature"); try {/* w ww .j a v a2s . c o m*/ XMLWriter xmlWriter = new XMLWriter(new FileOutputStream(new File(mProjectFile, ".project"))); xmlWriter.write(document); xmlWriter.close(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
From source file:javaapplication3.DataXmlWorker.java
private void setXmlData(ShortBuffer mem_data) { SAXReader reader = new SAXReader(); File f = new File(file_name_from_unit_); if (!f.exists()) { System.out.println("no data file " + file_name_from_unit_); }/*w w w .j a va2 s.c o m*/ try { Document document = reader.read(f); Element root = document.getRootElement().element("map"); // iterate through child elements of root for (Iterator i = root.elementIterator(); i.hasNext();) { Element element = (Element) i.next(); //System.out.println("addr[ " + element.attributeValue("addr") + "] = " + element.attributeValue("value")); int mem_adr = Integer.parseInt(element.attributeValue("addr")) - mem_shift_; //System.out.println("mem_adr = " + mem_adr); if (mem_adr < mem_data.limit()) { int data = mem_data.get(mem_adr); if (data < 0) data += 65536; //System.out.println("in put attr to xml int = " + data); element.attribute("value").setValue(Integer.toString(data)); } } // XMLWriter writer = new XMLWriter( new FileWriter( "output.xml" )); XMLWriter writer = new XMLWriter(new FileWriter(file_name_from_unit_)); writer.write(document); writer.close(); } catch (DocumentException ex) { System.out.println("Exeption: " + ex.getMessage()); Logger.getLogger(DataXmlWorker.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { System.out.println("Exeption: " + ex.getMessage()); Logger.getLogger(DataXmlWorker.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:musite.io.xml.ProteinsXMLReader.java
License:Open Source License
public static String nodeContentToString(Node node) throws IOException { java.io.StringWriter strWriter = new java.io.StringWriter(); XMLWriter writer = new XMLWriter(strWriter); writer.write(node);//from www . j a va 2s . co m String str = strWriter.toString(); return str; }
From source file:net.unicon.toro.installer.tools.MergeConfiguration.java
License:Open Source License
private void mergeWebChanges(Element el, File path) throws Exception { System.out.println("Merging web.xml changes to " + path.getAbsolutePath()); Utils.instance().backupFile(path, true); OutputFormat format = OutputFormat.createPrettyPrint(); SAXReader reader = new SAXReader(); reader.setIncludeInternalDTDDeclarations(true); Document document = reader.read(new URL("file:" + path.getAbsolutePath())); SAXSource source = new DocumentSource(document); List<Element> filters = (List<Element>) el.selectNodes("add-filter/filter"); List<Element> filterMappings = (List<Element>) el.selectNodes("add-filter-mapping/filter-mapping"); List<Element> servlets = (List<Element>) el.selectNodes("add-servlet/servlet"); List<Element> servletMappings = (List<Element>) el.selectNodes("add-servlet-mapping/servlet-mapping"); List<Element> errorPages = (List<Element>) el.selectNodes("add-error-page/error-page"); // remove previous changes StringWriter cleansedDocumentWriter = new StringWriter(); WebXmlCleanserFilter cleaner = new WebXmlCleanserFilter(new XMLWriter(cleansedDocumentWriter)); cleaner.parse(source.getInputSource()); // add new changes try {//from w w w . j a v a 2s . co m Document cleansedDocument = reader.read(new StringReader(cleansedDocumentWriter.toString())); source = new DocumentSource(cleansedDocument); SAXWriter saxWriter = new WebXmlAdditionsWriter(new XMLWriter(new FileOutputStream(path), format), filters, filterMappings, servlets, servletMappings, errorPages); saxWriter.parse(source.getInputSource()); } catch (Exception e) { e.printStackTrace(); throw e; } }
From source file:news.Confirmation.java
public static void validateXMLByXSD() { String xmlFileName = "C:\\Users\\Andy\\Documents\\NetBeansProjects\\WebService\\build\\web\\XML\\HomeNews.xml"; String xsdFileName = "C:\\Users\\Andy\\Documents\\NetBeansProjects\\WebService\\web\\Schmea.xsd"; try {/* w ww. ja va 2s . com*/ //XML? XMLErrorHandler errorHandler = new XMLErrorHandler(); //? SAX ? SAXParserFactory factory = SAXParserFactory.newInstance(); //??? XML factory.setValidating(true); //????? XML ??? factory.setNamespaceAware(true); //??? SAXParser SAXParser parser = factory.newSAXParser(); //? SAXReader xmlReader = new SAXReader(); //??xml Document xmlDocument = (Document) xmlReader.read(new File(xmlFileName)); // XMLReader ? [url]http://sax.sourceforge.net/?selected=get-set[/url] parser.setProperty("http://java.sun.com/xml/jaxp/properties/schemaLanguage", "http://www.w3.org/2001/XMLSchema"); parser.setProperty("http://java.sun.com/xml/jaxp/properties/schemaSource", "file:" + xsdFileName); //SAXValidator SAXValidator validator = new SAXValidator(parser.getXMLReader()); //????? validator.setErrorHandler(errorHandler); // validator.validate(xmlDocument); XMLWriter writer = new XMLWriter(OutputFormat.createPrettyPrint()); //???? if (errorHandler.getErrors().hasContent()) { System.out.println("XMLXSD?"); writer.write(errorHandler.getErrors()); } else { System.out.println("Good! XMLXSD??"); } } catch (Exception ex) { System.out.println("XML: " + xmlFileName + " XSD:" + xsdFileName + "\n " + ex.getMessage()); ex.printStackTrace(); } }
From source file:nl.ru.cmbi.vase.parse.VASEXMLParser.java
License:Apache License
public static void write(VASEDataObject data, OutputStream xmlOut) throws IOException { DocumentFactory df = DocumentFactory.getInstance(); Document doc = df.createDocument(); Element root = doc.addElement("xml"); if (data.getTitle() != null) { Element title = root.addElement("title"); title.setText(data.getTitle());//from w w w. j a v a 2s.c om } Element fasta = root.addElement("fasta"); ByteArrayOutputStream fastaStream = new ByteArrayOutputStream(); FastaParser.toFasta(data.getAlignment().getMap(), fastaStream); fasta.add(df.createCDATA(new String(fastaStream.toByteArray(), StandardCharsets.UTF_8))); Element pdb = root.addElement("pdb"); pdb.addAttribute("pdbid", data.getPdbID()); table2xml(data.getTable(), root); if (data.getPlots().size() > 0) { Element plots = root.addElement("plots"); for (PlotDescription pd : data.getPlots()) { Element plot = plots.addElement("plot"); plot.addElement("x").setText(pd.getXAxisColumnID()); plot.addElement("y").setText(pd.getYAxisColumnID()); plot.addAttribute("title", pd.getPlotTitle()); } } XMLWriter writer = new XMLWriter(xmlOut); writer.write(doc); writer.close(); }
From source file:org.alfresco.module.vti.web.ws.VtiSoapResponse.java
License:Open Source License
/** * Write document to response//from w ww. ja v a 2 s . c om */ @Override public void flushBuffer() throws IOException { try { XMLWriter output = new XMLWriter(getOutputStream()); output.write(document); } catch (Exception e) { // ignore } }