Java Code Examples for javax.script.Bindings#remove()
The following examples show how to use
javax.script.Bindings#remove() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ScopeTest.java From TencentKona-8 with GNU General Public License v2.0 | 6 votes |
@Test public void megamorphicPropertyReadTest() throws ScriptException { final NashornScriptEngineFactory factory = new NashornScriptEngineFactory(); final ScriptEngine engine = factory.getScriptEngine(); final Bindings scope = engine.getBindings(ScriptContext.ENGINE_SCOPE); boolean ret; // Why 16 is the upper limit of this loop? The default nashorn dynalink megamorphic threshold is 16. // See jdk.nashorn.internal.runtime.linker.Bootstrap.NASHORN_DEFAULT_UNSTABLE_RELINK_THRESHOLD // We do, 'eval' of the same in this loop twice. So, 16*2 = 32 times that callsite in the script // is exercised - much beyond the default megamorphic threshold. for (int i = 0; i < 16; i++) { scope.remove(VAR_NAME); ret = lookupVar(engine, VAR_NAME); assertFalse(ret, "Expected false in iteration " + i); scope.put(VAR_NAME, "foo"); ret = lookupVar(engine, VAR_NAME); assertTrue(ret, "Expected true in iteration " + i); } }
Example 2
Source File: ScopeTest.java From openjdk-jdk8u with GNU General Public License v2.0 | 6 votes |
@Test public void megamorphicPropertyReadTest() throws ScriptException { final NashornScriptEngineFactory factory = new NashornScriptEngineFactory(); final ScriptEngine engine = factory.getScriptEngine(); final Bindings scope = engine.getBindings(ScriptContext.ENGINE_SCOPE); boolean ret; // Why 16 is the upper limit of this loop? The default nashorn dynalink megamorphic threshold is 16. // See jdk.nashorn.internal.runtime.linker.Bootstrap.NASHORN_DEFAULT_UNSTABLE_RELINK_THRESHOLD // We do, 'eval' of the same in this loop twice. So, 16*2 = 32 times that callsite in the script // is exercised - much beyond the default megamorphic threshold. for (int i = 0; i < 16; i++) { scope.remove(VAR_NAME); ret = lookupVar(engine, VAR_NAME); assertFalse(ret, "Expected false in iteration " + i); scope.put(VAR_NAME, "foo"); ret = lookupVar(engine, VAR_NAME); assertTrue(ret, "Expected true in iteration " + i); } }
Example 3
Source File: ScopeTest.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 6 votes |
@Test public void megamorphicPropertyReadTest() throws ScriptException { final NashornScriptEngineFactory factory = new NashornScriptEngineFactory(); final ScriptEngine engine = factory.getScriptEngine(); final Bindings scope = engine.getBindings(ScriptContext.ENGINE_SCOPE); boolean ret; // Why 16 is the upper limit of this loop? The default nashorn dynalink megamorphic threshold is 16. // See jdk.nashorn.internal.runtime.linker.Bootstrap.NASHORN_DEFAULT_UNSTABLE_RELINK_THRESHOLD // We do, 'eval' of the same in this loop twice. So, 16*2 = 32 times that callsite in the script // is exercised - much beyond the default megamorphic threshold. for (int i = 0; i < 16; i++) { scope.remove(VAR_NAME); ret = lookupVar(engine, VAR_NAME); assertFalse(ret, "Expected false in iteration " + i); scope.put(VAR_NAME, "foo"); ret = lookupVar(engine, VAR_NAME); assertTrue(ret, "Expected true in iteration " + i); } }
Example 4
Source File: ScopeTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 6 votes |
@Test public void megamorphicPropertyReadTest() throws ScriptException { final NashornScriptEngineFactory factory = new NashornScriptEngineFactory(); final ScriptEngine engine = factory.getScriptEngine(); final Bindings scope = engine.getBindings(ScriptContext.ENGINE_SCOPE); boolean ret; // Why 16 is the upper limit of this loop? The default nashorn dynalink megamorphic threshold is 16. // See jdk.nashorn.internal.runtime.linker.Bootstrap.NASHORN_DEFAULT_UNSTABLE_RELINK_THRESHOLD // We do, 'eval' of the same in this loop twice. So, 16*2 = 32 times that callsite in the script // is exercised - much beyond the default megamorphic threshold. for (int i = 0; i < 16; i++) { scope.remove(VAR_NAME); ret = lookupVar(engine, VAR_NAME); assertFalse(ret, "Expected false in iteration " + i); scope.put(VAR_NAME, "foo"); ret = lookupVar(engine, VAR_NAME); assertTrue(ret, "Expected true in iteration " + i); } }
Example 5
Source File: ScopeTest.java From hottub with GNU General Public License v2.0 | 6 votes |
@Test public void megamorphicPropertyReadTest() throws ScriptException { final NashornScriptEngineFactory factory = new NashornScriptEngineFactory(); final ScriptEngine engine = factory.getScriptEngine(); final Bindings scope = engine.getBindings(ScriptContext.ENGINE_SCOPE); boolean ret; // Why 16 is the upper limit of this loop? The default nashorn dynalink megamorphic threshold is 16. // See jdk.nashorn.internal.runtime.linker.Bootstrap.NASHORN_DEFAULT_UNSTABLE_RELINK_THRESHOLD // We do, 'eval' of the same in this loop twice. So, 16*2 = 32 times that callsite in the script // is exercised - much beyond the default megamorphic threshold. for (int i = 0; i < 16; i++) { scope.remove(VAR_NAME); ret = lookupVar(engine, VAR_NAME); assertFalse(ret, "Expected false in iteration " + i); scope.put(VAR_NAME, "foo"); ret = lookupVar(engine, VAR_NAME); assertTrue(ret, "Expected true in iteration " + i); } }
Example 6
Source File: ScopeTest.java From jdk8u_nashorn with GNU General Public License v2.0 | 6 votes |
@Test public void megamorphicPropertyReadTest() throws ScriptException { final NashornScriptEngineFactory factory = new NashornScriptEngineFactory(); final ScriptEngine engine = factory.getScriptEngine(); final Bindings scope = engine.getBindings(ScriptContext.ENGINE_SCOPE); boolean ret; // Why 16 is the upper limit of this loop? The default nashorn dynalink megamorphic threshold is 16. // See jdk.nashorn.internal.runtime.linker.Bootstrap.NASHORN_DEFAULT_UNSTABLE_RELINK_THRESHOLD // We do, 'eval' of the same in this loop twice. So, 16*2 = 32 times that callsite in the script // is exercised - much beyond the default megamorphic threshold. for (int i = 0; i < 16; i++) { scope.remove(VAR_NAME); ret = lookupVar(engine, VAR_NAME); assertFalse(ret, "Expected false in iteration " + i); scope.put(VAR_NAME, "foo"); ret = lookupVar(engine, VAR_NAME); assertTrue(ret, "Expected true in iteration " + i); } }
Example 7
Source File: GremlinGroovyScriptEngineOverGraphTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test public void shouldAllowFunctionsUsedInClosure() throws ScriptException { final Graph graph = TinkerFactory.createModern(); final GraphTraversalSource g = graph.traversal(); final GremlinGroovyScriptEngine engine = new GremlinGroovyScriptEngine(); final Bindings bindings = engine.createBindings(); bindings.put("g", g); bindings.put("#jsr223.groovy.engine.keep.globals", "phantom"); bindings.put("vadas", convertToVertexId(graph, "vadas")); // this works on its own when the function and the line that uses it is in one "script". this is the // current workaround assertEquals(g.V(convertToVertexId(graph, "vadas")).next(), engine.eval("def isVadas(v){v.value('name')=='vadas'};g.V().filter{isVadas(it.get())}.next()", bindings)); // let's reset this piece and make sure isVadas is not hanging around. engine.reset(); // validate that isVadas throws an exception since it is not defined try { engine.eval("isVadas(g.V(vadas).next())", bindings); // fail the test if the above doesn't throw an exception fail(); } catch (Exception ex) { // this is good...we want this. it means isVadas isn't hanging about } // now...define the function separately on its own in one script bindings.remove("#jsr223.groovy.engine.keep.globals"); engine.eval("def isVadas(v){v.value('name')=='vadas'}", bindings); // make sure the function works on its own...no problem assertEquals(true, engine.eval("isVadas(g.V(vadas).next())", bindings)); // make sure the function works in a closure...this generates a StackOverflowError assertEquals(g.V(convertToVertexId(graph, "vadas")).next(), engine.eval("g.V().filter{isVadas(it.get())}.next()", bindings)); }
Example 8
Source File: Routes.java From logging-log4j2 with Apache License 2.0 | 5 votes |
/** * Returns the pattern. * @param event The log event passed to the script (if there is a script.) * @param scriptStaticVariables The script's static variables. * @return the pattern. */ public String getPattern(final LogEvent event, final ConcurrentMap<Object, Object> scriptStaticVariables) { if (patternScript != null) { final ScriptManager scriptManager = configuration.getScriptManager(); final Bindings bindings = scriptManager.createBindings(patternScript); bindings.put(STATIC_VARIABLES_KEY, scriptStaticVariables); bindings.put(LOG_EVENT_KEY, event); final Object object = scriptManager.execute(patternScript.getName(), bindings); bindings.remove(LOG_EVENT_KEY); return Objects.toString(object, null); } return pattern; }