[
https://issues.apache.org/jira/browse/GROOVY-8221?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eric Milles closed GROOVY-8221.
-------------------------------
Resolution: Information Provided
> Not being able to refer to global variables via scripted methods
> ----------------------------------------------------------------
>
> Key: GROOVY-8221
> URL: https://issues.apache.org/jira/browse/GROOVY-8221
> Project: Groovy
> Issue Type: Bug
> Components: GroovyScriptEngine
> Affects Versions: 2.4.11
> Environment: Probably not relevant, but problem at least confirmed on
> Mac OS X
> Reporter: David Ekholm
> Priority: Major
>
> We wish to switch from BeanShell to Groovy as script language (JSR-223) in
> our desktop software jAlbum. jAlbum injects a set of global variables into
> the scriptlets via the Bindings object of the JSR-223 API. These variables
> are directly accessible in simple scripts, but contrary to scripting in
> BeanShell, these variables are not available to methods declared within
> scripted classes.
> Here's what works (assuming that "foo" is passed to the GroovyScriptEngine
> via the Bindings object):
> println(foo) // foo being made available to the magically created Script
> class' run method
> Here's what won't work (foo again being passed to the GroovyScriptEngine via
> the Bindings object):
> class Test {
> void bar() {
> println(foo); // Reference to missing variable
> }
> }
> Test t = new Test()
> t.bar() // Fails due to missing variable
--
This message was sent by Atlassian Jira
(v8.3.4#803005)