You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2014/12/25 09:08:51 UTC

incubator-ignite git commit: # IGNITE-32 WIP: Fixed POJO and XML generation.

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 <ak...@gridgain.com>
Authored: Thu Dec 25 15:08:50 2014 +0700
Committer: AKuznetsov <ak...@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()));
                 }
             }
         }