Example usage for javax.xml.transform OutputKeys INDENT

List of usage examples for javax.xml.transform OutputKeys INDENT

Introduction

In this page you can find the example usage for javax.xml.transform OutputKeys INDENT.

Prototype

String INDENT

To view the source code for javax.xml.transform OutputKeys INDENT.

Click Source Link

Document

indent = "yes" | "no".

Usage

From source file:com.intuit.karate.cucumber.KarateJunitFormatter.java

@Override
public void done() {
    try {//from   w  ww  .  j ava2s.  c  o  m
        String featureName = StringUtils.trimToNull(testCase.feature.getName());
        if (featureName == null) {
            featureName = featurePath;
        }
        rootElement.setAttribute("name", featureName);
        testCount = Integer.valueOf(rootElement.getAttribute("tests"));
        failCount = rootElement.getElementsByTagName("failure").getLength();
        rootElement.setAttribute("failures", String.valueOf(failCount));
        skipCount = rootElement.getElementsByTagName("skipped").getLength();
        rootElement.setAttribute("skipped", String.valueOf(skipCount));
        timeTaken = sumTimes(rootElement.getElementsByTagName("testcase"));
        rootElement.setAttribute("time", formatTime(timeTaken));
        printStatsToConsole();
        if (rootElement.getElementsByTagName("testcase").getLength() == 0) {
            addDummyTestCase(); // to avoid failed Jenkins jobs
        }
        TransformerFactory transfac = TransformerFactory.newInstance();
        Transformer trans = transfac.newTransformer();
        trans.setOutputProperty(OutputKeys.INDENT, "yes");
        StreamResult result = new StreamResult(out);
        DOMSource source = new DOMSource(doc);
        trans.transform(source, result);
    } catch (TransformerException e) {
        throw new CucumberException("Error while transforming.", e);
    }
    logger.trace("<< {}", reportPath);
}

From source file:com.ibm.rpe.web.service.docgen.impl.GenerateBaseTemplate.java

private static String nodeToString(Node node) {
    StringWriter sw = new StringWriter();
    try {/*from  w  w w.  j  a  va  2  s  .  c o m*/
        Transformer t = TransformerFactory.newInstance().newTransformer();
        t.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
        t.setOutputProperty(OutputKeys.INDENT, "yes");
        t.transform(new DOMSource(node), new StreamResult(sw));
    } catch (TransformerException te) {
        System.out.println("nodeToString Transformer Exception");
    }
    return sw.toString();
}

From source file:dicoogle.ua.dim.DIMGeneric.java

public String getXML() {

    StringWriter writer = new StringWriter();

    StreamResult streamResult = new StreamResult(writer);
    SAXTransformerFactory tf = (SAXTransformerFactory) TransformerFactory.newInstance();
    //      SAX2.0 ContentHandler.
    TransformerHandler hd = null;
    try {//  ww  w .j a  va 2  s. com
        hd = tf.newTransformerHandler();
    } catch (TransformerConfigurationException ex) {
        Logger.getLogger(DIMGeneric.class.getName()).log(Level.SEVERE, null, ex);
    }
    Transformer serializer = hd.getTransformer();
    serializer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
    serializer.setOutputProperty(OutputKeys.METHOD, "xml");
    serializer.setOutputProperty(OutputKeys.INDENT, "yes");
    serializer.setOutputProperty(OutputKeys.STANDALONE, "yes");
    hd.setResult(streamResult);
    try {
        hd.startDocument();

        AttributesImpl atts = new AttributesImpl();
        hd.startElement("", "", "DIM", atts);

        for (Patient p : this.patients) {
            atts.clear();
            atts.addAttribute("", "", "name", "", p.getPatientName().trim());
            atts.addAttribute("", "", "id", "", p.getPatientID().trim());
            hd.startElement("", "", "Patient", atts);

            for (Study s : p.getStudies()) {
                atts.clear();
                atts.addAttribute("", "", "date", "", s.getStudyData().trim());
                atts.addAttribute("", "", "id", "", s.getStudyInstanceUID().trim());

                hd.startElement("", "", "Study", atts);

                for (Serie serie : s.getSeries()) {
                    atts.clear();
                    atts.addAttribute("", "", "modality", "", serie.getModality().trim());
                    atts.addAttribute("", "", "id", "", serie.getSerieInstanceUID().trim());

                    hd.startElement("", "", "Serie", atts);

                    ArrayList<URI> img = serie.getImageList();
                    ArrayList<String> uid = serie.getSOPInstanceUIDList();
                    int size = img.size();
                    for (int i = 0; i < size; i++) {
                        atts.clear();
                        atts.addAttribute("", "", "path", "", img.get(i).toString().trim());
                        atts.addAttribute("", "", "uid", "", uid.get(i).trim());

                        hd.startElement("", "", "Image", atts);
                        hd.endElement("", "", "Image");
                    }
                    hd.endElement("", "", "Serie");
                }
                hd.endElement("", "", "Study");
            }
            hd.endElement("", "", "Patient");
        }
        hd.endElement("", "", "DIM");

    } catch (SAXException ex) {
        Logger.getLogger(DIMGeneric.class.getName()).log(Level.SEVERE, null, ex);
    }

    return writer.toString();
}

From source file:fr.adfab.magebeans.processes.CreateModuleProcess.java

protected void _writeConfigXmlFile() {
    try {//from   w ww. ja  va 2s  .c o  m
        String configFile = this.moduleDir + "/" + this.CONFIG_PATH;
        Transformer tr = TransformerFactory.newInstance().newTransformer();
        tr.setOutputProperty(OutputKeys.INDENT, "yes");
        tr.setOutputProperty(OutputKeys.METHOD, "xml");
        tr.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");

        tr.transform(new DOMSource(dom), new StreamResult(new FileOutputStream(configFile)));
    } catch (TransformerConfigurationException ex) {
        System.out.println(ex.getMessage());
    } catch (TransformerException | FileNotFoundException ex) {
        System.out.println(ex.getMessage());
    }
}

From source file:com.oprisnik.semdroid.SemdroidServlet.java

public String getResults(SemdroidReport results, InputStream transformationStyle) {
    try {/* w  ww . j a va2  s .  c o  m*/
        Document doc = XmlUtils.createDocument();
        Element rootElement = doc.createElement("AnalysisResults");
        doc.appendChild(rootElement);
        XmlUtils.addResults(results, doc, rootElement);

        StringWriter writer = new StringWriter();

        TransformerFactory transformerFactory = TransformerFactory.newInstance();
        StreamSource stylesource = new StreamSource(transformationStyle);
        Transformer transformer = transformerFactory.newTransformer(stylesource);
        transformer.setOutputProperty(OutputKeys.INDENT, "yes");
        transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
        DOMSource source = new DOMSource(doc);
        StreamResult result = new StreamResult(writer);
        transformer.transform(source, result);
        return writer.toString();

    } catch (ParserConfigurationException pce) {
        pce.printStackTrace();
        log.warning("Exception: " + pce.getMessage());
        log.throwing(this.getClass().getName(), "getResults", pce);
    } catch (TransformerConfigurationException e) {
        e.printStackTrace();
        log.warning("Exception: " + e.getMessage());
        log.throwing(this.getClass().getName(), "getResults", e);
    } catch (TransformerException e) {
        e.printStackTrace();
        log.warning("Exception: " + e.getMessage());
        log.throwing(this.getClass().getName(), "getResults", e);
    }
    return null;
}

From source file:de.avanux.livetracker.statistics.TrackingStatistics.java

private String getDocumentAsString(Document doc) {
    String xmlString = null;/*from w  w w .  ja  v a2s .  c om*/
    try {
        TransformerFactory factory = TransformerFactory.newInstance();
        Transformer serializer = factory.newTransformer();
        serializer.setOutputProperty(OutputKeys.INDENT, "yes");
        serializer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");

        StringWriter writer = new StringWriter();
        DOMSource xmlSource = new DOMSource(doc);
        StreamResult outputTarget = new StreamResult(writer);
        serializer.transform(xmlSource, outputTarget);
    } catch (TransformerException e) {
        log.error("Error transforming XML:", e);
    }
    return xmlString;
}

From source file:betullam.xmlmodifier.XMLmodifier.java

public void add(String mdFolder, String condStructureElements, String elementNames, String attrNames,
        String attrValues, String textValue, boolean allowDuplicate) {

    // Get the files that should be modified:
    Set<File> filesForInsertion = getFilesForInsertion(condStructureElements, mdFolder);

    // Backup XML-files before modifing them:
    makeBackupFiles(filesForInsertion);/*from  www .j av  a  2  s .co m*/

    // Iterate over all files in given directory and it's subdirectories. Works with Apache commons-io library (FileUtils).
    for (File xmlFile : filesForInsertion) {

        // DOM Parser:
        String filePath = xmlFile.getAbsolutePath();
        DocumentBuilderFactory documentFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder documentBuilder;
        Document xmlDoc = null;

        try {
            documentBuilder = documentFactory.newDocumentBuilder();
            xmlDoc = documentBuilder.parse(filePath);

            // Get the elements we want to add another element. The name-attribute of the <goobi:metadata ...>-tag is important.
            List<Element> elementsForInsertion = getElementsForInsertion(condStructureElements, xmlDoc);

            if (!elementsForInsertion.isEmpty()) {

                List<String> lstElementNames = Arrays.asList(elementNames.split("\\s*,\\s*"));
                List<String> lstAttrNames = Arrays.asList(attrNames.split("\\s*,\\s*"));
                List<String> lstAttrValues = Arrays.asList(attrValues.split("\\s*,\\s*"));
                if (!lstElementNames.isEmpty()) {
                    int noOfElements = lstElementNames.size();
                    if ((noOfElements == lstAttrNames.size()) && (noOfElements == lstAttrValues.size())) {
                        Element lastElement = null;
                        Element newElement = null;
                        for (String elementName : lstElementNames) {
                            int index = lstElementNames.indexOf(elementName);

                            newElement = xmlDoc.createElement(elementName);
                            String attrName = lstAttrNames.get(index);
                            String attrValue = lstAttrValues.get(index);

                            // Set attribute name and value:
                            if (!attrName.equals("null") && !attrValue.equals("null")) {
                                if (!attrName.isEmpty() && !attrValue.isEmpty()) {
                                    newElement.setAttribute(attrName, attrValue);
                                }
                            }

                            // Set text content to the inner-most element:
                            if ((noOfElements - 1) == index) {
                                newElement.setTextContent(textValue);
                            }

                            // Add element to document:
                            if (newElement != null) {
                                for (Element rootElement : elementsForInsertion) {
                                    if (index == 0) { // Append element to root node

                                        if (allowDuplicate == false) {
                                            // Add only if element with same value does not already exist.
                                            if (!hasDuplicate(rootElement, elementName, attrName, attrValue,
                                                    textValue)) {
                                                rootElement.appendChild(newElement);
                                            }
                                        } else {
                                            rootElement.appendChild(newElement);
                                        }
                                    } else { // Append element to previous element
                                        if (allowDuplicate == false) {
                                            // Add only if element with same value does not already exist.
                                            if (!hasDuplicate(lastElement, elementName, attrName, attrValue,
                                                    textValue)) {
                                                lastElement.appendChild(newElement);
                                            }
                                        } else {
                                            lastElement.appendChild(newElement);
                                        }
                                    }
                                    lastElement = newElement;
                                }
                            }
                        }
                    } else {
                        System.err.println(
                                "The number of attribute names and values must be the same as the number of element names. Use \"null\" for attribute name and values if you don't want to add them.");
                    }
                } else {
                    System.err.println("You have to supply at least one element name.");
                }

                DOMSource source = new DOMSource(xmlDoc);

                TransformerFactory transformerFactory = TransformerFactory.newInstance();
                Transformer transformer = transformerFactory.newTransformer();
                transformer.setOutputProperty(OutputKeys.INDENT, "yes");
                StreamResult result = new StreamResult(filePath);
                transformer.transform(source, result);
            }
        } catch (ParserConfigurationException e) {
            e.printStackTrace();
        } catch (SAXException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (TransformerException e) {
            e.printStackTrace();
        }
    }

}

From source file:com.blackducksoftware.integration.hub.jenkins.PostBuildScanDescriptor.java

public void updateByXml(final Source source)
        throws IOException, TransformerException, ParserConfigurationException, SAXException {
    final TransformerFactory tFactory = TransformerFactory.newInstance();
    final Transformer transformer = tFactory.newTransformer();
    transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
    transformer.setOutputProperty(OutputKeys.INDENT, "yes");

    final ByteArrayOutputStream byteOutput = new ByteArrayOutputStream();

    final StreamResult result = new StreamResult(byteOutput);
    transformer.transform(source, result);

    final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    final DocumentBuilder builder = factory.newDocumentBuilder();
    final InputSource is = new InputSource(new StringReader(byteOutput.toString("UTF-8")));
    final Document doc = builder.parse(is);

    final HubServerInfo serverInfo = new HubServerInfo();

    if (doc.getElementsByTagName("hubServerInfo").getLength() > 0) {
        final Node hubServerInfoNode = doc.getElementsByTagName("hubServerInfo").item(0);
        if (hubServerInfoNode != null && hubServerInfoNode.getNodeType() == Node.ELEMENT_NODE) {
            final Element hubServerInfoElement = (Element) hubServerInfoNode;

            final Node credentialsNode = hubServerInfoElement.getElementsByTagName("credentialsId").item(0);
            String credentialId = "";
            if (credentialsNode != null && credentialsNode.getChildNodes() != null
                    && credentialsNode.getChildNodes().item(0) != null) {
                credentialId = credentialsNode.getChildNodes().item(0).getNodeValue();
                if (credentialId != null) {
                    credentialId = credentialId.trim();
                }//from   w  w  w  . j  a v a2 s  .  co m
            }

            final Node serverUrlNode = hubServerInfoElement.getElementsByTagName("serverUrl").item(0);
            String serverUrl = "";
            if (serverUrlNode != null && serverUrlNode.getChildNodes() != null
                    && serverUrlNode.getChildNodes().item(0) != null) {
                serverUrl = serverUrlNode.getChildNodes().item(0).getNodeValue();
                if (serverUrl != null) {
                    serverUrl = serverUrl.trim();
                }
            }
            final Node timeoutNode = hubServerInfoElement.getElementsByTagName("hubTimeout").item(0);
            String hubTimeout = String.valueOf(HubServerInfo.getDefaultTimeout()); // default timeout
            if (timeoutNode != null && timeoutNode.getChildNodes() != null
                    && timeoutNode.getChildNodes().item(0) != null) {
                hubTimeout = timeoutNode.getChildNodes().item(0).getNodeValue();
                if (hubTimeout != null) {
                    hubTimeout = hubTimeout.trim();
                }
            }

            serverInfo.setCredentialsId(credentialId);
            serverInfo.setServerUrl(serverUrl);

            int serverTimeout = 300;
            try {
                serverTimeout = Integer.valueOf(hubTimeout);
            } catch (final NumberFormatException e) {
                System.err.println(
                        "Could not convert the provided timeout : " + hubTimeout + ", to an int value.");
                e.printStackTrace(System.err);
            }
            serverInfo.setTimeout(serverTimeout);
        }
    }
    hubServerInfo = serverInfo;

    save();
    HubServerInfoSingleton.getInstance().setServerInfo(hubServerInfo);
}

From source file:edu.cornell.mannlib.vitro.webapp.web.templatemodels.customlistview.CustomListViewConfigFile.java

private String formatXmlNode(Node node) {
    try {//ww w.  j  a v  a2 s  .  c o m
        // Set up the output transformer
        Transformer t = TransformerFactory.newInstance().newTransformer();
        t.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
        t.setOutputProperty(OutputKeys.INDENT, "yes");

        // Print the DOM node
        StringWriter sw = new StringWriter();
        StreamResult result = new StreamResult(sw);
        DOMSource source = new DOMSource(node);
        t.transform(source, result);
        return sw.toString();
    } catch (TransformerException e) {
        return "Failed to format XML node: " + node.getTextContent();
    }
}