You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by jw...@apache.org on 2016/06/29 00:06:52 UTC
[2/2] groovy git commit: Allow ScriptEngine to return same factory
that created it
Allow ScriptEngine to return same factory that created it
Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/941b3c57
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/941b3c57
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/941b3c57
Branch: refs/heads/master
Commit: 941b3c57f7fb9083a2dab9448afb27010b010271
Parents: aeaa67c
Author: John Wagenleitner <jw...@apache.org>
Authored: Tue Jun 28 16:36:57 2016 -0700
Committer: John Wagenleitner <jw...@apache.org>
Committed: Tue Jun 28 16:36:57 2016 -0700
----------------------------------------------------------------------
.../org/codehaus/groovy/jsr223/GroovyScriptEngineFactory.java | 2 +-
.../org/codehaus/groovy/jsr223/GroovyScriptEngineImpl.java | 5 +++++
.../test/groovy/org/codehaus/groovy/jsr223/JSR223Test.groovy | 6 ++++++
3 files changed, 12 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/groovy/blob/941b3c57/subprojects/groovy-jsr223/src/main/java/org/codehaus/groovy/jsr223/GroovyScriptEngineFactory.java
----------------------------------------------------------------------
diff --git a/subprojects/groovy-jsr223/src/main/java/org/codehaus/groovy/jsr223/GroovyScriptEngineFactory.java b/subprojects/groovy-jsr223/src/main/java/org/codehaus/groovy/jsr223/GroovyScriptEngineFactory.java
index 4aa0ce5..b804b06 100644
--- a/subprojects/groovy-jsr223/src/main/java/org/codehaus/groovy/jsr223/GroovyScriptEngineFactory.java
+++ b/subprojects/groovy-jsr223/src/main/java/org/codehaus/groovy/jsr223/GroovyScriptEngineFactory.java
@@ -132,7 +132,7 @@ public class GroovyScriptEngineFactory implements ScriptEngineFactory {
}
public ScriptEngine getScriptEngine() {
- return new GroovyScriptEngineImpl();
+ return new GroovyScriptEngineImpl(this);
}
public String getMethodCallSyntax(String obj, String method,
http://git-wip-us.apache.org/repos/asf/groovy/blob/941b3c57/subprojects/groovy-jsr223/src/main/java/org/codehaus/groovy/jsr223/GroovyScriptEngineImpl.java
----------------------------------------------------------------------
diff --git a/subprojects/groovy-jsr223/src/main/java/org/codehaus/groovy/jsr223/GroovyScriptEngineImpl.java b/subprojects/groovy-jsr223/src/main/java/org/codehaus/groovy/jsr223/GroovyScriptEngineImpl.java
index 338d121..06d6c89 100644
--- a/subprojects/groovy-jsr223/src/main/java/org/codehaus/groovy/jsr223/GroovyScriptEngineImpl.java
+++ b/subprojects/groovy-jsr223/src/main/java/org/codehaus/groovy/jsr223/GroovyScriptEngineImpl.java
@@ -124,6 +124,11 @@ public class GroovyScriptEngineImpl extends AbstractScriptEngine implements Comp
this.loader = classLoader;
}
+ GroovyScriptEngineImpl(GroovyScriptEngineFactory factory) {
+ this();
+ this.factory = factory;
+ }
+
public Object eval(Reader reader, ScriptContext ctx)
throws ScriptException {
return eval(readFully(reader), ctx);
http://git-wip-us.apache.org/repos/asf/groovy/blob/941b3c57/subprojects/groovy-jsr223/src/test/groovy/org/codehaus/groovy/jsr223/JSR223Test.groovy
----------------------------------------------------------------------
diff --git a/subprojects/groovy-jsr223/src/test/groovy/org/codehaus/groovy/jsr223/JSR223Test.groovy b/subprojects/groovy-jsr223/src/test/groovy/org/codehaus/groovy/jsr223/JSR223Test.groovy
index d6792be..d680130 100644
--- a/subprojects/groovy-jsr223/src/test/groovy/org/codehaus/groovy/jsr223/JSR223Test.groovy
+++ b/subprojects/groovy-jsr223/src/test/groovy/org/codehaus/groovy/jsr223/JSR223Test.groovy
@@ -214,4 +214,10 @@ class JSR223Test extends GroovyTestCase {
assert engine.eval(code).answer == 'bar'
}
+ void testScriptFactorySameAsEngineFactory() {
+ ScriptEngineFactory factory = new GroovyScriptEngineFactory()
+ ScriptEngine engine = factory.getScriptEngine()
+ assert engine.getFactory() == factory
+ }
+
}