Example usage for org.dom4j DocumentHelper createDocument

List of usage examples for org.dom4j DocumentHelper createDocument

Introduction

In this page you can find the example usage for org.dom4j DocumentHelper createDocument.

Prototype

public static Document createDocument() 

Source Link

Usage

From source file:de.thischwa.pmcms.tool.ChecksumTool.java

License:LGPL

/**
 * Converting a Map with the file checksums to a dom.
 *///from  ww  w .j  a  va 2 s  .c o  m
public static Document getDomChecksums(final Map<String, String> checksums) {
    Document dom = DocumentHelper.createDocument();
    dom.setXMLEncoding(Constants.STANDARD_ENCODING);
    Element root = dom.addElement("checksums");
    for (String name : checksums.keySet()) {
        Element fileElement = root.addElement("file");
        Element nameElement = fileElement.addElement("name");
        nameElement.addCDATA(name);
        Element hashElement = fileElement.addElement("checksum");
        hashElement.addText(checksums.get(name));
    }
    return dom;
}

From source file:de.tud.kom.p2psim.impl.vis.util.Config.java

License:Open Source License

/**
 * Legt falls ntig eine neue Config-Datei mit Wurzelelement an
 *//*w w  w.j  a v  a  2s .co m*/
private static void setupFile() {
    File file = new File(configFile);

    if (!file.exists()) { // falls Config-Datei noch nicht existiert
        try {
            file.createNewFile(); // neue Datei anlegen

        } catch (IOException e) {
            // TODO
            e.printStackTrace();
        }

        config = DocumentHelper.createDocument();
        config.addElement("config");

        writeXMLFile();
    }
}

From source file:de.xaniox.heavyspleef.migration.GameMigrator.java

License:Open Source License

@SuppressWarnings("unchecked")
@Override/*from w ww  .  j a v a2 s . co  m*/
public void migrate(Configuration inputSource, File outputFolder, Object cookie) throws MigrationException {
    if (cookie == null || !(cookie instanceof List<?>)) {
        throw new MigrationException("Cookie must be a game of lists");
    }

    countMigrated = 0;

    List<Game> gameList = (List<Game>) cookie;
    Set<String> gameNames = inputSource.getKeys(false);

    for (String name : gameNames) {
        ConfigurationSection section = inputSource.getConfigurationSection(name);

        File xmlFile = new File(outputFolder, name + FILE_EXTENSION);
        if (xmlFile.exists()) {
            //Rename this game as there is already a file
            xmlFile = new File(outputFolder, name + "_1" + FILE_EXTENSION);
        }

        XMLWriter writer = null;

        try {
            xmlFile.createNewFile();

            GameAccessor accessor = new GameAccessor(heavySpleef);
            Document document = DocumentHelper.createDocument();
            Element rootElement = document.addElement("game");

            Game game = migrateGame(section, rootElement);
            if (game == null) {
                continue;
            }

            accessor.write(game, rootElement);
            gameList.add(game);

            OutputStream out = new FileOutputStream(xmlFile);
            writer = new XMLWriter(out, outputFormat);
            writer.write(document);
            ++countMigrated;
        } catch (IOException e) {
            throw new MigrationException(e);
        } finally {
            if (writer != null) {
                try {
                    writer.close();
                } catch (IOException e) {
                }
            }
        }
    }
}

From source file:de.xaniox.heavyspleef.persistence.handler.CachingReadWriteHandler.java

License:Open Source License

@Override
public void saveGame(Game game) throws IOException {
    File gameFile = new File(xmlFolder, game.getName() + ".xml");
    if (!gameFile.exists()) {
        gameFile.createNewFile();//from  w ww . j  a  v  a  2 s .  c o  m
    }

    Document document = DocumentHelper.createDocument();
    Element rootElement = document.addElement("game");

    xmlContext.write(game, rootElement);

    File gameSchematicFolder = new File(schematicFolder, game.getName());
    if (!gameSchematicFolder.exists()) {
        gameSchematicFolder.mkdir();
    }

    XMLWriter writer = null;

    try {
        FileOutputStream out = new FileOutputStream(gameFile);

        writer = new XMLWriter(out, xmlOutputFormat);
        writer.write(document);
    } finally {
        if (writer != null) {
            writer.close();
        }
    }

    for (File file : gameSchematicFolder.listFiles(FLOOR_SCHEMATIC_FILTER)) {
        String floorName = file.getName().substring(2, file.getName().length() - 6);
        if (game.isFloorPresent(floorName)) {
            continue;
        }

        file.delete();
    }

    for (Floor floor : game.getFloors()) {
        File floorFile = new File(gameSchematicFolder, getFloorFileName(floor));
        if (!floorFile.exists()) {
            floorFile.createNewFile();
        }

        schematicContext.write(floorFile, floor);
    }
}

From source file:de.xaniox.leaderboardextensions.ExtensionXmlHandler.java

License:Open Source License

public void saveExtensions(Set<GameExtension> extensions) throws IOException {
    if (!xmlFile.exists()) {
        xmlFile.createNewFile();//from w  w w  . j av a  2s.  c  o  m
    }

    Document document = DocumentHelper.createDocument();
    Element rootElement = document.addElement("extensions");

    for (GameExtension extension : extensions) {
        Element extensionElement = rootElement.addElement("extension");
        String name = registry.getExtensionName(extension.getClass());

        extensionElement.addAttribute("name", name);
        context.write(extension, extensionElement);
    }

    XMLWriter xmlWriter = null;

    try (OutputStream out = new FileOutputStream(xmlFile); Writer writer = new OutputStreamWriter(out, UTF8)) {
        xmlWriter = new XMLWriter(writer, format);
        xmlWriter.write(document);
        xmlWriter.flush();
    } finally {
        if (xmlWriter != null) {
            xmlWriter.close();
        }
    }
}

From source file:delphsim.model.Epidemia.java

License:Open Source License

/**
 * Guarda la informacin de esta epidemia en el archivo pasado como
 * parmetro, siguiendo el esquema del .xsd de la aplicacin.
 * @param archivoDestino El archivo destino donde se guardar el modelo.
 * @throws java.io.IOException Si hay problemas al escribir en disco.
 * @throws org.dom4j.DocumentException Si hay problemas al crear el objeto de tipo rbol.
 * @throws java.lang.Exception Si se produce algn otro problema.
 *///  www  .  ja va 2  s  .  c  o m
public void guardarXML(File archivoDestino) throws IOException, DocumentException, Exception {
    // Primero crear el documento dom4j con la informacin del modelo
    Document documento = DocumentHelper.createDocument();
    // Elemento raz epidemia
    Element elementoEpidemia = new DefaultElement("epidemia");
    documento.setRootElement(elementoEpidemia);
    elementoEpidemia.addAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
    elementoEpidemia.addAttribute("xsi:noNamespaceSchemaLocation", "DelphSim1.18.xsd");
    elementoEpidemia.addAttribute("unidadTiempo", this.unidadTiempo);

    // Elementos parmetros
    if (this.parametros != null) {
        for (Parametro param : this.parametros) {
            Element elementoParametro = param.volcarAXML();
            elementoEpidemia.add(elementoParametro);
        }
    }

    // Elementos procesos
    if (this.procesos != null) {
        for (Proceso proc : this.procesos) {
            Element elementoProceso = proc.volcarAXML();
            elementoEpidemia.add(elementoProceso);
        }
    }

    // Elemento poblacin
    Element elementoPoblacion = this.poblacion.volcarAXML();
    elementoEpidemia.add(elementoPoblacion);

    // Elementos compartimentos
    for (Compartimento comp : this.compartimentos) {
        Element elementoCompartimento = comp.volcarAXML();
        elementoEpidemia.add(elementoCompartimento);
    }

    // Luego crear el formato, stream y escritor de la salida
    OutputFormat formato = OutputFormat.createPrettyPrint();
    formato.setEncoding("UTF-16");
    formato.setIndent("\t");
    formato.setNewLineAfterDeclaration(false);
    formato.setPadText(false);
    formato.setTrimText(true);
    formato.setXHTML(true);
    java.io.OutputStreamWriter salida = new java.io.OutputStreamWriter(
            new java.io.FileOutputStream(archivoDestino), "UTF-16");
    XMLWriter escritor = new XMLWriter(salida, formato);
    // Y escribir
    escritor.write(documento);
    escritor.close();
}

From source file:delphsim.model.Resultado.java

License:Open Source License

/**
 * Mtodo esttico que exporta los valores obtenidos tras la simulacin al
 * formato XML.//from  ww  w .  j a v a2  s  .  com
 * @param destino El archivo de destino.
 * @param nombres Los nombres de las distintas columnas/funciones.
 * @param definiciones La definicin de cada columna/funcin.
 * @param temps Array con los archivos temporales de los cuales obtener los
 *              datos a exportar.
 * @param numPuntosTotal El nmero de puntos total que contienen los
 *                       archivos temporales.
 * @param numPuntosExportar El nmero de puntos que quiere obtener el usuario.
 * @throws java.io.IOException Si hubiera algn problema al crear el archivo en disco.
 */
public static void exportarComoXML(File destino, String[] nombres, String[] definiciones, File[] temps,
        long numPuntosTotal, long numPuntosExportar) throws IOException {
    // Crear el documento, el elemento 'raiz' y asignarlo
    org.dom4j.Document documento = DocumentHelper.createDocument();
    DefaultElement elementoResultado = new DefaultElement("resultado");
    documento.setRootElement(elementoResultado);

    // Creamos los bfers de lectura para leer los temporales
    BufferedReader[] buffers = new BufferedReader[temps.length];
    for (int i = 0; i < temps.length; i++) {
        buffers[i] = new BufferedReader(new FileReader(temps[i]));
    }
    // Calculamos cada cuanto tenemos que guardar un punto
    double cadaCuanto;
    if (numPuntosTotal == numPuntosExportar) {
        cadaCuanto = 1.0d;
    } else {
        cadaCuanto = new Double(numPuntosTotal) / new Double(numPuntosExportar - 1);
    }
    long siguientePuntoExportar = 0;
    long contadorNumPuntoLeido = 0;
    long contadorNumPuntosExportados = 0;
    // Comenzamos a leer los temporales aadiendo elementos al documento
    String[] valores = new String[buffers.length];
    for (int i = 0; i < buffers.length; i++) {
        valores[i] = buffers[i].readLine();
    }
    // En el momento en que se lee un null, se termina
    while (valores[0] != null) {
        // Para cada punto que haya que exportar
        if (siguientePuntoExportar == contadorNumPuntoLeido) {
            DefaultElement nuevaFila = new DefaultElement("fila");
            // Para el tiempo, nuevo elemento, su valor y aadirlo a la fila
            DefaultElement elementoTiempo = new DefaultElement("Tiempo");
            elementoTiempo.setText(valores[0]);
            nuevaFila.add(elementoTiempo);
            // Lo mismo para cada linea, pero ademas con nombre y definicin
            for (int i = 1; i < valores.length; i++) {
                DefaultElement elementoLinea = new DefaultElement("Lnea" + i);
                elementoLinea.add(new DefaultAttribute("nombre", nombres[i]));
                elementoLinea.add(new DefaultAttribute("definicion", definiciones[i]));
                elementoLinea.setText(valores[i]);
                nuevaFila.add(elementoLinea);
            }
            // Y aadimos la nueva fila
            elementoResultado.add(nuevaFila);
            // Calculamos el siguiente punto a exportar
            contadorNumPuntosExportados++;
            siguientePuntoExportar = Math.round(cadaCuanto * contadorNumPuntosExportados);
            if (siguientePuntoExportar >= numPuntosTotal) {
                siguientePuntoExportar = numPuntosTotal - 1;
            }
        }
        // Leemos la siguiente lnea de los ficheros
        for (int i = 0; i < buffers.length; i++) {
            valores[i] = buffers[i].readLine();
        }
        contadorNumPuntoLeido++;
    }
    // Cerramos los bfers y el archivo de salida
    for (int i = 0; i < buffers.length; i++) {
        buffers[i].close();
    }
    // Imprimimos el documento como XML
    OutputFormat formato = OutputFormat.createPrettyPrint();
    formato.setEncoding("UTF-16");
    formato.setIndent("\t");
    formato.setNewLineAfterDeclaration(false);
    formato.setPadText(false);
    formato.setTrimText(true);
    formato.setXHTML(true);
    OutputStreamWriter salida = new OutputStreamWriter(new FileOutputStream(destino), "UTF-16");
    XMLWriter escritor = new XMLWriter(salida, formato);
    escritor.write(documento);
    escritor.flush();
    escritor.close();
}

From source file:dk.nsi.stamdata.replication.webservice.AtomFeedWriter.java

License:Mozilla Public License

public <T extends View> org.w3c.dom.Document write(Class<T> viewClass, List<T> records) throws IOException {
    checkNotNull(viewClass);// ww w  . j  a  va2 s.c  om
    checkNotNull(records);

    String entityName = Views.getViewPath(viewClass);

    try {
        Document document = DocumentHelper.createDocument();
        document.setXMLEncoding("utf-8");

        // Start the feed.

        Element feed = document.addElement("atom:feed", ATOM_NS);

        // Get the namespace of the view class.

        String viewNS = viewClass.getPackage().getAnnotation(XmlSchema.class).namespace();
        Namespace namespace = new Namespace(null, viewNS);
        document.getRootElement().add(namespace);

        writeFeedMetadata(entityName, feed);

        // Write each record as an ATOM entry.

        Marshaller marshaller = viewXmlHelper.createMarshaller(viewClass);
        marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true);
        marshaller.setProperty(Marshaller.JAXB_ENCODING, STREAM_ENCODING);

        for (Object record : records) {
            View view = (View) record;
            writeEntry(feed, entityName, view, marshaller);
        }

        return convertToW3C(document);
    } catch (Exception e) {
        throw new IOException("Failed while writing ATOM feed.", e);
    }
}

From source file:dk.nsi.stamdata.replication.webservice.RecordXmlGenerator.java

License:Mozilla Public License

public org.w3c.dom.Document generateXml(List<RecordMetadata> records, String register, String datatype,
        DateTime updated) throws TransformerException {
    String stamdataNamespaceUri = STAMDATA_NAMESPACE_URI_PREFIX + register;

    Document document = DocumentHelper.createDocument();
    document.setXMLEncoding("utf-8");

    Element root = document.addElement("atom:feed", ATOM_NAMESPACE_URI);

    addElement(root, ATOM_NAMESPACE_URI, "atom:id",
            String.format("tag:nsi.dk,2011:%s/%s/v1", register, datatype));
    addElement(root, ATOM_NAMESPACE_URI, "atom:updated", AtomDate.toString(updated.toDate()));
    addElement(root, ATOM_NAMESPACE_URI, "atom:title", "Stamdata Registry Feed");
    Element author = addElement(root, ATOM_NAMESPACE_URI, "atom:author", null);
    addElement(author, ATOM_NAMESPACE_URI, "atom:name", "National Sundheds IT");

    for (RecordMetadata metadata : records) {
        Element entry = addElement(root, ATOM_NAMESPACE_URI, "atom:entry", null);
        String atomId = String.format("tag:nsi.dk,2011:%s/%s/v1/%d%07d", register, datatype,
                metadata.getModifiedDate().getMillis(), metadata.getPid());
        addElement(entry, ATOM_NAMESPACE_URI, "atom:id", atomId);
        addElement(entry, ATOM_NAMESPACE_URI, "atom:title", null);

        addElement(entry, ATOM_NAMESPACE_URI, "atom:updated",
                AtomDate.toString(metadata.getModifiedDate().toDate()));

        Element content = addElement(entry, ATOM_NAMESPACE_URI, "atom:content", null);
        content.addAttribute("type", "application/xml");

        Element recordElement = addElement(content, stamdataNamespaceUri, datatype, null);
        for (FieldSpecification fieldSpecification : recordSpecification.getFieldSpecs()) {
            addElement(recordElement, stamdataNamespaceUri, fieldSpecification.name,
                    valueAsString(metadata.getRecord(), fieldSpecification));
        }/*  w  w w  .  java2 s.  c  o m*/
        DateTimeFormatter formatter = ISODateTimeFormat.dateTime();
        addElement(recordElement, stamdataNamespaceUri, "ValidFrom",
                metadata.getValidFrom().toString(formatter));
        if (metadata.getValidTo() == null) {
            addElement(recordElement, stamdataNamespaceUri, "ValidTo", END_OF_TIME.toString(formatter));
        } else {
            addElement(recordElement, stamdataNamespaceUri, "ValidTo",
                    metadata.getValidTo().toString(formatter));
        }
        addElement(recordElement, stamdataNamespaceUri, "ModifiedDate",
                metadata.getModifiedDate().toString(formatter));
    }

    return convertToW3C(document);
}

From source file:edu.ku.brc.specify.tasks.services.CollectingEventLocalityKMLGenerator.java

License:Open Source License

/**
 * Write the KML out to a file.//  w  w w .j  a  v a 2  s .c o m
 *
 * @param filename the name of the output file
 * @throws IOException a file I/O exception occurred
 */
public void outputToFile(final String filename) throws IOException {
    Document document = DocumentHelper.createDocument();
    Element root = document.addElement("kml").addAttribute("xmlns", KML_NAMESPACE_DECL);
    Element kmlDocument = root.addElement("Document");
    if (StringUtils.isNotEmpty(description)) {
        kmlDocument.addElement("description").addText(description);
    }
    GenericKMLGenerator.generateStyle(kmlDocument, placemarkIconURL, balloonStyleBgColor, balloonStyleTextColor,
            balloonStyleText);

    boolean isDoingCollectingEvents = false;
    DataProviderSessionIFace session = null;
    try {
        session = DataProviderFactory.getInstance().createSession();
        for (int i = 0; i < dataObjs.size(); ++i) {
            String label = labels.get(i);
            FormDataObjIFace dataObj = dataObjs.get(i);

            session.attach(dataObj);

            if (dataObj instanceof CollectingEvent) {
                generatePlacemark(kmlDocument, (CollectingEvent) dataObj, label);
                isDoingCollectingEvents = true;

            } else if (dataObj instanceof Locality) {
                generatePlacemark(kmlDocument, (Locality) dataObj, label);

            } else if (dataObj instanceof CollectionObject) {
                generatePlacemark(kmlDocument, (CollectionObject) dataObj, label);
            }
        }
    } catch (Exception ex) {
        ex.printStackTrace();

    } finally {
        if (session != null) {
            session.close();
        }
    }

    if (isDoingCollectingEvents) {
        /*String kmlStr = generatePathForLocalities();
        if (kmlStr != null)
          {
        writer.write(kmlStr);
          }*/
    }

    FileWriter out = new FileWriter(filename);
    OutputFormat format = OutputFormat.createPrettyPrint();
    XMLWriter writer = new XMLWriter(out, format);
    writer.write(document);
    writer.close();
    out.close();
}