Hi Neils,

Many thanks for reporting this issue :)

I have broken down your JIRA issue (
http://jira.xwiki.org/jira/browse/XAWMB-2) into two separate issues and
moved them to correct projects / components as below:

http://jira.xwiki.org/jira/browse/XWIKI-4140 (Fixed in 2.0M3)

http://jira.xwiki.org/jira/browse/XWIKI-4141

And while fixing XWIKI-4140 I encountered another bug (not related to your
JIRA) which I reported as:

http://jira.xwiki.org/jira/browse/XE-475

About XWIKI-4141, you can use the {{groovy}} macro instead for now.

- Asiri

PS: The code in your Macros.GroovyRandom wiki macro is:

{{script
language=groovy}}xwiki.generateRandomString(xcontext.macro.params.size){{/script}}

I had to change this to the following to make it work:

{{script
language=groovy}}println(xwiki.xwiki.generateRandomString(Integer.parseInt(xcontext.macro.params.size))){{/script}}

On Mon, Aug 10, 2009 at 6:21 AM, Niels Mayer <[email protected]> wrote:

> Also, by way of comparison, the "multiple invocation" bug doesn't happen
> using the "1.0 way" in a "2.0" document, without wiki-macro-bridge,
> using $xwiki.parseGroovyFromPage().
> Is there a 2.0 equivalent for $xwiki.parseGroovyFromPage() method suggested
> by
>
> http://platform.xwiki.org/xwiki/bin/view/DevGuide/GroovyClassHelloWorldTutorial
> ?
>
> http://jira.xwiki.org/jira/browse/XAWMB-2?focusedCommentId=43681&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_43681
> FYI, here, I demonstrate a "regular non macro bridge" way of invoking
> groovy
> in a 2.0 document. It doesn't have the same issues with only outputting the
> first instance results:
>
> == Testing parseGroovyFromPage("TestClass1") With 2.0 Syntax ==
>
> Note that [[TestClass1?viewer=code]] is in 1.0 Syntax, per
> [[
> http://platform.xwiki.org/xwiki/bin/view/DevGuide/GroovyClassHelloWorldTutorial]<http://platform.xwiki.org/xwiki/bin/view/DevGuide/GroovyClassHelloWorldTutorial%5D>
> ].
> Is there a 2.0 syntax for $xwiki.parseGroovyFromPage()?
> ==== Initialize $groovyObject ====
> {{velocity}}
> #set($groovyObject = $xwiki.parseGroovyFromPage("TestClass1"))
> $groovyObject.setObjects($xwiki, $context)
> {{/velocity}}
> ==== First Call $groovyObject.helloWorld() ====
> {{velocity}}$groovyObject.helloWorld(){{/velocity}}
> ==== Second Call $groovyObject.helloWorld() ====
> {{velocity}}$groovyObject.helloWorld(){{/velocity}}
> ==== Third Call $groovyObject.helloWorld() ====
> {{velocity}}$groovyObject.helloWorld(){{/velocity}}
> ==== Fourth Call $groovyObject.helloWorld() ====
> {{velocity}}$groovyObject.helloWorld(){{/velocity}}
> ==== Fifth Call $groovyObject.helloWorld() ====
> {{velocity}}$groovyObject.helloWorld(){{/velocity}}
> ==== Sixth Call $groovyObject.helloWorld() ====
> {{velocity}}$groovyObject.helloWorld(){{/velocity}}
> ==== Seventh Call $groovyObject.helloWorld() ====
> {{velocity}}$groovyObject.helloWorld(){{/velocity}}
>
> Produces
>
> Testing parseGroovyFromPage("TestClass1") With 2.0 Syntax
> Note that TestClass1 is in 1.0 Syntax, per
>
> http://platform.xwiki.org/xwiki/bin/view/DevGuide/GroovyClassHelloWorldTutorial
> .
> Is there a 2.0 syntax for $xwiki.parseGroovyFromPage()?Initialize
> $groovyObject
> First Call $groovyObject.helloWorld()
> Hello World:0
> Second Call $groovyObject.helloWorld()
> Hello World:1
> Third Call $groovyObject.helloWorld()
> Hello World:2
> Fourth Call $groovyObject.helloWorld()
> Hello World:3
> Fifth Call $groovyObject.helloWorld()
> Hello World:4
> Sixth Call $groovyObject.helloWorld()
> Hello World:5
> Seventh Call $groovyObject.helloWorld()
> Hello World:6
>
> With the class defined in a 1.0 document:
>
> /* Groovy Class Called by [Groovy.VelocityCallingTestClass1] #* */
>
> class groovyClass {
>
> def xwiki;
> def context;
> def call_count = 0;
>
>  void setObjects(xwiki, context) {
>    setXWiki(xwiki);
>    setContext(context);
>  }
>
>  void setXWiki(xwiki) {
>    this.xwiki = xwiki;
>  }
>
>  void setContext(context) {
>    this.context = context;
>  }
>
>  String helloWorld() {
>    return "Hello World:" + call_count++;
>  }
> }
>
> /* *# */
>
>
>
> Niels
> http://nielsmayer.com
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to