Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-32 7e954e409 -> 68790c13f


# IGNITE-32 WIP: minor fixes in 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/68790c13
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/68790c13
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/68790c13

Branch: refs/heads/ignite-32
Commit: 68790c13f22121c9b3aa5285ceda9c684d826c03
Parents: 7e954e4
Author: AKuznetsov <akuznet...@gridgain.com>
Authored: Thu Dec 25 12:01:47 2014 +0700
Committer: AKuznetsov <akuznet...@gridgain.com>
Committed: Thu Dec 25 12:01:47 2014 +0700

----------------------------------------------------------------------
 .../query/GridCacheQueryTypeDescriptor.java     | 32 +++++++++++++++
 .../ignite/schema/xml/XmlTransformer.java       | 41 +++++++++++++-------
 2 files changed, 59 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/68790c13/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryTypeDescriptor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryTypeDescriptor.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryTypeDescriptor.java
index 3f31b2b..697caef 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryTypeDescriptor.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryTypeDescriptor.java
@@ -9,6 +9,8 @@
 
 package org.gridgain.grid.cache.query;
 
+import org.gridgain.grid.util.typedef.internal.*;
+
 /**
  * Type descriptor for field in java and database.
  */
@@ -100,4 +102,34 @@ public class GridCacheQueryTypeDescriptor {
     public void setDbType(int dbType) {
         this.dbType = dbType;
     }
+
+     /** {@inheritDoc} */
+    @Override public boolean equals(Object o) {
+        if (this == o)
+            return true;
+
+        if (!(o instanceof GridCacheQueryTypeDescriptor))
+            return false;
+
+        GridCacheQueryTypeDescriptor that = (GridCacheQueryTypeDescriptor)o;
+
+        return javaName.equals(that.javaName) && dbName.equals(that.dbName) &&
+            javaType == that.javaType && dbType == that.dbType;
+    }
+
+    /** {@inheritDoc} */
+    @Override public int hashCode() {
+        int res = javaName.hashCode();
+
+        res = 31 * res + dbName.hashCode();
+        res = 31 * res + javaType.hashCode();
+        res = 31 * res + dbType;
+
+        return res;
+    }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(GridCacheQueryTypeDescriptor.class, this);
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/68790c13/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 ae97420..32e8373 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
@@ -131,6 +131,19 @@ public class XmlTransformer {
     }
 
     /**
+     * Add &quot;property&quot; element to XML document.
+     *
+     * @param parent Parent XML node.
+     * @param name Value for &quot;name&quot; attribute
+     * @param val Value for &quot;value&quot; attribute
+     */
+    private Element addProperty(Node parent, String name, String val) {
+        String valAttr = val != null ? "value" : null;
+
+        return addElement(parent, "property", "name", name, valAttr, val);
+    }
+
+    /**
      * Add fields to xml document.
      *
      * @param parent Parent XML node.
@@ -139,7 +152,7 @@ public class XmlTransformer {
      */
     private void addFields(Node parent, String name, Map<String, Class<?>> 
fields) {
         if (!fields.isEmpty()) {
-            Element prop = addElement(parent, "property", "name", name);
+            Element prop = addProperty(parent, name, null);
 
             Element map = addElement(prop, "map");
 
@@ -157,17 +170,17 @@ public class XmlTransformer {
      */
     private void addTypeDescriptors(Node parent, String name, 
Collection<GridCacheQueryTypeDescriptor> descs) {
         if (!descs.isEmpty()) {
-            Element prop = addElement(parent, "property", "name", name);
+            Element prop = addProperty(parent, name, null);
 
             Element list = addElement(prop, "list");
 
             for (GridCacheQueryTypeDescriptor desc : descs) {
                 Element item = addBean(list, 
GridCacheQueryTypeDescriptor.class);
 
-                addElement(item, "property", "name", "javaName", "value", 
desc.getJavaName());
-                addElement(item, "property", "name", "javaType", "value", 
desc.getJavaType().getName());
-                addElement(item, "property", "name", "dbName", "value", 
desc.getDbName());
-                addElement(item, "property", "name", "dbType", "value", 
String.valueOf(desc.getDbType()));
+                addProperty(item, "javaName", desc.getJavaName());
+                addProperty(item, "javaType", desc.getJavaType().getName());
+                addProperty(item, "dbName", desc.getDbName());
+                addProperty(item, "dbType", String.valueOf(desc.getDbType()));
             }
         }
     }
@@ -179,7 +192,7 @@ public class XmlTransformer {
      */
     private void addTextFields(Node parent, Collection<String> textFields) {
         if (!textFields.isEmpty()) {
-            Element prop = addElement(parent, "property", "name", 
"textFields");
+            Element prop = addProperty(parent, "textFields", null);
 
             Element list = addElement(prop, "list");
 
@@ -195,19 +208,19 @@ public class XmlTransformer {
      */
     private void addGroups(Node parent, Map<String, LinkedHashMap<String, 
IgniteBiTuple<Class<?>, Boolean>>> groups) {
         if (!F.isEmpty(groups)) {
-            Element prop = addElement(parent, "property", "name", "groups");
+            Element prop = addProperty(parent, "groups", null);
 
             Element map = addElement(prop, "map");
 
             for (Map.Entry<String, LinkedHashMap<String, 
IgniteBiTuple<Class<?>, Boolean>>> group : groups.entrySet()) {
-                Element entry1 = addElement(map, "entry", group.getKey(), 
null);
+                Element entry1 = addElement(map, "entry", "key", 
group.getKey());
 
                 Element val1 = addElement(entry1, "map");
 
                 LinkedHashMap<String, IgniteBiTuple<Class<?>, Boolean>> fields 
= group.getValue();
 
                 for(Map.Entry<String, IgniteBiTuple<Class<?>, Boolean>> field 
: fields.entrySet()) {
-                    Element entry2 = addElement(val1, "entry", "key", 
field.getKey(), null, null);
+                    Element entry2 = addElement(val1, "entry", "key", 
field.getKey());
 
                     Element val2 = addBean(entry2, IgniteBiTuple.class);
 
@@ -233,13 +246,13 @@ public class XmlTransformer {
     private void addCacheQueryTypeMetadata(Node parent, 
GridCacheQueryTypeMetadata meta) {
         Element bean = addBean(parent, GridCacheQueryTypeMetadata.class);
 
-        addElement(bean, "property", "type", meta.getType());
+        addProperty(bean, "type", meta.getType());
 
-        addElement(bean, "property", "keyType", meta.getKeyType());
+        addProperty(bean, "keyType", meta.getKeyType());
 
-        addElement(bean, "property", "schema", meta.getSchema());
+        addProperty(bean, "schema", meta.getSchema());
 
-        addElement(bean, "property", "tableName", meta.getTableName());
+        addProperty(bean, "tableName", meta.getTableName());
 
         addTypeDescriptors(bean, "keyDescriptors", meta.getKeyDescriptors());
 

Reply via email to