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 2016/02/20 13:56:02 UTC

ignite git commit: ignite-961 Review

Repository: ignite
Updated Branches:
  refs/heads/ignite-961 6c1e937c2 -> 297e0a668


ignite-961 Review


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/297e0a66
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/297e0a66
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/297e0a66

Branch: refs/heads/ignite-961
Commit: 297e0a6683a9e942c61664b820c7c51192f46cde
Parents: 6c1e937
Author: sboikov <sb...@gridgain.com>
Authored: Sat Feb 20 15:55:29 2016 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Sat Feb 20 15:55:29 2016 +0300

----------------------------------------------------------------------
 .../binary/CacheObjectBinaryProcessorImpl.java  |   2 +-
 .../json/IgniteJsonNoopProcessor.java           |  15 ---
 .../processors/json/IgniteJsonProcessor.java    |  20 ----
 .../processors/query/GridQueryProcessor.java    | 103 +------------------
 .../json/IgniteJsonProcessorImpl.java           |  34 ++----
 5 files changed, 10 insertions(+), 164 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/297e0a66/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
index 95ef578..9ccb10a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
@@ -485,7 +485,7 @@ public class CacheObjectBinaryProcessorImpl extends IgniteCacheObjectProcessorIm
             }
         }
 
-        if (obj instanceof Map && !ctx.json().jsonObject(obj)) {
+        {
             Map<Object, Object> pMap = BinaryUtils.newKnownMap(obj);
 
             if (pMap != null) {

http://git-wip-us.apache.org/repos/asf/ignite/blob/297e0a66/modules/core/src/main/java/org/apache/ignite/internal/processors/json/IgniteJsonNoopProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/json/IgniteJsonNoopProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/json/IgniteJsonNoopProcessor.java
index 9bd81c4..7a11d06 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/json/IgniteJsonNoopProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/json/IgniteJsonNoopProcessor.java
@@ -46,26 +46,11 @@ public class IgniteJsonNoopProcessor extends GridProcessorAdapter implements Ign
     }
 
     /** {@inheritDoc} */
-    @Override public boolean jsonType(Class<?> cls) {
-        return false;
-    }
-
-    /** {@inheritDoc} */
     @Override public boolean jsonObject(Object obj) {
         return false;
     }
 
     /** {@inheritDoc} */
-    @Override public boolean hasField(Object obj, String fieldName) {
-        return false;
-    }
-
-    /** {@inheritDoc} */
-    @Override public Object field(Object obj, String fieldName) {
-        return null;
-    }
-
-    /** {@inheritDoc} */
     @Override public Object value(Object obj) {
         return null;
     }

http://git-wip-us.apache.org/repos/asf/ignite/blob/297e0a66/modules/core/src/main/java/org/apache/ignite/internal/processors/json/IgniteJsonProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/json/IgniteJsonProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/json/IgniteJsonProcessor.java
index 59985f3..2733142 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/json/IgniteJsonProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/json/IgniteJsonProcessor.java
@@ -44,12 +44,6 @@ public interface IgniteJsonProcessor extends GridProcessor {
     @Nullable public CacheObject toCacheObject(CacheObjectContext ctx, @Nullable Object obj, boolean userObj);
 
     /**
-     * @param cls Class.
-     * @return {@code True} if given type is JSON object type.
-     */
-    public boolean jsonType(Class<?> cls);
-
-    /**
      * @param obj Object.
      * @return {@code True} if given object is JSON object.
      */
@@ -57,20 +51,6 @@ public interface IgniteJsonProcessor extends GridProcessor {
 
     /**
      * @param obj Object.
-     * @param fieldName Field name.
-     * @return {@code True} if field is set.
-     */
-    public boolean hasField(Object obj, String fieldName);
-
-    /**
-     * @param obj Object.
-     * @param fieldName Field name.
-     * @return Field value.
-     */
-    public Object field(Object obj, String fieldName);
-
-    /**
-     * @param obj Object.
      */
     public Object value(Object obj);
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/297e0a66/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
index 91ad01d..64bbc8f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
@@ -662,8 +662,6 @@ public class GridQueryProcessor extends GridProcessorAdapter {
             if (coctx == null)
                 coctx = cacheObjectContext(space);
 
-            TypeDescriptor desc;
-
             Class<?> valCls = null;
 
             TypeId id;
@@ -681,7 +679,7 @@ public class GridQueryProcessor extends GridProcessorAdapter {
                 id = new TypeId(space, valCls);
             }
 
-            desc = types.get(id);
+            TypeDescriptor desc = types.get(id);
 
             if (desc == null || !desc.registered())
                 return;
@@ -1477,26 +1475,7 @@ public class GridQueryProcessor extends GridProcessorAdapter {
     }
 
     /**
-     * TODO IGNITE-961.
-     *
-     * @param pathStr String representing path to the property. May contains dots '.' to identify
-     *      nested fields.
-     * @param resType Result type.
-     * @return Portable property.
-     */
-    private JsonProperty buildJsonProperty(String pathStr, Class<?> resType) {
-        String[] path = pathStr.split("\\.");
-
-        JsonProperty res = null;
-
-        for (String prop : path)
-            res = new JsonProperty(prop, res, resType);
-
-        return res;
-    }
-
-    /**
-     * Processes declarative metadata for portable object.
+     * Processes declarative metadata for binary object.
      *
      * @param qryEntity Declared metadata.
      * @param d Type descriptor.
@@ -1945,84 +1924,6 @@ public class GridQueryProcessor extends GridProcessorAdapter {
     }
 
     /**
-     * TODO IGNITE-961
-     */
-    private class JsonProperty extends GridQueryProperty {
-        /** Property name. */
-        private String propName;
-
-        /** Parent property. */
-        private JsonProperty parent;
-
-        /** Result class. */
-        private Class<?> type;
-
-        /** */
-        private volatile int isKeyProp;
-
-        /**
-         * Constructor.
-         *
-         * @param propName Property name.
-         * @param parent Parent property.
-         * @param type Result type.
-         */
-        private JsonProperty(String propName, JsonProperty parent, Class<?> type) {
-            this.propName = propName;
-            this.parent = parent;
-            this.type = type;
-        }
-
-        /** {@inheritDoc} */
-        @Override public Object value(Object key, Object val) throws IgniteCheckedException {
-            Object obj;
-
-            if (parent != null) {
-                obj = parent.value(key, val);
-
-                if (obj == null)
-                    return null;
-
-                if (!ctx.json().jsonObject(obj))
-                    throw new IgniteCheckedException("Non-json object received as a result of property extraction " +
-                        "[parent=" + parent + ", propName=" + propName + ", obj=" + obj + ']');
-            }
-            else {
-                int isKeyProp0 = isKeyProp;
-
-                if (isKeyProp0 == 0) {
-                    // Key is allowed to be a non-portable object here.
-                    // We check key before value consistently with ClassProperty.
-                    if (ctx.json().jsonObject(key) && ctx.json().hasField(key, propName))
-                        isKeyProp = isKeyProp0 = 1;
-                    else if (ctx.json().hasField(val, propName))
-                        isKeyProp = isKeyProp0 = -1;
-                    else {
-                        U.warn(log, "Neither key nor value have property " +
-                            "[propName=" + propName + ", key=" + key + ", val=" + val + "]");
-
-                        return null;
-                    }
-                }
-
-                obj = isKeyProp0 == 1 ? key : val;
-            }
-
-            return ctx.json().field(obj, propName);
-        }
-
-        /** {@inheritDoc} */
-        @Override public String name() {
-            return propName;
-        }
-
-        /** {@inheritDoc} */
-        @Override public Class<?> type() {
-            return type;
-        }
-    }
-
-    /**
      *
      */
     private class BinaryProperty extends GridQueryProperty {

http://git-wip-us.apache.org/repos/asf/ignite/blob/297e0a66/modules/json/src/main/java/org/apache/ignite/internal/processors/json/IgniteJsonProcessorImpl.java
----------------------------------------------------------------------
diff --git a/modules/json/src/main/java/org/apache/ignite/internal/processors/json/IgniteJsonProcessorImpl.java b/modules/json/src/main/java/org/apache/ignite/internal/processors/json/IgniteJsonProcessorImpl.java
index 292b648..ae71463 100644
--- a/modules/json/src/main/java/org/apache/ignite/internal/processors/json/IgniteJsonProcessorImpl.java
+++ b/modules/json/src/main/java/org/apache/ignite/internal/processors/json/IgniteJsonProcessorImpl.java
@@ -43,15 +43,7 @@ public class IgniteJsonProcessorImpl extends GridProcessorAdapter implements Ign
 
     /** {@inheritDoc} */
     @Override public KeyCacheObject toCacheKeyObject(CacheObjectContext ctx, Object obj, boolean userObj) {
-        if (obj instanceof JsonObject) {
-            IgniteJsonObject jsonObj = (IgniteJsonObject)obj;
-
-            BinaryObject binObj = jsonObj.binaryObject();
-
-            return ctx.processor().toCacheKeyObject(ctx, binObj, userObj);
-        }
-
-        return null;
+        return (KeyCacheObject)toCacheObject(ctx, obj, userObj);
     }
 
     /** {@inheritDoc} */
@@ -63,37 +55,25 @@ public class IgniteJsonProcessorImpl extends GridProcessorAdapter implements Ign
 
             BinaryObject binObj = jsonObj.binaryObject();
 
-            return ctx.processor().toCacheObject(ctx, binObj, userObj);
+            return (CacheObject)binObj;
         }
 
         return null;
     }
 
     /** {@inheritDoc} */
-    @Override public boolean jsonType(Class<?> cls) {
-        return cls.equals(JsonObject.class);
-    }
-
-    /** {@inheritDoc} */
     @Override public boolean jsonObject(Object obj) {
         return obj instanceof JsonObject || obj instanceof BinaryObject &&
             ((BinaryObject)obj).type().typeName().equals(JsonObject.class.getName());
     }
 
     /** {@inheritDoc} */
-    @Override public boolean hasField(Object obj, String fieldName) {
-        return ((JsonObject)obj).containsKey(fieldName);
-    }
-
-    /** {@inheritDoc} */
-    @Override public Object field(Object obj, String fieldName) {
-        return value((JsonObject) obj, fieldName);
-    }
-
-    /** {@inheritDoc} */
     @Override public Object value(Object obj) {
-        if (obj instanceof BinaryObject)
-            return new IgniteJsonObject((BinaryObject)obj);
+        if (obj instanceof BinaryObject) {
+            assert ((BinaryObject)obj).type().typeName().equals(JsonObject.class.getName()) : obj;
+
+            return new IgniteJsonObject((BinaryObject) obj);
+        }
 
         return null;
     }