Repository: incubator-ignite Updated Branches: refs/heads/ignite-32 d055526d2 -> 3e3a245dd
# IGNITE-32 WIP: Fixed POJO and XML generation. Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/3e3a245d Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/3e3a245d Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/3e3a245d Branch: refs/heads/ignite-32 Commit: 3e3a245dd2120cc72ee56ecc988221a009c88626 Parents: d055526 Author: AKuznetsov <akuznet...@gridgain.com> Authored: Thu Dec 25 15:08:50 2014 +0700 Committer: AKuznetsov <akuznet...@gridgain.com> Committed: Thu Dec 25 15:08:50 2014 +0700 ---------------------------------------------------------------------- .../ignite/schema/pojo/PojoCodeGenerator.java | 37 +++++++++++++++++--- .../ignite/schema/xml/XmlTransformer.java | 4 +-- 2 files changed, 35 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3e3a245d/modules/schema-load/src/main/java/org/apache/ignite/schema/pojo/PojoCodeGenerator.java ---------------------------------------------------------------------- diff --git a/modules/schema-load/src/main/java/org/apache/ignite/schema/pojo/PojoCodeGenerator.java b/modules/schema-load/src/main/java/org/apache/ignite/schema/pojo/PojoCodeGenerator.java index 8c1eee1..d0c32c8 100644 --- a/modules/schema-load/src/main/java/org/apache/ignite/schema/pojo/PojoCodeGenerator.java +++ b/modules/schema-load/src/main/java/org/apache/ignite/schema/pojo/PojoCodeGenerator.java @@ -33,7 +33,7 @@ public class PojoCodeGenerator { private int indent; /** - * @return + * @return Current indent constructed from spaces. */ private String indent() { switch (indent) { @@ -49,10 +49,21 @@ public class PojoCodeGenerator { } } - private void line(Collection<String> src, String s) { - src.add(indent() + s); + /** + * Add line to source code. + * + * @param src Collection with source code lines. + * @param line Line to add. + */ + private void line(Collection<String> src, String line) { + src.add(indent() + line); } + /** + * Add empty line. + * + * @param src Collection with source code lines. + */ private void empty(Collection<String> src) { src.add(""); } @@ -99,6 +110,8 @@ public class PojoCodeGenerator { String mtdName = capitalize(fldName); + empty(src); + line(src, "public " + fldType + " get" + mtdName + "() {"); indent++; @@ -119,6 +132,13 @@ public class PojoCodeGenerator { } } + /** + * Write source code to file. + * + * @param src Collection with source code lines. + * @param res Target file. + * @throws IOException + */ private void write(Collection<String> src, File res) throws IOException { try (Writer writer = new BufferedWriter(new FileWriter(res))) { for (String line : src) @@ -126,13 +146,22 @@ public class PojoCodeGenerator { } } + /** + * Generate source code for type. + * + * @param meta Type metadata. + * @param outFolder Output folder. + * @param pkg Types package. + * @throws IOException If generation failed. + */ public void generate(GridCacheQueryTypeMetadata meta, String outFolder, String pkg) throws IOException { srcKey.clear(); srcVal.clear(); File res = new File(outFolder, pkg.replace('.', File.separatorChar)); - res.mkdirs(); + if (!res.exists() && !res.mkdirs()) + throw new IOException("Failed to create folders for package: " + pkg); String keyType = meta.getKeyType(); String valType = meta.getType(); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3e3a245d/modules/schema-load/src/main/java/org/apache/ignite/schema/xml/XmlTransformer.java ---------------------------------------------------------------------- diff --git a/modules/schema-load/src/main/java/org/apache/ignite/schema/xml/XmlTransformer.java b/modules/schema-load/src/main/java/org/apache/ignite/schema/xml/XmlTransformer.java index e6de467..a123964 100644 --- a/modules/schema-load/src/main/java/org/apache/ignite/schema/xml/XmlTransformer.java +++ b/modules/schema-load/src/main/java/org/apache/ignite/schema/xml/XmlTransformer.java @@ -230,8 +230,8 @@ public class XmlTransformer { assert clazz != null; - addElement(val2, "constructor-arg", "type", "java.lang.Object", "value", clazz.getName()); - addElement(val2, "constructor-arg", "type", "java.lang.Object", "value", String.valueOf(tuple.get2())); + addElement(val2, "constructor-arg", null, null, "value", clazz.getName()); + addElement(val2, "constructor-arg", null, null, "value", String.valueOf(tuple.get2())); } } }