Repository: groovy Updated Branches: refs/heads/GROOVY_2_4_X 8725d926c -> 5785204c2
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/5785204c Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/5785204c Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/5785204c Branch: refs/heads/GROOVY_2_4_X Commit: 5785204c2e878d9c56a9e7c6a8e76ee22b2d5654 Parents: bbfe7ad Author: John Wagenleitner <jwagenleit...@apache.org> Authored: Tue Jun 28 16:36:57 2016 -0700 Committer: John Wagenleitner <jwagenleit...@apache.org> Committed: Tue Jun 28 17:07:42 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/5785204c/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/5785204c/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/5785204c/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 + } + }