Example usage for com.badlogic.gdx.utils XmlWriter XmlWriter

List of usage examples for com.badlogic.gdx.utils XmlWriter XmlWriter

Introduction

In this page you can find the example usage for com.badlogic.gdx.utils XmlWriter XmlWriter.

Prototype

public XmlWriter(Writer writer) 

Source Link

Usage

From source file:com.github.fauu.helix.editor.MapRegionWriter.java

License:Open Source License

public static void saveMapRegion(MapRegion mapRegion, FileHandle hmrFile) {
    final StringWriter stringWriter = new StringWriter();
    final XmlWriter xmlWriter = new XmlWriter(stringWriter);
    Writer outputWriter = null;/*from   w  w  w.  j a  v  a 2  s  .co  m*/

    stringWriter.write("<?xml version=\"1.0\"?>\n");

    try {
        xmlWriter.element("mapregion");
        xmlWriter.attribute("width", (int) mapRegion.getSize().x);
        xmlWriter.attribute("height", (int) mapRegion.getSize().y);
        xmlWriter.attribute("texturesetid", 0); // FIXME: TextureAtlas needs a wrapper after all I guess
        xmlWriter.attribute("geometrysetid", mapRegion.getGeometrySet().getId());

        xmlWriter.element("tiles");
        for (Tile tile : mapRegion.getTiles()) {
            xmlWriter.element("tile");
            xmlWriter.attribute("x", (int) tile.getPosition().x);
            xmlWriter.attribute("y", (int) tile.getPosition().y);
            xmlWriter.attribute("elevation", tile.getElevation());
            xmlWriter.attribute("textureid", tile.getTextureId());
            xmlWriter.attribute("geometryid", tile.getGeometryId());
            xmlWriter.attribute("facing", tile.getFacing().toString().toLowerCase());
            xmlWriter.attribute("type", tile.getType().toString().toLowerCase());
            xmlWriter.pop();
        }
        xmlWriter.pop();

        xmlWriter.element("objects");
        for (com.github.fauu.helix.core.Object object : mapRegion.getObjects()) {
            xmlWriter.element("object");
            xmlWriter.attribute("x", (int) object.getPosition().x);
            xmlWriter.attribute("y", (int) object.getPosition().y);
            xmlWriter.attribute("model", object.getModelName());
            xmlWriter.attribute("elevation", object.getElevation());
            xmlWriter.attribute("facing", object.getFacing().toString().toLowerCase());
            xmlWriter.pop();
        }
        xmlWriter.pop();

        xmlWriter.pop();

        outputWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(hmrFile.path())));

        outputWriter.write(stringWriter.toString());
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            outputWriter.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

From source file:com.mygdx.game.ichelpers.touchme.SaveHandler.java

public void save(ArrayList<CheckPoint> checkpoints) {
    try {/*from  www .j  a  v a  2 s .  c  om*/
        StringWriter writer = new StringWriter();
        writer.write("<?xml version = \"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?>\n");
        XmlWriter xml = new XmlWriter(writer);
        XmlWriter racine = xml.element("touchme");
        for (CheckPoint checkpoint : checkpoints) {
            racine.element("checkpoint").element("id").text(checkpoint.getId()).pop().element("position")
                    .element("x").text(checkpoint.getPosition().x).pop().element("y")
                    .text(checkpoint.getPosition().y).pop().element("hauteur").text(checkpoint.getHauteur())
                    .pop().element("largeur").text(checkpoint.getLargeur()).pop().pop().pop();
        }
        racine.pop();
        writer.close();
        FileHandle file = Gdx.files.local("./TouchMe/" + findNewName());
        Writer writer2 = file.writer(false);
        writer2.write(writer.toString());
        writer2.close();
    } catch (IOException ex) {
        Gdx.app.error("SaveHandler", ex.getStackTrace().toString());
    }
}

From source file:com.steelkiwi.patheditor.proj.ProjectDataConverter.java

License:Apache License

private static void saveProjectData(ProjectData projData) throws Exception {
    String path = projData.getPath() + PATH_SEPARATOR + projData.getName() + PROJECT_EXT;
    File projectFile = new File(path);

    if (projectFile.exists()) {
        projectFile.delete();//  www  .  j ava  2  s  . c o  m
    }
    projectFile.createNewFile();

    StringWriter strWriter = new StringWriter();
    XmlWriter xmlWriter = new XmlWriter(strWriter);

    xmlWriter.element("project");

    xmlWriter.element("name", projData.getName());
    //xmlWriter.element("path", projData.getPath()); //TODO

    if (projData.getScreens() != null) {
        for (int i = 0; i < projData.getScreens().size(); i++) {
            xmlWriter.element("screen").element("xml", projData.getScreens().get(i).getXmlPath())
                    .element("json", projData.getScreens().get(i).getJsonPath()).pop();
        }
    }

    xmlWriter.pop();
    xmlWriter.close();

    FileWriter writer = new FileWriter(new File(path));
    writer.write(strWriter.toString());
    writer.close();

    if (projData.getScreens() != null) {
        saveScreens(projData);
    }
}

From source file:com.agateau.utils.Introspector.java

License:Apache License

public void save() {
    XmlWriter writer = new XmlWriter(mFileHandle.writer(false));
    try {/*from w w w.  ja va2  s  .c om*/
        XmlWriter root = writer.element("object");
        for (Field field : mClass.getDeclaredFields()) {
            if (!Modifier.isPublic(field.getModifiers())) {
                continue;
            }
            if (Modifier.isStatic(field.getModifiers())) {
                continue;
            }
            Object value = field.get(mObject);
            if (value.equals(field.get(mReference))) {
                continue;
            }
            root.element("key").attribute("name", field.getName()).attribute("type", field.getType().toString())
                    .text(value.toString()).pop();
        }
        root.pop();
        writer.close();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        e.printStackTrace();
    }
}

From source file:com.algodal.gdxscreen.utils.GdxSave.java

License:Apache License

/**
 * Saves all objects in the list to the file you specify.  The file is overwritten or created.
 * The save format possess additional information such as time of save and number of objects.
 * @return String version of the saved data.
 *//*from  www.  j a  va  2 s.  c om*/
public String save() {
    StringWriter stringWriter = new StringWriter();
    XmlWriter xmlWriter = new XmlWriter(stringWriter);
    Json json = new Json();

    debug.assertNoException("No exception during save", new Operation<Void>() {
        @Override
        public Void resultOf() throws Exception {
            xmlWriter.element(ROOT_ELEMENT).attribute(ROOT_NAME, dataName).attribute(ROOT_TIME, flashTime())
                    .attribute(ROOT_COUNT, Integer.toString(plainOldJavaObjects.size));
            for (int i = 0; i < plainOldJavaObjects.size; i++) {
                debug.assertContructorEmpty("object has null constructor class",
                        plainOldJavaObjects.get(i).getClass());
                xmlWriter.element(CHILD_ELEMENT).attribute(CHILD_ID, Integer.toString(i));
                xmlWriter.text(json.toJson(plainOldJavaObjects.get(i), Object.class));
                xmlWriter.pop();
            }
            xmlWriter.pop();
            xmlWriter.close();
            return null;
        }
    });

    String xmlJsonString = stringWriter.toString();
    handle.writeString(xmlJsonString, false);
    return xmlJsonString;
}

From source file:com.suiton2d.editor.framework.Project.java

License:Open Source License

public void build(String startScene, FileHandle sceneFileOut, FileHandle assetsFileOut,
        BuildProgressUpdateListener listener) throws IOException {
    StringWriter sceneStrWriter = new StringWriter();
    StringWriter assetsStrWriter = new StringWriter();
    XmlWriter sceneXmlWriter = new XmlWriter(sceneStrWriter);
    XmlWriter assetsXmlWriter = new XmlWriter(assetsStrWriter);

    sceneXmlWriter.element("project").attribute("name", projectName).attribute("startScene", startScene);
    assetsXmlWriter.element("assets");

    for (int i = 0; i < sceneManager.getSceneCount(); ++i) {
        Scene scene = sceneManager.getSceneList().get(i);
        new SceneBuilder(scene).build(sceneXmlWriter, assetsXmlWriter);
        sceneXmlWriter.pop();/*  ww w  .j  a v a 2 s .c o  m*/
        listener.onBuildProgressUpdate(scene, i, sceneManager.getSceneCount());
    }
    sceneXmlWriter.pop();
    assetsXmlWriter.pop();

    sceneFileOut.writeString(sceneStrWriter.toString(), false);
    assetsFileOut.writeString(assetsStrWriter.toString(), false);

    listener.onProjectCompiled();
}

From source file:com.steelkiwi.patheditor.proj.ProjectDataConverter.java

License:Apache License

private static void saveScreenToXML(String projPath, ScreenData scrData) throws Exception {
    String path = projPath + PATH_SEPARATOR + scrData.getXmlPath();
    File scrFile = new File(path);

    if (scrFile.exists()) {
        scrFile.delete();//from  w  w w .j ava 2  s  . c  o  m
    }
    scrFile.createNewFile();

    StringWriter strWriter = new StringWriter();
    XmlWriter xmlWriter = new XmlWriter(strWriter);

    xmlWriter.element("screen");

    xmlWriter.element("name", scrData.getName());
    xmlWriter.element("width", scrData.getWidth());
    xmlWriter.element("height", scrData.getHeight());
    xmlWriter.element("xmlPath", scrData.getXmlPath());
    xmlWriter.element("jsonPath", scrData.getJsonPath());

    if (scrData.getBgImage() != null) {
        xmlWriter.element("bg").element("name", scrData.getBgImage().name).element("type",
                (getWidgetType(scrData.getBgImage()) != null) ? getWidgetType(scrData.getBgImage()).ordinal()
                        : -1)
                .element("texturePath",
                        FileUtils.getElementRelativePath(projPath,
                                ((GdxImage) scrData.getBgImage()).getTexPath()))
                .element("scaleX", scrData.getBgImage().scaleX).element("scaleY", scrData.getBgImage().scaleY)
                .element("x", scrData.getBgImage().x).element("y", scrData.getBgImage().y)
                .element("angle", scrData.getBgImage().rotation).pop();
    }

    if ((scrData.getPath() != null) && (scrData.getPath().getPath() != null)) {
        xmlWriter.element("path").element("xmlPath", scrData.getPath().getXmlPath())
                .element("jsonPath", scrData.getPath().getJsonPath()).pop();
    }

    xmlWriter.pop();
    xmlWriter.close();

    FileWriter writer = new FileWriter(new File(path));
    writer.write(strWriter.toString());
    writer.close();
}

From source file:at.highstreeto.xnllayoutparser.LayoutParser.java

License:Apache License

/**
 *
 * @param layoutFile/* w ww .j  a  v a2  s  .c  om*/
 * @param actors
 * @throws LayoutParseException
 */
public void save(FileHandle layoutFile, Collection<Actor> actors) throws LayoutParseException {
    try {
        XmlWriter writer = new XmlWriter(layoutFile.writer(false));
        LayoutParserContext context = new LayoutParserContext();
        context.setParsers(parsers);

        writer.element("Layout");

        for (Actor i : actors) {
            parsers.getParserByClass(i.getClass()).save(writer, i, context);
        }

        writer.pop();
        writer.close();
    } catch (IOException e) {
        throw new LayoutParseException(e); // TODO More detailed Exception
    }
}

From source file:com.nebula2d.editor.framework.Project.java

License:Open Source License

public void build(String startScene, FileHandle sceneFileOut, FileHandle assetsFileOut,
        BuildProgressUpdateListener listener) throws IOException {
    StringWriter sceneStrWriter = new StringWriter();
    StringWriter assetsStrWriter = new StringWriter();
    XmlWriter sceneXmlWriter = new XmlWriter(sceneStrWriter);
    XmlWriter assetsXmlWriter = new XmlWriter(assetsStrWriter);

    sceneXmlWriter.element("project").attribute("name", projectName).attribute("startScene", startScene);
    assetsXmlWriter.element("assets");

    for (int i = 0; i < scenes.size(); ++i) {
        Scene scene = scenes.get(i);/*  w ww  . j  av a 2s.c  om*/
        scene.build(sceneXmlWriter, assetsXmlWriter, scene.getName());
        sceneXmlWriter.pop();
        listener.onBuildProgressUpdate(scene, i, scenes.size());
    }
    sceneXmlWriter.pop();
    assetsXmlWriter.pop();

    sceneFileOut.writeString(sceneStrWriter.toString(), false);
    assetsFileOut.writeString(assetsStrWriter.toString(), false);

    listener.onProjectCompiled();
}

From source file:com.steelkiwi.patheditor.proj.ProjectDataConverter.java

License:Apache License

private static void savePathToXml(String projPath, GdxPath gdxPath) throws Exception {
    String path = projPath + gdxPath.getXmlPath();
    File pathFile = new File(path);

    if (pathFile.exists()) {
        pathFile.delete();/*  w w  w. java 2 s  . c  om*/
    }
    pathFile.createNewFile();

    StringWriter strWriter = new StringWriter();
    XmlWriter xmlWriter = new XmlWriter(strWriter);

    xmlWriter.element("path");

    xmlWriter.element("name", gdxPath.getName());
    xmlWriter.element("pointsCnt", gdxPath.getPointsCnt());
    xmlWriter.element("controlColor", gdxPath.getControlColor());
    xmlWriter.element("segmentColor", gdxPath.getSegmentColor());
    xmlWriter.element("selectColor", gdxPath.getSelectColor());

    xmlWriter.element("xmlPath", gdxPath.getXmlPath());
    xmlWriter.element("jsonPath", gdxPath.getJsonPath());

    if ((gdxPath.getPath() != null) && (gdxPath.getPath().getPathVerticesCount() > 0)) {
        xmlWriter.element("controlVertices");
        Vector3 controlVertex;
        for (int i = 0; i < gdxPath.getControlPath().size(); i++) {
            controlVertex = gdxPath.getControlPath().get(i);
            xmlWriter.element("controlVertex").element("id", i).element("x", controlVertex.x)
                    .element("y", controlVertex.y).pop();
        }
        xmlWriter.pop();

        xmlWriter.element("vertices");
        PathVertex vertex;
        for (int i = 0; i < gdxPath.getPath().getPathVerticesCount(); i++) {
            vertex = gdxPath.getPath().getPathVertexByIndex(i);
            xmlWriter.element("vertex").element("id", i).element("x", vertex.getPosition().x)
                    .element("y", vertex.getPosition().y).element("tanX", vertex.getTangentNornal().x)
                    .element("tanY", vertex.getTangentNornal().y).element("angle", vertex.getAngle()).pop();
        }
        xmlWriter.pop();
    }

    xmlWriter.pop();
    xmlWriter.close();

    FileWriter writer = new FileWriter(new File(path));
    writer.write(strWriter.toString());
    writer.close();
}