Repository: incubator-ignite Updated Branches: refs/heads/ignite-964-1 fb65fa1ef -> 584adbc1a
#ignite-964: wip Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/584adbc1 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/584adbc1 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/584adbc1 Branch: refs/heads/ignite-964-1 Commit: 584adbc1a21692c801889b88a8d34a8cb531756b Parents: fb65fa1 Author: ivasilinets <[email protected]> Authored: Wed Jul 1 23:48:33 2015 +0300 Committer: ivasilinets <[email protected]> Committed: Wed Jul 1 23:48:33 2015 +0300 ---------------------------------------------------------------------- .../scripting/IgniteScriptProcessor.java | 3 +- modules/nodejs/src/main/js/compute.js | 8 +++--- modules/nodejs/src/test/js/test-compute.js | 29 ++++++++++++++------ .../http/jetty/GridJettyRestHandler.java | 9 ++++-- 4 files changed, 34 insertions(+), 15 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/584adbc1/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/IgniteScriptProcessor.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/IgniteScriptProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/IgniteScriptProcessor.java index e82da91..247421f 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/IgniteScriptProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/IgniteScriptProcessor.java @@ -57,7 +57,7 @@ public class IgniteScriptProcessor extends GridProcessorAdapter { String createJSFunction = "function __createJSFunction(mapFunc) {" + "return eval('(function() { return ' + mapFunc.trim() + '})()'); }"; - String internalCall = "function __internalCall(funcSource, arg1, arg2) { " + + String internalCall = "function __internalCall(funcSource, arg1, arg2) { " + "var func = __createJSFunction(funcSource); " + "return func.apply(null, [arg1, arg2]); }"; @@ -127,6 +127,7 @@ public class IgniteScriptProcessor extends GridProcessorAdapter { public Object invokeFunction(String src, Object arg, Object arg2) throws IgniteCheckedException { try { Invocable invocable = (Invocable) jsEngine; + return invocable.invokeFunction("__internalCall", src, arg, arg2); } catch (ScriptException e) { http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/584adbc1/modules/nodejs/src/main/js/compute.js ---------------------------------------------------------------------- diff --git a/modules/nodejs/src/main/js/compute.js b/modules/nodejs/src/main/js/compute.js index 830ba85..7f56e1c 100644 --- a/modules/nodejs/src/main/js/compute.js +++ b/modules/nodejs/src/main/js/compute.js @@ -34,7 +34,8 @@ function Compute(server) { * @param {onGet} callback Callback */ Compute.prototype.runScript = function(runnable, args, callback) { - this._server.runCommand(new Command("runscript").addParam("func", runnable).addParam("arg", args), callback); + this._server.runCommand(new Command("runscript").addParam("func", runnable). + setPostData(JSON.stringify({"arg" : args})), callback); } /** @@ -47,9 +48,8 @@ Compute.prototype.runScript = function(runnable, args, callback) { Compute.prototype.execute = function(map, reduce, arg, callback) { var command = new Command("excmapreduce"); - command.addParam("map", map); - command.addParam("reduce", reduce); - command.addParam("arg", arg); + command.addParam("map", map).addParam("reduce", reduce); + command.setPostData(JSON.stringify({"arg" : arg})); this._server.runCommand(command, callback); } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/584adbc1/modules/nodejs/src/test/js/test-compute.js ---------------------------------------------------------------------- diff --git a/modules/nodejs/src/test/js/test-compute.js b/modules/nodejs/src/test/js/test-compute.js index b7ac463..9fd813b 100644 --- a/modules/nodejs/src/test/js/test-compute.js +++ b/modules/nodejs/src/test/js/test-compute.js @@ -91,7 +91,7 @@ function computeExecute(error, ignite) { var sum = 0; for (var i = 0; i < results.length; ++i) { - sum += JSON.parse(results[i]); + sum += results[i].intValue(); } return sum; @@ -134,9 +134,15 @@ function computeCacheExecute(error, ignite) { var map = function(nodes, args) { for (var i = 0; i < nodes.length; i++) { var f = function (args1) { - println("!!!!!!!arg" + args1 + " JSON" + JSON.stringify(args1)); - var o = ignite.cache("mycache").get(args1[0]); - println("!!!!!!!o" + o + " JSON" + JSON.stringify(o)); + var jsArgs = JSON.parse(args1); + println("!!!!jsArgs " + JSON.stringify(jsArgs[0])); + println("ARG0=" + args1.get(0)); + var cacheO = new org.apache.ignite.internal.processors.rest.protocols.http.jetty.JSONCacheObject(args1.get(0)); + println("CACHE OBJ= " + cacheO); + var o = ignite.cache("mycache").get(cacheO); + + println("!!!!!!!o" + o); + return o; }; @@ -149,7 +155,7 @@ function computeCacheExecute(error, ignite) { var exp = {"age" : 12, "books" : ["1", "Book"]}; for (var i = 0; i < results.length; i++) { - var val = JSON.parse(results[i]); + var val = results[i]; println("Incorrect value [exp=" + JSON.stringify(exp) + ", val=" + JSON.stringify(val) + "]"); } @@ -176,7 +182,9 @@ function computeCacheExecute(error, ignite) { entries.push(new Entry(key1, val1)); entries.push(new Entry(key2, val2)); - ignite.cache("mycache").putAll(entries, function(err) {ignite.compute().execute(map, reduce, [key1, val1], callback);}); + ignite.cache("mycache").putAll(entries, function(err) { + ignite.compute().execute(map, reduce, [key1, val1], callback); + }); } function computeCacheSizeExecute(error, ignite) { @@ -196,7 +204,9 @@ function computeCacheSizeExecute(error, ignite) { var sum = 0; for (var i = 0; i < results.length; i++) { - sum += JSON.parse(results[i]); + println("TYPE:" + (typeof results[i])); + println("keys:" + (Object.keys(results[i]))); + sum += results[i].intValue(); } return sum; @@ -211,7 +221,10 @@ function computeCacheSizeExecute(error, ignite) { }) } - ignite.cache("mycache").putAll("key", "val", function(err) {ignite.compute().execute(map, reduce, "", callback);}); + ignite.cache("mycache").put("key", "val", + function(err) { + ignite.compute().execute(map, reduce, "", callback); + }); } testComputeFuncWithErrorExecute = function() { http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/584adbc1/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 264cf5e..e4ce5f2 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 @@ -539,7 +539,9 @@ public class GridJettyRestHandler extends AbstractHandler { RestRunScriptRequest restReq0 = new RestRunScriptRequest(); restReq0.script((String)params.get("func")); - restReq0.argument(params.get("arg")); + + JSONObject o = parseRequest(req); + restReq0.argument(o.get("arg")); restReq = restReq0; @@ -550,7 +552,10 @@ public class GridJettyRestHandler extends AbstractHandler { RestMapReduceScriptRequest restReq0 = new RestMapReduceScriptRequest(); restReq0.mapFunction((String) params.get("map")); - restReq0.argument(params.get("arg")); + + JSONObject o = parseRequest(req); + restReq0.argument(o.get("arg")); + restReq0.reduceFunction((String) params.get("reduce")); restReq = restReq0;
