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;
}