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