Example usage for org.dom4j.io XMLWriter write

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

Introduction

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

Prototype

public void write(Object object) throws IOException 

Source Link

Document

Writes the given object which should be a String, a Node or a List of Nodes.

Usage

From source file:com.npower.dm.hibernate.management.ModelManagementBeanImpl.java

License:Open Source License

/**
 * /* w w w.j a  va2  s.c om*/
 * <pre>
 * Export the TAC form database by Model.
 * &lt;pre&gt;
 * 
 * @param manufacturer
 * @return
 * @throws DMException
 * 
 */
public void exportModelTAC(Manufacturer manufacturer, String outFile) throws DMException {

    Set<Model> modelSet = manufacturer.getModels();

    Document document = org.dom4j.DocumentHelper.createDocument();
    Element rootElement = document.addElement("Manufacturers");
    Element manElement = rootElement.addElement("Manufacturer");
    Element manNameElement = manElement.addElement("Name");
    manNameElement.setText(manufacturer.getName());
    Element manexterIDElement = manElement.addElement("ExternalID");
    manexterIDElement.setText(manufacturer.getExternalId());

    for (Model model : modelSet) {

        Set<String> tacSet = model.getModelTAC();
        if (tacSet.size() > 0) {
            Element modelElement = manElement.addElement("Model");
            Element modelNameElement = modelElement.addElement("Name");
            modelNameElement.setText(model.getName());
            Element modelexterIDElement = modelElement.addElement("ExternalID");
            modelexterIDElement.setText(model.getManufacturerModelId());
            Element TACSElement = modelElement.addElement("TACS");

            for (String tac : tacSet) {
                Element TACElement = TACSElement.addElement("TAC");
                TACElement.setText(tac);
            }
        } else {
            continue;
        }
    }

    try {

        XMLWriter writer = new XMLWriter(new FileWriter(new File(outFile)));
        writer.write(document);
        writer.close();
        this.formatXMLFile(outFile);

    } catch (Exception e) {
        System.err.println(e.getMessage());
    }

}

From source file:com.npower.dm.hibernate.management.ModelManagementBeanImpl.java

License:Open Source License

/**
 * // w  ww . java 2  s.c om
 * @param filename
 * @return
 */
public int formatXMLFile(String filename) {

    int returnValue = 0;

    try {

        SAXReader saxReader = new SAXReader();
        Document document = saxReader.read(new File(filename));
        XMLWriter writer = null;
        OutputFormat format = OutputFormat.createPrettyPrint();
        format.setEncoding("UTF-8");
        writer = new XMLWriter(new FileWriter(new File(filename)), format);
        writer.write(document);
        writer.close();
        returnValue = 1;

    } catch (Exception ex) {
        ex.printStackTrace();
    }
    return returnValue;
}

From source file:com.npower.dm.util.XMLPrettyFormatter.java

License:Open Source License

/**
 * Format the xml to pretty print format.
 * @return/*w  w  w .  j  a v a  2  s.  co m*/
 * @throws IOException
 */
public String format() throws IOException {

    StringWriter writer = new StringWriter();
    OutputFormat format = OutputFormat.createPrettyPrint();
    XMLWriter xmlwriter = new XMLWriter(writer, format);
    xmlwriter.write(this.document);
    return writer.toString();

}

From source file:com.orange.atk.atkUI.corecli.Campaign.java

License:Apache License

/**
 * Save current campaign in .mcl file//from  w  w w .  jav a2 s .c  o  m
 * 
 * @param clFileName
 * @throws IOException
 */
public static void save(String clFileName, Campaign camp) {
    Document document = DocumentHelper.createDocument();
    Element root = document.addElement("campaign");
    if (camp.getName() != null)
        root.addAttribute("name", camp.getName());
    if (camp.getAuthor() != null)
        root.addAttribute("author", camp.getAuthor());
    if (camp.getDate() != null)
        root.addAttribute("date", camp.getDate());
    if (camp.getDescription() != null)
        root.addAttribute("description", camp.getDescription());
    int stepNumber = 0;
    for (Step step : camp) {
        step.save(root, stepNumber);
        stepNumber++;
    }
    OutputFormat format = OutputFormat.createPrettyPrint();
    XMLWriter writer = null;
    try {
        writer = new XMLWriter(new FileWriter(clFileName), format);
        writer.write(document);
        writer.close();
    } catch (IOException e) {
        Alert.raise(e, "Unable to save check-list in a file.");
    }
}

From source file:com.orange.atk.atkUI.corecli.utils.FileUtilities.java

License:Apache License

/**
 * Copy a source html file into a destination file, patching the style sheet
 * on the fly for the given one.//w w  w  .j  a v a  2s . com
 * 
 * @param in
 *            source html file
 * @param out
 *            destination file
 * @param newStyleSheetPath
 *            the new css style sheet absolute path
 * @throws Exception
 */
public static void copyHTMLFilePrettyPrint(File in, File out, String newStyleSheetPath) throws Exception {
    SAXReader reader = new SAXReader();
    Document document = reader.read(in.getAbsolutePath());
    Element linkElem = (Element) document.selectSingleNode("/html/head/link");
    if (linkElem != null) {
        linkElem.addAttribute("href", newStyleSheetPath);
    }
    OutputFormat format = OutputFormat.createPrettyPrint();
    XMLWriter writer = new XMLWriter(new FileOutputStream(out), format);
    writer.write(document);
    writer.close();
}

From source file:com.orange.atk.atkUI.corecli.utils.XMLOutput.java

License:Apache License

public void generate() {
    try {//from  w ww  . j ava  2  s  .  c o  m
        OutputFormat format = OutputFormat.createPrettyPrint();
        format.setEncoding("UTF-8");
        XMLWriter writer = new XMLWriter(new FileWriter(file), format);
        writer.write(doc);
        writer.close();
    } catch (Exception e) {
        Alert.raise(e, "While generating " + file);
    }
}

From source file:com.orange.atk.atkUI.coregui.PhoneConfigurationWizard.java

License:Apache License

/**
 * call when user has changed configuration in interface
 *//*from w  ww .j a  v  a  2 s. c o  m*/
private void saveconfig() {
    //build xml
    Logger.getLogger(this.getClass()).debug("save config");
    Document configxml = DocumentHelper.createDocument();
    Element root = configxml.addElement("confile");

    Element graphlist = root.addElement("graphlist");

    //global graph
    for (int i = 0; i < graphs.getSize(); i++) {
        graphlist.addElement("graph").addAttribute("name", graphs.getName(i))
                .addAttribute("color", graphs.getColor(i)).addAttribute("xcomment", graphs.getcommentX(i))
                .addAttribute("ycomment", graphs.getcommentY(i)).addAttribute("unit", graphs.getunit(i))
                .addAttribute("scale", graphs.getscale(i)).addAttribute("sampled", graphs.getsampled(i));
    }

    //table Graph
    if (tablemodel != null)
        for (int i = 0; i < tablemodel.getRowCount(); i++) {
            //don't save non-fill row
            String processname = (String) tablemodel.getValueAt(i, 0);
            String type = (String) tablemodel.getValueAt(i, 1);
            String color = (String) tablemodel.getValueAt(i, 2);

            if ("process".equals(processname) || "color".equals(color) || "Cpu or Mem".equals(type)) {
                JOptionPane.showMessageDialog(null,
                        "You must select the process, the color AND the type! \nThe line will be ignored.");
                continue;
            }

            String unit = "";
            String scale = "1";
            if (type.equals("Cpu"))
                unit = "%";
            else if (type.equals("Memory")) {
                unit = "KBytes";
            } else if (type.equals("Data sent")) {
                unit = "KBytes";
                scale = "1000";
            } else if (type.equals("Data received")) {
                unit = "KBytes";
                scale = "1000";
            }
            graphlist.addElement("graph").addAttribute("name", type + "_" + processname)
                    .addAttribute("color", color).addAttribute("xcomment", "time (min)")
                    .addAttribute("ycomment", type + " " + processname).addAttribute("unit", unit)
                    .addAttribute("scale", scale).addAttribute("sampled", "true");
        }

    //marker
    Element markerlist = root.addElement("markerlist");
    for (int i = 0; i < events.getSize(); i++)
        markerlist.addElement("marker").addAttribute("name", events.getName(i)).addAttribute("color", "gray")
                .addAttribute("position", events.getPosition(i).toString());

    OutputFormat format = OutputFormat.createPrettyPrint();
    XMLWriter writer = null;
    try {
        writer = new XMLWriter(new FileWriter(configpath), format);
        writer.write(configxml);

        //
        //            XMLWriter out = new XMLWriter(System.out,format);
        //            out.write(configxml);

    } catch (UnsupportedEncodingException e1) {
        e1.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (writer != null)
            try {
                writer.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
    }

}

From source file:com.orange.atk.phone.android.wizard.AndroidWizard.java

License:Apache License

public void printReport() {
    String configXmlFileName = configFileName + ".xml";

    Document configxml = DocumentHelper.createDocument();

    configxml.addComment("  " + phone.getName() + " configuration file   ");
    configxml.addComment("   Screen resolution " + screenWidth + "x" + screenHeight + "   ");

    Element root = configxml.addElement("Android-config");

    Element canalPattern = root.addElement("CanalPattern");

    //keyboards/*from  www. j  a v  a 2 s. co  m*/
    if (!keyboard.equals(""))
        printKeyMapping("keyboard", keyboard, canalPattern, root);
    if (!keyboard2.equals(""))
        printKeyMapping("keyboard2", keyboard2, canalPattern, root);
    if (!keyboard3.equals(""))
        printKeyMapping("keyboard3", keyboard3, canalPattern, root);

    Set<String> softKeySet = softKeyMap.keySet();

    Element keyMapping = root.addElement("SoftKeyMapping");
    for (String key : softKeySet) {
        keyMapping.addElement("Key").addAttribute("name", key)
                .addAttribute("avgX", "" + softKeyMap.get(key).getX())
                .addAttribute("avgY", "" + softKeyMap.get(key).getY());
    }

    //touchscreen
    if (!touchscreen.equals("")) {
        canalPattern.addElement("Pattern").addAttribute("canal", "touchscreen").addAttribute("value",
                touchscreen.replace("\"", ""));
        Element Touchscreen = root.addElement("Touchscreen");

        Touchscreen.addComment("!!! THIS IS JUST TOUCHSCREEN Elements TEMPLATE !!!");
        Touchscreen
                .addComment("!!! SEE ATK User Guide - Configuration section - and UPDATE following values !!!");
        if (codeX != -1 && codeY != -1) {
            Touchscreen.addComment("!!! Please check following X Y ratioX and ratioY patterns");
            Touchscreen.addElement("Pattern").addAttribute("name", "X").addAttribute("value",
                    "3 " + codeX + " ");
            Touchscreen.addElement("Pattern").addAttribute("name", "Y").addAttribute("value",
                    "3 " + codeY + " ");
            long ratio = maxX * 100 / screenWidth;
            Touchscreen.addElement("Pattern").addAttribute("name", "ratioX").addAttribute("value",
                    String.valueOf((double) ratio / 100.0));
            ratio = maxY * 100 / screenHeight;
            Touchscreen.addElement("Pattern").addAttribute("name", "ratioY").addAttribute("value",
                    String.valueOf((double) ratio / 100.0));
            Touchscreen.addComment("!!! Please update following patterns");
        } else {
            Touchscreen.addElement("Pattern").addAttribute("name", "X").addAttribute("value", "0 0 ");
            Touchscreen.addElement("Pattern").addAttribute("name", "Y").addAttribute("value", "0 0 ");
            Touchscreen.addElement("Pattern").addAttribute("name", "ratioX").addAttribute("value", "1.0");
            Touchscreen.addElement("Pattern").addAttribute("name", "ratioY").addAttribute("value", "1.0");
        }
        Touchscreen.addElement("Pattern").addAttribute("name", "down").addAttribute("value", "0 0 0");
        Touchscreen.addElement("Pattern").addAttribute("name", "downmax").addAttribute("value", "0 0 0");
        Touchscreen.addElement("Pattern").addAttribute("name", "up").addAttribute("value", "0 0 0");
        Touchscreen.addElement("Pattern").addAttribute("name", "flush").addAttribute("value", "0 0 0");
        Touchscreen.addElement("Pattern").addAttribute("name", "flush2").addAttribute("value", "0 2 0");
        Touchscreen.addElement("Threshold").addAttribute("name", "move").addAttribute("value", "15");
        Touchscreen.addElement("Option").addAttribute("name", "sendMouseDownForMove").addAttribute("value",
                "true");
        Touchscreen.addElement("Option").addAttribute("name", "sendMouseEventFirst").addAttribute("value",
                "true");
        Touchscreen.addElement("Option").addAttribute("name", "useMonkeyForPress").addAttribute("value",
                "true");
    }

    //Write the file.
    OutputFormat format = OutputFormat.createPrettyPrint();
    XMLWriter writer = null;
    try {
        writer = new XMLWriter(new FileWriter(configXmlFileName), format);
        writer.write(configxml);
        writer.close();
    } catch (IOException e) {
        e.printStackTrace();
    }

    //Show a confirm dialog and exit the wizard
    JOptionPane.showConfirmDialog(this,
            "A template of the config file has been created under \n" + configXmlFileName + "\n"
                    + "See ATK User guide to configure the Touchscreen section of this template\n",
            "Success", JOptionPane.CLOSED_OPTION);
    exit(true);

}

From source file:com.ostrichemulators.semtool.ui.components.playsheets.BrowserPlaySheet2.java

License:Open Source License

protected BufferedImage getExportImageFromSVGBlock() throws IOException {
    log.debug("Using SVG block to save image.");
    DOMReader rdr = new DOMReader();
    Document doc = rdr.read(engine.getDocument());
    Document svgdoc = null;//from  ww  w . j  av a  2 s .co m
    File svgfile = null;
    try {
        Map<String, String> namespaceUris = new HashMap<>();
        namespaceUris.put("svg", "http://www.w3.org/2000/svg");
        namespaceUris.put("xhtml", "http://www.w3.org/1999/xhtml");

        XPath xp = DocumentHelper.createXPath("//svg:svg");
        xp.setNamespaceURIs(namespaceUris);
        // don't forget about the styles
        XPath stylexp = DocumentHelper.createXPath("//xhtml:style");
        stylexp.setNamespaceURIs(namespaceUris);

        svgdoc = DocumentHelper.createDocument();
        Element svg = null;
        List<?> theSVGElements = xp.selectNodes(doc);
        if (theSVGElements.size() == 1) {
            svg = Element.class.cast(theSVGElements.get(0)).createCopy();
        } else {
            int currentTop = 0;
            int biggestSize = 0;
            for (int i = 0; i < theSVGElements.size(); i++) {
                Element thisElement = Element.class.cast(theSVGElements.get(i)).createCopy();
                int thisSize = thisElement.asXML().length();
                if (thisSize > biggestSize) {
                    currentTop = i;
                    biggestSize = thisSize;
                }
            }
            svg = Element.class.cast(theSVGElements.get(currentTop)).createCopy();
        }

        svgdoc.setRootElement(svg);

        Element oldstyle = Element.class.cast(stylexp.selectSingleNode(doc));
        if (null != oldstyle) {
            Element defs = svg.addElement("defs");
            Element style = defs.addElement("style");
            style.addAttribute("type", "text/css");
            String styledata = oldstyle.getTextTrim();
            style.addCDATA(styledata);
            // put the stylesheet definitions first
            List l = svg.elements();
            l.remove(defs);
            l.add(0, defs);
        }

        // clean up the SVG a little...
        // d3 comes up with coords like
        // M360,27475.063247863247C450,27475.063247863247 450,27269.907692307694 540,27269.907692307694
        XPath cleanxp1 = DocumentHelper.createXPath("//svg:path");
        Pattern pat = Pattern.compile(",([0-9]+)\\.([0-9]{1,2})[0-9]+");
        cleanxp1.setNamespaceURIs(namespaceUris);
        List<?> cleanups = cleanxp1.selectNodes(svgdoc);
        for (Object n : cleanups) {
            Element e = Element.class.cast(n);
            String dstr = e.attributeValue("d");
            Matcher m = pat.matcher(dstr);
            dstr = m.replaceAll(",$1.$2 ");
            e.addAttribute("d", dstr.replaceAll("([0-9])C([0-9])", "$1 C$2").trim());
        }
        XPath cleanxp2 = DocumentHelper.createXPath("//svg:g[@class='node']");
        cleanxp2.setNamespaceURIs(namespaceUris);
        cleanups = cleanxp2.selectNodes(svgdoc);
        for (Object n : cleanups) {
            Element e = Element.class.cast(n);
            String dstr = e.attributeValue("transform");
            Matcher m = pat.matcher(dstr);
            dstr = m.replaceAll(",$1.$2");
            e.addAttribute("transform", dstr.trim());
        }

        svgfile = File.createTempFile("graphviz-", ".svg");
        try (Writer svgw = new BufferedWriter(new FileWriter(svgfile))) {
            OutputFormat format = OutputFormat.createPrettyPrint();
            XMLWriter xmlw = new XMLWriter(svgw, format);
            xmlw.write(svgdoc);
            xmlw.close();

            if (log.isDebugEnabled()) {
                FileUtils.copyFile(svgfile, new File(FileUtils.getTempDirectory(), "graphvisualization.svg"));
            }
        }

        try (Reader svgr = new BufferedReader(new FileReader(svgfile))) {
            TranscoderInput inputSvg = new TranscoderInput(svgr);

            ByteArrayOutputStream baos = new ByteArrayOutputStream((int) svgfile.length());
            TranscoderOutput outputPng = new TranscoderOutput(baos);

            try {
                PNGTranscoder transcoder = new PNGTranscoder();
                transcoder.addTranscodingHint(PNGTranscoder.KEY_INDEXED, 256);
                transcoder.addTranscodingHint(ImageTranscoder.KEY_BACKGROUND_COLOR, Color.WHITE);
                transcoder.transcode(inputSvg, outputPng);
            } catch (Throwable t) {
                log.error(t, t);
            }
            baos.flush();
            baos.close();

            return ImageIO.read(new ByteArrayInputStream(baos.toByteArray()));
        }
    } catch (InvalidXPathException e) {
        log.error(e);
        String msg = "Problem creating image";
        if (null != svgdoc) {
            try {
                File errsvg = new File(FileUtils.getTempDirectory(), "graphvisualization.svg");
                FileUtils.write(errsvg, svgdoc.asXML(), Charset.defaultCharset());
                msg = "Could not create the image. SVG data store here: " + errsvg.getAbsolutePath();
            } catch (IOException ex) {
                // don't care
            }
        }
        throw new IOException(msg, e);
    } finally {
        if (null != svgfile) {
            FileUtils.deleteQuietly(svgfile);
        }
    }
}

From source file:com.oubeichen.gefexp.ShapesEditor.java

License:Open Source License

private void createRawOutput(ByteArrayOutputStream out) throws IOException {
    /*StringBuffer sb = new StringBuffer();
    Iterator it = getModel().getChildren()
    .iterator(), conit;/*from   w ww  .  j  a v a 2 s .co  m*/
    HashSet<Connection> hs = new HashSet<Connection>();
    sb.append("Shapes:\n"
    + getModel().getChildren()
          .size() + "\n");// shape
    while (it.hasNext()) {
       Shape sp = (Shape) it.next();
       sb.append(sp.toString() + "\n");
       sb.append("height:\n"
       + sp.getSize().height
       + "\nwidth:\n"
       + sp.getSize().width + "\n");
       sb.append("location:\n"
       + sp.getLocation().x + " "
       + sp.getLocation().y + "\n");
       conit = sp.getSourceConnections()
       .iterator();
       while (conit.hasNext()) {
    hs.add((Connection) conit.next());
       }
       conit = sp.getTargetConnections()
       .iterator();
       while (conit.hasNext()) {
    hs.add((Connection) conit.next());
       }
       sb.append("\n");// ?
    }
            
    sb.append("Connections:\n" + hs.size()
    + "\n");
    it = hs.iterator();
    while (it.hasNext()) {
       Connection con = (Connection) it
       .next();
       sb.append(con.getSource()
       .toString() + "\n");
       sb.append(con.getTarget()
       .toString() + "\n");
       sb.append("\n");// ?
    }
    out.write(sb.toString().getBytes());*/

    Document document = DocumentHelper.createDocument();
    Element root = document.addElement("diagram");// 
    Element shaperoot = root.addElement("shapes");
    Iterator it = getModel().getChildren().iterator(), conit;
    HashSet<Connection> hs = new HashSet<Connection>();
    while (it.hasNext()) {//shape
        Shape sp = (Shape) it.next();
        Element shapeElm = shaperoot.addElement("shape");
        shapeElm.addElement("name").addText(sp.toString());
        shapeElm.addElement("height").addText(String.valueOf(sp.getSize().height));
        shapeElm.addElement("width").addText(String.valueOf(sp.getSize().width));
        shapeElm.addElement("locx").addText(String.valueOf(sp.getLocation().x));
        shapeElm.addElement("locy").addText(String.valueOf(sp.getLocation().y));
        conit = sp.getSourceConnections().iterator();
        while (conit.hasNext()) {
            hs.add((Connection) conit.next());
        }
        conit = sp.getTargetConnections().iterator();
        while (conit.hasNext()) {
            hs.add((Connection) conit.next());
        }
    }
    Element connroot = root.addElement("connections");
    it = hs.iterator();
    while (it.hasNext()) {
        Element connElm = connroot.addElement("connection");
        Connection con = (Connection) it.next();
        connElm.addElement("source").addText(con.getSource().toString());
        connElm.addElement("target").addText(con.getTarget().toString());
    }
    OutputFormat format = OutputFormat.createPrettyPrint();
    format.setEncoding("UTF-8"); // XML?        
    XMLWriter writer;
    try {
        writer = new XMLWriter(out, format);
        writer.write(document);
        writer.close();
    } catch (IOException ex) {
        System.err.println("Cannot create output file!");
        ex.printStackTrace();
    }
    out.close();
}