Example usage for org.dom4j.io XMLWriter XMLWriter

List of usage examples for org.dom4j.io XMLWriter XMLWriter

Introduction

In this page you can find the example usage for org.dom4j.io XMLWriter XMLWriter.

Prototype

public XMLWriter(OutputFormat format) throws UnsupportedEncodingException 

Source Link

Usage

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
    }

}