You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by iv...@apache.org on 2015/07/01 15:09:16 UTC

[8/8] incubator-ignite git commit: #ignite-964: fix get operations.

#ignite-964: fix get operations.


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

Branch: refs/heads/ignite-964
Commit: 830f397d06d3addbbf0363d942e69013bf65897b
Parents: 61f88e8
Author: ivasilinets <iv...@gridgain.com>
Authored: Wed Jul 1 16:08:58 2015 +0300
Committer: ivasilinets <iv...@gridgain.com>
Committed: Wed Jul 1 16:08:58 2015 +0300

----------------------------------------------------------------------
 .../apache/ignite/internal/NodeJsCacheApiSelfTest.java  |  7 +++++++
 modules/nodejs/src/test/js/test-cache-api.js            | 10 +++++++++-
 .../rest/protocols/http/jetty/GridJettyRestHandler.java | 12 +++++++++---
 3 files changed, 25 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/830f397d/modules/nodejs/src/test/java/org/apache/ignite/internal/NodeJsCacheApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/nodejs/src/test/java/org/apache/ignite/internal/NodeJsCacheApiSelfTest.java b/modules/nodejs/src/test/java/org/apache/ignite/internal/NodeJsCacheApiSelfTest.java
index dcb0db5..596c964 100644
--- a/modules/nodejs/src/test/java/org/apache/ignite/internal/NodeJsCacheApiSelfTest.java
+++ b/modules/nodejs/src/test/java/org/apache/ignite/internal/NodeJsCacheApiSelfTest.java
@@ -53,6 +53,13 @@ public class NodeJsCacheApiSelfTest extends NodeJsAbstractTest {
     /**
      * @throws Exception If failed.
      */
+    public void testPutGetObject() throws Exception {
+        runJsScript("testPutGetObject");
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
     public void testIncorrectCache() throws Exception {
         runJsScript("testIncorrectCacheName");
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/830f397d/modules/nodejs/src/test/js/test-cache-api.js
----------------------------------------------------------------------
diff --git a/modules/nodejs/src/test/js/test-cache-api.js b/modules/nodejs/src/test/js/test-cache-api.js
index 3e397bc..77b1684 100644
--- a/modules/nodejs/src/test/js/test-cache-api.js
+++ b/modules/nodejs/src/test/js/test-cache-api.js
@@ -26,6 +26,13 @@ testPutGet = function() {
     startTest("mycache", {trace: [put, getExist], entry: ["key" , "6"]});
 }
 
+testPutGetObject = function() {
+    var key = {"name" : "Paul"};
+    var val = {"age" : 12, "books" : ["1", "Book"]};
+
+    startTest("mycache", {trace: [put, getExist], entry: [key , val]});
+}
+
 testPutContains = function() {
     startTest("mycache", {trace: [put, containsKey], entry: ["key" , "6"]});
 }
@@ -249,7 +256,8 @@ function notContainsKeys(cache, entries, next) {
 function getExist(cache, entry, next) {
     function onGet(error, value) {
         assert(!error);
-        assert(value === entry[1], "Get incorrect value on get [exp=" + entry[1] + ", val=" + value + "]");
+        assert(TestUtils.compareObject(entry[1], value), "Get incorrect value on get [exp=" +
+            JSON.stringify(entry[1]) + ", val=" + JSON.stringify(value) + "]");
         next();
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/830f397d/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java
----------------------------------------------------------------------
diff --git a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java
index cacbf19..be44916 100644
--- a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java
+++ b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java
@@ -320,10 +320,10 @@ public class GridJettyRestHandler extends AbstractHandler {
      * @param cmdRes Rest response.
      */
     private void createResponse(GridRestCommand cmd, GridRestResponse cmdRes) {
-        if (cmd == CACHE_GET_ALL) {
-            if (cmdRes.getResponse() == null)
-                return;
+        if (cmdRes.getResponse() == null)
+            return;
 
+        if (cmd == CACHE_GET_ALL) {
             Map o = (Map)cmdRes.getResponse();
 
             List<RestEntry> res = new ArrayList<>();
@@ -332,6 +332,12 @@ public class GridJettyRestHandler extends AbstractHandler {
                 res.add(new RestEntry(k, o.get(k)));
 
             cmdRes.setResponse(res);
+        } else if (cmd == CACHE_GET || cmd == CACHE_GET_AND_PUT ||
+            cmd == CACHE_GET_AND_PUT_IF_ABSENT || cmd == CACHE_GET_AND_REMOVE) {
+            Object o = cmdRes.getResponse();
+
+            if (o instanceof JSONCacheObject)
+                cmdRes.setResponse(((JSONCacheObject)o).getFields());
         }
     }