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 "property" element to XML document. + * + * @param parent Parent XML node. + * @param name Value for "name" attribute + * @param val Value for "value" 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());