#ignite-961: fix client suite.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/3d4f3b60 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/3d4f3b60 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/3d4f3b60 Branch: refs/heads/ignite-1121 Commit: 3d4f3b60bcd1b315968d542a1c4b68c3eb443049 Parents: a6557f5 Author: ivasilinets <ivasilin...@gridgain.com> Authored: Thu Jul 16 18:50:32 2015 +0300 Committer: ivasilinets <ivasilin...@gridgain.com> Committed: Thu Jul 16 18:50:32 2015 +0300 ---------------------------------------------------------------------- .../processors/rest/GridRestProcessor.java | 2 +- .../IgniteScriptingCommandHandler.java | 45 +++++++++++++------- 2 files changed, 30 insertions(+), 17 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3d4f3b60/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java index e387f98..9af188c 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java @@ -248,7 +248,7 @@ public class GridRestProcessor extends GridProcessorAdapter { } /** {@inheritDoc} */ - @Override public void onKernalStart() throws IgniteCheckedException { + @Override public void start() throws IgniteCheckedException { if (isRestEnabled()) { // Start protocols. startTcpProtocol(); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3d4f3b60/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/scripting/IgniteScriptingCommandHandler.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/scripting/IgniteScriptingCommandHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/scripting/IgniteScriptingCommandHandler.java index dbfda37..599f24c 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/scripting/IgniteScriptingCommandHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/scripting/IgniteScriptingCommandHandler.java @@ -50,27 +50,14 @@ public class IgniteScriptingCommandHandler extends GridRestCommandHandlerAdapter /** Emit result. */ private IgniteJsEmitResult emitRes; + /** Initialize flag. */ + private boolean init = false; + /** * @param ctx Context. */ public IgniteScriptingCommandHandler(GridKernalContext ctx) { super(ctx); - - try { - IgniteScriptingProcessor script = ctx.scripting(); - - String emitFunction = "function emit(f, args, nodeId) {" + - "__emitResult.add(f.toString(), args, nodeId);}"; - - script.addEngineFunction(emitFunction); - - emitRes = new IgniteJsEmitResult(); - - script.addBinding("__emitResult", emitRes); - } - catch (IgniteCheckedException e) { - ctx.log().error(e.getMessage()); - } } /** {@inheritDoc} */ @@ -82,6 +69,9 @@ public class IgniteScriptingCommandHandler extends GridRestCommandHandlerAdapter @Override public IgniteInternalFuture<GridRestResponse> handleAsync(GridRestRequest req) { assert req != null; + if (!init) + initialize(); + assert SUPPORTED_COMMANDS.contains(req.command()); switch (req.command()) { @@ -111,6 +101,29 @@ public class IgniteScriptingCommandHandler extends GridRestCommandHandlerAdapter } /** + * Initialize functions. + */ + private void initialize() { + try { + IgniteScriptingProcessor script = ctx.scripting(); + + String emitFunction = "function emit(f, args, nodeId) {" + + "__emitResult.add(f.toString(), args, nodeId);}"; + + script.addEngineFunction(emitFunction); + + emitRes = new IgniteJsEmitResult(); + + script.addBinding("__emitResult", emitRes); + + init = true; + } + catch (IgniteCheckedException e) { + ctx.log().error(e.getMessage()); + } + } + + /** * JS Compute Task. */ private static class JsTask extends ComputeTaskAdapter<String, Object> {