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/13 08:35:39 UTC

[38/50] [abbrv] incubator-ignite git commit: #ignite-964: java7 js cache is working

#ignite-964: java7 js cache is working


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

Branch: refs/heads/ignite-961
Commit: 4e4547a9e7114a6a376298010a53f3a81cc7083e
Parents: b19536b
Author: ivasilinets <iv...@gridgain.com>
Authored: Fri Jul 10 17:51:40 2015 +0300
Committer: ivasilinets <iv...@gridgain.com>
Committed: Fri Jul 10 17:51:40 2015 +0300

----------------------------------------------------------------------
 .../processors/rest/GridRestProcessor.java      |  5 +-
 .../IgniteScriptingCommandHandler.java          |  6 +-
 .../scripting/IgniteScriptingProcessor.java     | 86 +++++++++++++++++++-
 .../scripting/ScriptingCacheEntry.java          | 57 -------------
 .../processors/scripting/ScriptingJSIgnite.java |  5 +-
 .../processors/scripting/ScriptingJsCache.java  | 15 ++--
 .../scripting/ScriptingObjectConverter.java     |  2 +-
 .../ScriptingObjectConverter8.java              | 24 ++++++
 .../http/jetty/GridJettyRestHandler.java        | 44 +++++-----
 .../http/jetty/GridJettyRestProtocol.java       |  2 +-
 10 files changed, 148 insertions(+), 98 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4e4547a9/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 df2304a..e387f98 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 start() throws IgniteCheckedException {
+    @Override public void onKernalStart() throws IgniteCheckedException {
         if (isRestEnabled()) {
             // Start protocols.
             startTcpProtocol();
@@ -273,10 +273,7 @@ public class GridRestProcessor extends GridProcessorAdapter {
                 }
             }
         }
-    }
 
-    /** {@inheritDoc} */
-    @Override public void onKernalStart() throws IgniteCheckedException {
         if (isRestEnabled()) {
             for (GridRestProtocol proto : protos)
                 proto.onKernalStart();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4e4547a9/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 2d0a06e..21381f1 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
@@ -28,7 +28,6 @@ import org.apache.ignite.internal.processors.scripting.*;
 import org.apache.ignite.internal.util.future.*;
 import org.apache.ignite.internal.util.typedef.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
-import org.apache.ignite.json.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.resources.*;
 import org.jetbrains.annotations.*;
@@ -214,8 +213,9 @@ public class IgniteScriptingCommandHandler extends GridRestCommandHandlerAdapter
         public JsCallFunctionJob(String func, Object argv) {
             this.func = func;
 
-            this.argv = ScriptingObjectConverter8.convertToRestObject(
-                JSONCacheObject.toSimpleObject(argv));
+            IgniteScriptingProcessor proc = ((IgniteKernal) ignite).context().scripting();
+
+            this.argv = proc.toScriptingObject(proc.toJavaObject(argv));
         }
 
         /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4e4547a9/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/IgniteScriptingProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/IgniteScriptingProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/IgniteScriptingProcessor.java
index 9ff89e2..e5eba31 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/IgniteScriptingProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/IgniteScriptingProcessor.java
@@ -32,7 +32,7 @@ import static javax.script.ScriptContext.*;
  */
 public class IgniteScriptingProcessor extends GridProcessorAdapter {
     /** Javascript engine name. */
-    public static final String JAVA_SCRIPT_ENGINE_NAME = "javascript";
+    public static final String JAVA_SCRIPT_ENGINE_NAME = "rhino";
 
     /** Java8 scripting converter class. */
     private static final String CONV_CLS_JAVA8 =
@@ -59,8 +59,10 @@ public class IgniteScriptingProcessor extends GridProcessorAdapter {
             Constructor<?> ctor = cls.getConstructor(GridKernalContext.class);
 
             converter = (ScriptingObjectConverter)ctor.newInstance(ctx);
+            System.out.println("JDK 8 is found!!!!");
         }
         catch (ClassNotFoundException ignored) {
+            System.out.println("JDK 8 is not found!!!!");
             converter = new ScriptingObjectConverter();
         }
         catch (NoSuchMethodException | InvocationTargetException | InstantiationException | IllegalAccessException e) {
@@ -69,7 +71,9 @@ public class IgniteScriptingProcessor extends GridProcessorAdapter {
 
         ScriptEngineManager factory = new ScriptEngineManager();
 
+        System.out.println("ENGINE!!!!");
         jsEngine = factory.getEngineByName(JAVA_SCRIPT_ENGINE_NAME);
+        System.out.println("ENGINE FOUND!!!!");
 
         addBinding("ignite", new ScriptingJSIgnite(ctx.grid()));
 
@@ -183,4 +187,84 @@ public class IgniteScriptingProcessor extends GridProcessorAdapter {
     public Object toJavaObject(Object o) {
         return converter.toJavaObject(o);
     }
+
+    /**
+     * @param o Object from script.
+     * @return Object to store in cache.
+     */
+    public Object getField(String key, Object o) {
+        return converter.getField(key, o);
+    }
+
+    /**
+     * @param o Object from script.
+     * @return Object to store in cache.
+     */
+    public Object getFields(Object o) {
+        return converter.getFields(o);
+    }
+
+    /**
+     * @param key Key.
+     * @param val Value.
+     * @return Scripting entry.
+     */
+    public Object createScriptingEntry(Object key, Object val) {
+        return new ScriptingCacheEntry(getFields(key), getFields(val));
+    }
+
+    /**
+     * Scripting cache entry.
+     */
+    public static class ScriptingCacheEntry {
+        /** Key. */
+        private Object key;
+
+        /** Value. */
+        private Object val;
+
+        /**
+         * @param key Key.
+         * @param val Value.
+         */
+        public ScriptingCacheEntry(Object key, Object val) {
+            if (key instanceof ScriptingObjectConverter)
+                this.key = key;
+            else
+                this.key = key;
+
+            if (val instanceof ScriptingObjectConverter)
+                this.val = val;
+            else
+                this.val = val;
+        }
+
+        /**
+         * @return Key.
+         */
+        public Object getKey() {
+            return key;
+        }
+
+        /**
+         * @param key Key.
+         */
+        public void setKey(Object key) {
+            this.key = key;
+        }
+
+        /**
+         * @return Value.
+         */
+        public Object getValue() {
+            return val;
+        }
+
+        /**
+         * @param val Value.
+         */
+        public void setValue(Object val) {
+            this.val = val;
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4e4547a9/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/ScriptingCacheEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/ScriptingCacheEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/ScriptingCacheEntry.java
deleted file mode 100644
index adb43d1..0000000
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/ScriptingCacheEntry.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.apache.ignite.internal.processors.scripting;
-
-
-/**
- * Scripting cache entry.
- */
-public class ScriptingCacheEntry {
-    /** Key. */
-    private Object key;
-
-    /** Value. */
-    private Object val;
-
-    /**
-     * @param key Key.
-     * @param val Value.
-     */
-    public ScriptingCacheEntry(Object key, Object val) {
-        if (key instanceof ScriptingObjectConverter)
-            this.key = ((ScriptingObjectConverter)key).getFields();
-        else
-            this.key = key;
-
-        if (val instanceof ScriptingObjectConverter)
-            this.val = ((ScriptingObjectConverter)val).getFields();
-        else
-            this.val = val;
-    }
-
-    /**
-     * @return Key.
-     */
-    public Object getKey() {
-        return key;
-    }
-
-    /**
-     * @param key Key.
-     */
-    public void setKey(Object key) {
-        this.key = key;
-    }
-
-    /**
-     * @return Value.
-     */
-    public Object getValue() {
-        return val;
-    }
-
-    /**
-     * @param val Value.
-     */
-    public void setValue(Object val) {
-        this.val = val;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4e4547a9/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/ScriptingJSIgnite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/ScriptingJSIgnite.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/ScriptingJSIgnite.java
index 1c89318..a10d1e5 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/ScriptingJSIgnite.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/ScriptingJSIgnite.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.processors.scripting;
 
 import org.apache.ignite.*;
+import org.apache.ignite.internal.*;
 
 /**
  * Node js ignite.
@@ -38,7 +39,7 @@ public class ScriptingJSIgnite {
      * @return Node js cache.
      */
     public ScriptingJsCache cache(String cache) {
-        return new ScriptingJsCache(ignite.cache(cache));
+        return new ScriptingJsCache(ignite.cache(cache), ((IgniteKernal)ignite).context().scripting());
     }
 
     /**
@@ -46,7 +47,7 @@ public class ScriptingJSIgnite {
      * @return Node js cache.
      */
     public ScriptingJsCache getOrCreateCache(String cache) {
-        return new ScriptingJsCache(ignite.getOrCreateCache(cache));
+        return new ScriptingJsCache(ignite.getOrCreateCache(cache), ((IgniteKernal)ignite).context().scripting());
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4e4547a9/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/ScriptingJsCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/ScriptingJsCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/ScriptingJsCache.java
index ce3975f..e6c271c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/ScriptingJsCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/ScriptingJsCache.java
@@ -34,9 +34,11 @@ public class ScriptingJsCache {
 
     /**
      * @param cache Ignite cache.
+     * @param proc Ignite scripting processor.
      */
     public ScriptingJsCache(IgniteCache cache, IgniteScriptingProcessor proc) {
         this.cache = cache;
+        this.proc = proc;
     }
 
     /**
@@ -83,16 +85,15 @@ public class ScriptingJsCache {
      * @param keys Keys.
      * @return Cache entries.
      */
-    public List<ScriptingCacheEntry> getAll(List keys) {
+    public List<Object> getAll(List keys) {
         List cacheKeys = (List)proc.toJavaObject(keys);
 
         Map<Object, Object> entries = cache.getAll(new HashSet<>(cacheKeys));
 
-        List<ScriptingCacheEntry> res = new ArrayList<>();
+        List<Object> res = new ArrayList<>();
 
         for (Map.Entry<Object, Object> e : entries.entrySet())
-            res.add(new ScriptingCacheEntry(
-                proc.toScriptingObject(e.getKey()),
+            res.add(proc.createScriptingEntry(proc.toScriptingObject(e.getKey()),
                 proc.toScriptingObject(e.getValue())));
 
         return res;
@@ -115,10 +116,8 @@ public class ScriptingJsCache {
 
         Map<Object, Object> cacheEntries = U.newHashMap(entries.size());
 
-        for (Object e : cacheKeys) {
-            JSONCacheObject e0 = (JSONCacheObject)e;
-            cacheEntries.put(e0.getField("key"), e0.getField("value"));
-        }
+        for (Object e : cacheKeys)
+            cacheEntries.put(proc.getField("key", e), proc.getField("value", e));
 
         cache.putAll(cacheEntries);
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4e4547a9/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/ScriptingObjectConverter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/ScriptingObjectConverter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/ScriptingObjectConverter.java
index 7e2758b..d5c6dfd 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/ScriptingObjectConverter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/scripting/ScriptingObjectConverter.java
@@ -54,6 +54,6 @@ public class ScriptingObjectConverter {
      * @return Object to store in cache.
      */
     public Object getFields(Object o) {
-        return JSONCacheObject.toSimpleObject(o);
+        return o;
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4e4547a9/modules/core/src/main/java8/org.apache.ignite.internal.processors.scripting/ScriptingObjectConverter8.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java8/org.apache.ignite.internal.processors.scripting/ScriptingObjectConverter8.java b/modules/core/src/main/java8/org.apache.ignite.internal.processors.scripting/ScriptingObjectConverter8.java
index 23ea93d..1355b46 100644
--- a/modules/core/src/main/java8/org.apache.ignite.internal.processors.scripting/ScriptingObjectConverter8.java
+++ b/modules/core/src/main/java8/org.apache.ignite.internal.processors.scripting/ScriptingObjectConverter8.java
@@ -68,6 +68,30 @@ public class ScriptingObjectConverter8 extends ScriptingObjectConverter implemen
         return fields.get(key);
     }
 
+    /**
+     * @param o Object from script.
+     * @return Object to store in cache.
+     */
+    public Object getField(String key, Object o) {
+        if (o instanceof JSONCacheObject)
+            return ((JSONCacheObject)o).getField(key);
+        if (o instanceof ScriptingObjectConverter8)
+            return ((ScriptingObjectConverter8)o).getField(key);
+
+        return null;
+    }
+
+    /**
+     * @param o Object from script.
+     * @return Object to store in cache.
+     */
+    public Object getFields(Object o) {
+        if (o instanceof ScriptingObjectConverter8)
+            return ((ScriptingObjectConverter8)o).getFields();
+
+        return o;
+    }
+
     @Override public Object call(Object o, Object... objects) {
         System.out.println("!!!!CALL");
         return null;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4e4547a9/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 0828779..f576a3e 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
@@ -26,7 +26,6 @@ import org.apache.ignite.internal.processors.rest.request.*;
 import org.apache.ignite.internal.processors.scripting.*;
 import org.apache.ignite.internal.util.typedef.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
-import org.apache.ignite.json.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.plugin.security.*;
 import org.eclipse.jetty.server.*;
@@ -73,20 +72,26 @@ public class GridJettyRestHandler extends AbstractHandler {
     /** Authentication checker. */
     private final IgniteClosure<String, Boolean> authChecker;
 
+    /** Ignite scripting processor. */
+    IgniteScriptingProcessor proc;
+
     /**
      * Creates new HTTP requests handler.
      *
+     * @param proc Scripting processor.
      * @param hnd Handler.
      * @param authChecker Authentication checking closure.
      * @param log Logger.
      */
-    GridJettyRestHandler(GridRestProtocolHandler hnd, IgniteClosure<String, Boolean> authChecker, IgniteLogger log) {
+    GridJettyRestHandler(IgniteScriptingProcessor proc, GridRestProtocolHandler hnd,
+        IgniteClosure<String, Boolean> authChecker, IgniteLogger log) {
         assert hnd != null;
         assert log != null;
 
         this.hnd = hnd;
         this.log = log;
         this.authChecker = authChecker;
+        this.proc = proc;
 
         // Init default page and favicon.
         try {
@@ -330,10 +335,10 @@ public class GridJettyRestHandler extends AbstractHandler {
         if (cmd == CACHE_GET_ALL) {
             Map o = (Map)cmdRes.getResponse();
 
-            List<ScriptingCacheEntry> res = new ArrayList<>();
+            List<Object> res = new ArrayList<>();
 
             for (Object k : o.keySet())
-                res.add(new ScriptingCacheEntry(k, o.get(k)));
+                res.add(proc.createScriptingEntry(k, o.get(k)));
 
             cmdRes.setResponse(res);
 
@@ -341,8 +346,7 @@ public class GridJettyRestHandler extends AbstractHandler {
         else {
             Object o = cmdRes.getResponse();
 
-            if (o instanceof ScriptingObjectConverter8)
-                cmdRes.setResponse(((ScriptingObjectConverter8)o).getFields());
+            cmdRes.setResponse(proc.getFields(o));
         }
     }
 
@@ -411,19 +415,17 @@ public class GridJettyRestHandler extends AbstractHandler {
                 String cacheName = (String)params.get("cacheName");
 
                 if (req.getHeader("JSONObject") != null) {
-                    JSONObject o = parseRequest(req);
+                    Object o = proc.toJavaObject(parseRequest(req));
 
-                    Map<Object, Object> map = U.newHashMap(o.keySet().size());
+                    Map<Object, Object> map = new HashMap<>();
 
                     switch (cmd) {
                         case CACHE_PUT_ALL: {
-                            List entries = (List) o.get("entries");
+                            List entries = (List)proc.getField("entries", o);
 
                             for (Object entry : entries) {
-                                JSONCacheObject cacheEntry = new JSONCacheObject((JSONObject) entry);
-
-                                Object key = cacheEntry.getField("key");
-                                Object val = cacheEntry.getField("value");
+                                Object key = proc.getField("key", entry);
+                                Object val = proc.getField("value", entry);
 
                                 map.put(key, val);
                             }
@@ -438,9 +440,9 @@ public class GridJettyRestHandler extends AbstractHandler {
                         case CACHE_GET_ALL:
                         case CACHE_REMOVE_ALL:
                         case CACHE_CONTAINS_KEYS: {
-                            JSONCacheObject cacheObj = new JSONCacheObject(o);
+                            Object cacheObj = proc.toJavaObject(o);
 
-                            List keys = (List) cacheObj.getField("keys");
+                            List keys = (List)proc.getField("keys", cacheObj);
 
                             for (Object key : keys)
                                 map.put(key, null);
@@ -464,13 +466,13 @@ public class GridJettyRestHandler extends AbstractHandler {
                         case CACHE_REPLACE:
                         case CACHE_GET_AND_REPLACE:
                         case CACHE_REPLACE_VALUE: {
-                            JSONCacheObject cacheObj = new JSONCacheObject(o);
+                            Object cacheObj = proc.toJavaObject(o);
 
                             restReq0.cacheName(F.isEmpty(cacheName) ? null : cacheName);
 
-                            restReq0.key(cacheObj.getField("key"));
-                            restReq0.value(cacheObj.getField("val"));
-                            restReq0.value2(cacheObj.getField("oldVal"));
+                            restReq0.key(proc.getField("key", cacheObj));
+                            restReq0.value(proc.getField("val", cacheObj));
+                            restReq0.value2(proc.getField("oldVal", cacheObj));
                             break;
                         }
 
@@ -588,12 +590,12 @@ public class GridJettyRestHandler extends AbstractHandler {
                 RestRunScriptRequest restReq0 = new RestRunScriptRequest();
 
                 restReq0.script((String)params.get("func"));
-                restReq0.cacheName((String)params.get("cacheName"));
+                restReq0.cacheName((String) params.get("cacheName"));
 
                 JSONObject o = parseRequest(req);
                 restReq0.argument(o.get("arg"));
 
-                Object cacheObj = JSONCacheObject.toSimpleObject(o.get("key"));
+                Object cacheObj = proc.toJavaObject(o.get("key"));
                 restReq0.affinityKey(cacheObj);
 
                 restReq = restReq0;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4e4547a9/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestProtocol.java
----------------------------------------------------------------------
diff --git a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestProtocol.java b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestProtocol.java
index d02e73b..7051fb6 100644
--- a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestProtocol.java
+++ b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestProtocol.java
@@ -116,7 +116,7 @@ public class GridJettyRestProtocol extends GridRestProtocolAdapter {
 
         System.setProperty(IGNITE_JETTY_HOST, locHost.getHostAddress());
 
-        jettyHnd = new GridJettyRestHandler(hnd, new C1<String, Boolean>() {
+        jettyHnd = new GridJettyRestHandler(ctx.scripting(), hnd, new C1<String, Boolean>() {
             @Override public Boolean apply(String tok) {
                 return F.isEmpty(secretKey) || authenticate(tok);
             }