Example usage for org.dom4j.io OutputFormat createPrettyPrint

List of usage examples for org.dom4j.io OutputFormat createPrettyPrint

Introduction

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

Prototype

public static OutputFormat createPrettyPrint() 

Source Link

Document

A static helper method to create the default pretty printing format.

Usage

From source file:main.FrevoMain.java

License:Open Source License

/**
 * Saves FREVO settings to the configuration file. Initiates file writing to
 * store data./*from w w  w  .j  a v a 2 s. co  m*/
 */
public static void saveSettings() {
    Document doc;
    File configfile = new File(FREVO_INSTALL_DIRECTORY + "/frevo_config.xml");
    if (configfile.exists()) {
        // load data if it already exists
        doc = SafeSAX.read(configfile, true);

        Node windowsizes = doc.selectSingleNode("/frevo/window-sizes");

        List<?> items = windowsizes.selectNodes(".//window");
        Iterator<?> it = items.iterator();

        while (it.hasNext()) {
            Element el = (Element) it.next();
            String name = el.valueOf("./@name");

            // save main data
            if (name.equals("main")) {
                el.addAttribute("width", Integer.toString(FrevoMain.mainWindowParameters[0]));
                el.addAttribute("height", Integer.toString(FrevoMain.mainWindowParameters[1]));
            }
            // save component browser data
            if (name.equals("componentbrowser")) {
                el.addAttribute("width", Integer.toString(FrevoMain.componentBrowserParameters[0]));
                el.addAttribute("height", Integer.toString(FrevoMain.componentBrowserParameters[1]));
                el.addAttribute("topsplit", Integer.toString(FrevoMain.componentBrowserParameters[2]));
                el.addAttribute("bigsplit", Integer.toString(FrevoMain.componentBrowserParameters[3]));
            }
        }
    } else {
        try {
            configfile.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }
        // file does not exist
        doc = DocumentHelper.createDocument();
        doc.addDocType("frevo", null, "config.dtd");
        Element dfrevo = doc.addElement("frevo");

        dfrevo.addElement("tags");

        Element windowsizes = dfrevo.addElement("window-sizes");
        Element mainwindow = windowsizes.addElement("window");
        mainwindow.addAttribute("name", "main");
        mainwindow.addAttribute("width", Integer.toString(FrevoMain.mainWindowParameters[0]));
        mainwindow.addAttribute("height", Integer.toString(FrevoMain.mainWindowParameters[1]));

        Element compwindow = windowsizes.addElement("window");
        compwindow.addAttribute("name", "componentbrowser");
        compwindow.addAttribute("width", Integer.toString(FrevoMain.componentBrowserParameters[0]));
        compwindow.addAttribute("height", Integer.toString(FrevoMain.componentBrowserParameters[1]));
        compwindow.addAttribute("topsplit", Integer.toString(FrevoMain.componentBrowserParameters[2]));
        compwindow.addAttribute("bigsplit", Integer.toString(FrevoMain.componentBrowserParameters[3]));
    }

    // write to file
    try {
        OutputFormat format = OutputFormat.createPrettyPrint();
        format.setLineSeparator(System.getProperty("line.separator"));

        configfile.createNewFile();
        FileWriter out = new FileWriter(configfile);
        BufferedWriter bw = new BufferedWriter(out);
        XMLWriter wr = new XMLWriter(bw, format);
        wr.write(doc);
        wr.close();
    } catch (IOException e) {
        e.printStackTrace();
        System.exit(1);
    }
}

From source file:main.FrevoMain.java

License:Open Source License

/**
 * Imports a component packaged in the FREVO package format (zcp). Copied
 * files will still persist even if operation fails or the component is bad.
 * /*from   w  w  w.  j av  a2s.co  m*/
 * @param importfile
 *            The ZCP file to be imported.
 */
public static void importComponent(File importfile) {
    // unzip to the given location
    String outputdir = null;
    URI frevo_install_base = new File(FrevoMain.getInstallDirectory()).toURI();
    try {
        ZipFile zfile = new ZipFile(importfile);
        File directory = new File(FREVO_INSTALL_DIRECTORY + File.separator + "Components");

        Enumeration<? extends ZipEntry> entries = zfile.entries();
        while (entries.hasMoreElements()) {
            ZipEntry entry = entries.nextElement();
            File file = new File(directory, entry.getName());
            if (entry.isDirectory()) {
                file.mkdirs();
            } else {
                file.getParentFile().mkdirs();
                InputStream in = zfile.getInputStream(entry);
                try {
                    copy(in, file);
                    // copy data from root XML
                    String extension = FrevoMain.getExtension(file);
                    if (extension.equals("xml")) {
                        URI fileURI = frevo_install_base.relativize(file.toURI());
                        String uristring = fileURI.toString();
                        String opath = uristring.substring(0, uristring.length() - extension.length() - 1);
                        if ((outputdir == null) || (opath.length() < outputdir.length())) {
                            outputdir = opath;
                        }
                    }
                } finally {
                    in.close();
                }
            }
        }
        zfile.close();
    } catch (ZipException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    // component successfully installed, add to Eclipse classpath
    File classpath = new File(FREVO_INSTALL_DIRECTORY + File.separator + ".classpath");
    if (classpath.exists()) {
        System.out.println("Adjusting Eclipse classpath...");
        Document doc = SafeSAX.read(classpath, true);

        Element root = doc.getRootElement();

        Element componentElement = root.addElement("classpathentry");
        componentElement.addAttribute("kind", "src");
        componentElement.addAttribute("output", outputdir);
        componentElement.addAttribute("path", outputdir);

        // save file
        try {
            OutputFormat format = OutputFormat.createPrettyPrint();
            format.setLineSeparator(System.getProperty("line.separator"));
            FileWriter out = new FileWriter(classpath);
            BufferedWriter bw = new BufferedWriter(out);
            XMLWriter wr = new XMLWriter(bw, format);
            wr.write(doc);
            wr.close();
        } catch (IOException e) {
            System.err.println("ERROR: Could not write Eclipse classpath file!");
            e.printStackTrace();
        }
    }

}

From source file:main.FrevoMain.java

License:Open Source License

/**
 * Removes the component from the installed components. This function also
 * removes all files within the component's directory. Forces FREVO to
 * reload all components afterwards.//  w  w  w.j a  v  a2s  .c o  m
 * 
 * @param cdata
 *            The component to be removed
 */
public static void deleteComponent(ComponentXMLData cdata) {

    // remove base XML
    File baseXML = cdata.getSourceXMLFile();
    baseXML.delete();

    // erase all files within component directory
    // get class root directory
    String classDir = cdata.getClassDir();

    // extract directory name
    // construct copy
    int i = 0;
    while (i < classDir.length()) {
        char c = classDir.charAt(i);
        if ((c == '/') || (c == '\\')) {
            i++;
        } else {
            break;
        }
    }

    int end = i + 1;
    while (end < classDir.length()) {
        char c = classDir.charAt(end);
        if ((c == '/') || (c == '\\')) {
            break;
        } else {
            end++;
        }
    }

    classDir = classDir.substring(i, end);

    String comprootdirname = classDir.split("/")[0];

    // get component root directory
    String comprootdir = FrevoMain.getComponentDirectory(cdata.getComponentType()) + comprootdirname;

    File rootdir = new File(comprootdir);

    eraseDirectory(rootdir);

    // Remove entry from classpath
    File classpath = new File(FrevoMain.getInstallDirectory() + File.separator + ".classpath");
    if (classpath.exists()) {
        Document doc = SafeSAX.read(classpath, true);

        Element root = doc.getRootElement();
        String output; // the string to match the "output" field in
        // classpath xml

        // correct pathname for multiproblems
        if (cdata.getComponentType() == ComponentType.FREVO_MULTIPROBLEM)
            output = "Components/" + "Problems/" + comprootdirname;
        else if (cdata.getComponentType() == ComponentType.FREVO_BULKREPRESENTATION)
            output = "Components/" + "Representations/" + comprootdirname;
        else
            output = "Components/" + FrevoMain.getComponentTypeAsString(cdata.getComponentType()) + "s/"
                    + comprootdirname;
        // System.out.println("removing "+output);
        Node node = root.selectSingleNode("classpathentry[@output='" + output + "']");
        if (node != null)
            node.detach();

        // save XML
        try {
            OutputFormat format = OutputFormat.createPrettyPrint();
            format.setLineSeparator(System.getProperty("line.separator"));
            FileWriter out = new FileWriter(classpath);
            BufferedWriter bw = new BufferedWriter(out);
            XMLWriter wr = new XMLWriter(bw, format);
            wr.write(doc);
            wr.close();
        } catch (IOException e) {
            System.err.println("ERROR: Could not write Eclipse classpath file!");
            e.printStackTrace();
        }

    }

    // force reloading components
    FrevoMain.reLoadComponents(true);
}

From source file:net.bpfurtado.ljcolligo.util.Util.java

License:Open Source License

public static void save(Element root, File file) {
    OutputFormat format = OutputFormat.createPrettyPrint();
    format.setIndentSize(4);/* w  w w . j a  v  a2 s .c  o m*/
    format.setEncoding("UTF-8");
    format.setNewlines(true);
    format.setLineSeparator(System.getProperty("line.separator"));
    XMLWriter writer;
    try {
        writer = new XMLWriter(new FileWriter(file), format);
        writer.startDocument();
        writer.write(root);
        writer.close();
        logger.debug("All entries saved to file [" + file.getAbsolutePath() + "]");
    } catch (Exception e) {
        throw new LJColligoException("File [" + file.getAbsolutePath() + "]", e);
    }
}

From source file:net.bpfurtado.tas.model.persistence.XMLAdventureWriter.java

License:Open Source License

private File save(Document doc) {
    try {/*ww w.  j a  v a 2  s. c o m*/
        if (!saveFile.getName().endsWith(".adv.xml")) {
            saveFile = new File(saveFile.getAbsolutePath() + ".adv.xml");
        }

        OutputFormat format = OutputFormat.createPrettyPrint();
        format.setEncoding("ISO-8859-1");
        format.setNewlines(true);
        format.setLineSeparator(System.getProperty("line.separator"));
        XMLWriter writer = new XMLWriter(new FileWriter(saveFile), format);

        writer.write(doc);
        writer.close();

        return saveFile;
    } catch (Exception e) {
        throw new AdventureException("Error writing adventure", e);
    }
}

From source file:net.bpfurtado.tas.runner.savegame.SaveGamePersister.java

License:Open Source License

public static void write(Document xml, File saveGameFile, SaveGameListener saveGameListener) {
    try {/*from w  w w  . j av  a2  s . c om*/
        saveGameListener.log("Saving game to file: [" + saveGameFile + "]...");

        OutputFormat format = OutputFormat.createPrettyPrint();
        format.setEncoding("ISO-8859-1");
        format.setNewlines(true);
        format.setLineSeparator(System.getProperty("line.separator"));
        XMLWriter writer = new XMLWriter(new FileWriter(saveGameFile), format);

        writer.write(xml);
        writer.flush();
        writer.close();

        saveGameListener.log("Game saved!");
    } catch (Exception e) {
        throw new AdventureException("Error writing Save Game", e);
    }
}

From source file:net.contextfw.web.application.internal.WebResponder.java

License:Apache License

public void logXML(Document d) {
    try {/*from   w  ww .j a  v  a2 s  .c om*/
        OutputFormat format = OutputFormat.createPrettyPrint();
        XMLWriter writer;

        StringWriter xml = new StringWriter();
        writer = new XMLWriter(xml, format);
        writer.write(d);

        responseLogger.logXML(xml.toString());

    } catch (Exception e) {
        throw new WebApplicationException(e);
    }
}

From source file:net.contextfw.web.application.internal.WebResponder.java

License:Apache License

private void sendXMLResponse(Document document, HttpServletResponse resp) throws IOException {
    resp.setContentType(Mode.XML.getContentType());
    resp.setHeader("Expires", "-1");
    resp.setHeader("Pragma", "no-cache");
    resp.setHeader("Cache-Control", "no-cache, no-store");
    OutputFormat format = OutputFormat.createPrettyPrint();
    new XMLWriter(resp.getWriter(), format).write(document);
}

From source file:net.daimonin.client3d.editor.main.Editor3D.java

License:Open Source License

/**
* Builds image groups/categories by file name, creates and writes the XML
* containing all images with their attributes.
* 
* @param fileNameImageSet Name of resulting PNG.
* @param fileNameXML Name of the XML./*from   w w w.j a va  2s . c  o m*/
* @throws IOException IOException.
*/
private static void writeXML(final String fileNameImageSet, final String fileNameXML) throws IOException {

    // group ImageSetImages by name/category.
    // the left side of the image file name up to the '_' is taken as the
    // category
    Hashtable<String, List<ImageSetImage>> names = new Hashtable<String, List<ImageSetImage>>();
    for (int i = 0; i < images.size(); i++) {
        if (!names.containsKey(images.get(i).getName())) {
            List<ImageSetImage> values = new ArrayList<ImageSetImage>();
            values.add(images.get(i));
            names.put(images.get(i).getName(), values);
        } else {
            names.get(images.get(i).getName()).add(images.get(i));
        }
    }

    // check if every category has a default state (except FontExtensions)
    Enumeration<String> keys2 = names.keys();
    while (keys2.hasMoreElements()) {
        List<ImageSetImage> img2 = names.get(keys2.nextElement());
        if (!"fontextensions".equals(img2.get(0).getName())) {
            boolean hasDefault = false;
            for (int i = 0; i < img2.size(); i++) {
                if ("default".equals(img2.get(i).getState().toLowerCase())) {
                    hasDefault = true;
                }
            }
            if (!hasDefault) {
                printError("WARNING: image category '" + img2.get(0).getName()
                        + "' has no image with a default state!");
            }
        }
    }

    // create the XML structure
    Document document = DocumentHelper.createDocument();
    Element root = document.addElement("ImageSet").addAttribute("file", fileNameImageSet);

    List<ImageSetImage> fntex = names.get("fontextensions");
    if (fntex != null) {
        Element category = root.addElement("ImageFntExt").addAttribute("name", fntex.get(0).getName());
        for (int i = 0; i < fntex.size(); i++) {
            category.addElement("State").addAttribute("name", fntex.get(i).getState())
                    .addAttribute("posX", String.valueOf(fntex.get(i).getPosX() + fntex.get(i).getBorderSize()))
                    .addAttribute("posY", String.valueOf(fntex.get(i).getPosY() + fntex.get(i).getBorderSize()))
                    .addAttribute("width", String.valueOf(fntex.get(i).getWidth()))
                    .addAttribute("height", String.valueOf(fntex.get(i).getHeight()));
        }
        names.remove("fontextensions");
    }

    List<ImageSetImage> mouse = names.get("mousecursor");
    if (mouse != null) {
        Element category = root.addElement("Image").addAttribute("name", mouse.get(0).getName())
                .addAttribute("width", String.valueOf(mouse.get(0).getImage().getWidth()))
                .addAttribute("height", String.valueOf(mouse.get(0).getImage().getHeight()))
                .addAttribute("alpha", mouse.get(0).getImage().getColorModel().hasAlpha() ? String.valueOf(1)
                        : String.valueOf(0));

        for (int i = 0; i < mouse.size(); i++) {
            checkImageSameDimension(mouse.get(0), mouse.get(i),
                    "Images of same category have different dimension");
            checkImageSameAlpha(mouse.get(0), mouse.get(i), "Images of same category have different alpha");
            category.addElement("State").addAttribute("name", mouse.get(i).getState())
                    .addAttribute("posX", String.valueOf(mouse.get(i).getPosX() + mouse.get(i).getBorderSize()))
                    .addAttribute("posY",
                            String.valueOf(mouse.get(i).getPosY() + mouse.get(i).getBorderSize()));
        }
        names.remove("mousecursor");
    }

    Enumeration<String> keys = names.keys();
    while (keys.hasMoreElements()) {
        List<ImageSetImage> img = names.get(keys.nextElement());
        Element category = root.addElement("Image").addAttribute("name", img.get(0).getName())
                .addAttribute("width", String.valueOf(img.get(0).getImage().getWidth()))
                .addAttribute("height", String.valueOf(img.get(0).getImage().getHeight()))
                .addAttribute("alpha", img.get(0).getImage().getColorModel().hasAlpha() ? String.valueOf(1)
                        : String.valueOf(0));

        for (int i = 0; i < img.size(); i++) {
            checkImageSameDimension(img.get(0), img.get(i), "Images of same category have different dimension");
            checkImageSameAlpha(img.get(0), img.get(i), "Images of same category have different alpha");
            category.addElement("State").addAttribute("name", img.get(i).getState())
                    .addAttribute("posX", String.valueOf(img.get(i).getPosX() + img.get(i).getBorderSize()))
                    .addAttribute("posY", String.valueOf(img.get(i).getPosY() + img.get(i).getBorderSize()));
        }
    }

    // write the XML
    OutputFormat format = OutputFormat.createPrettyPrint();
    XMLWriter writer = new XMLWriter(new FileWriter(fileNameXML), format);
    writer.write(document);
    writer.close();
    printInfo(System.getProperty("user.dir") + "/" + imagesetxml + " created");
}

From source file:net.erdfelt.android.sdkfido.project.FilteredFileUtil.java

License:Apache License

public static void write(Document pom, File outputFile) throws OutputProjectException {
    XMLWriter writer = null;//from   ww  w .  ja  v  a2  s  . com
    FileOutputStream out = null;
    try {
        out = new FileOutputStream(outputFile);
        OutputFormat pretty = OutputFormat.createPrettyPrint();
        pretty.setIndentSize(2);
        writer = new XMLWriter(out, pretty);
        writer.write(pom);
        writer.flush();
    } catch (UnsupportedEncodingException e) {
        throw new OutputProjectException("Unable to write xml to file: " + outputFile, e);
    } catch (IOException e) {
        throw new OutputProjectException("Unable to write xml to file: " + outputFile, e);
    } finally {
        IOUtils.closeQuietly(out);
    }
}