Re: [xwiki-users] Groovy equivalents to Velocity examples
Hi Vincent! Thanks for your answer! On Sun, Feb 26, 2017 at 8:28 PM Vincent Massol wrote: > Hi Ricardo, > > > On 26 Feb 2017, at 13:49, [IDIS Technical Secretariat] Ricardo Rodríguez > wrote: > > > > Thanks, Vincent! > > > > On Mon, Feb 20, 2017 at 1:28 PM Vincent Massol > wrote: > > > >> Hi Ricardo, > >> > >>> On 15 Feb 2017, at 09:02, [IDIS Technical Secretariat] Ricardo > Rodríguez > >> wrote: > >>> > >>> Hi! After many years surviving with Velocity scripts, it is time to > enjoy > >>> Groovy's magic! :-) > >> > >> Great! :) > >> > >>> Both XWiki sites and the web, in general, are crowded with sites/pages > >> with > >>> plenty of Groovy tutorials and manuals, but it would be great to have > >> some > >>> simple examples to helping understand the similarities and differences > >>> between Velocity and Groovy. > >>> > >>> Please, is there any XWiki resource explaining, for instance, how to > >>> achieve the same results shown in these sections by using Groovy? > >> > >> There’s this doc that you may or may not have seen already: > >> http://platform.xwiki.org/xwiki/bin/view/DevGuide/Scripting > >> > >> Please check in this doc the limitations of using groovy (programming > >> rights). > >> > >> It’s easy to convert a velocity script in groovy in general since the > >> bindings are the same and all the API calls are actually calls on java > >> objects and thus are the same from all scripting languages. > >> > >> Let us know if you have specific questions > >> > > > > There is one line here... > > > > http://platform.xwiki.org/xwiki/bin/view/DevGuide/APIGuide > > > > ... that is making me nuts! This one... > > > > SomeSpace.SomeClass[0] : field1 = "$rawValue" > > > > I've been not able to make it work, whereas other syntaxes do. Here some > > "life" Groovy examples > > > > http://portal.idisantiago.es/xwiki/bin/view/ICT/Groovy/ > > These 2 lines seem wrong: > > objsAuthors = doc.getObjects('XWiki.XWikiComments').author > objsAuthor = doc.getObjects('XWiki.XWikiComments')[2].author > > I can understand your explanation but, if these lines are wrong, why these are working? http://portal.idisantiago.es/xwiki/bin/view/ICT/Groovy/ I'm not sure where I'm lost... :-( Thanks! > doc.getObjects() will return a List of objects (i.e. several), and there’s > no getAuthor() or get(‘author’) API on a Vector or List… > > If you want to iterate you need to: > > doc.getObjects('XWiki.XWikiComments’).each() { > def author = it.get(‘author’) > println “* ${author}" > } > > I think the error is that in Velocity the call: > > $doc.getObjects('XWiki.XWikiComments')[2].author is a shortcut and the > real call is: > > $doc.getObjects('XWiki.XWikiComments')[2].get(‘author’) > > See > http://velocity.apache.org/engine/1.7/user-guide.html#property-lookup-rules > > This doesn’t exist in Groovy so you need to write get(‘author’). > > Thanks > -Vincent > > > > > > > Please, how that line does work? > > > > Thank you very much! > > > > Ricardo > > > > > >> > >> Thanks > >> -Vincent > >> > >>> > >> > http://platform.xwiki.org/xwiki/bin/view/DevGuide/APIGuide#HAccessobjectsinapage > >>> > >>> > >> > http://platform.xwiki.org/xwiki/bin/view/DevGuide/APIGuide#HAccessobjectsfromanypageandloopoverallobjectsofsameClass > >>> > >>> Thanks for your help! > >>> > >>> Ricardo > >>> -- > >>> Ricardo Rodríguez > >>> Research Management and Promotion Technician > >>> Technical Secretariat > >>> Health Research Institute of Santiago de Compostela (IDIS) > >>> http://www.idisantiago.es > >> > >> -- > > Ricardo Rodríguez > > Research Management and Promotion Technician > > Technical Secretariat > > Health Research Institute of Santiago de Compostela (IDIS) > > http://www.idisantiago.es > > -- Ricardo Rodríguez Research Management and Promotion Technician Technical Secretariat Health Research Institute of Santiago de Compostela (IDIS) http://www.idisantiago.es
Re: [xwiki-users] Groovy equivalents to Velocity examples
Hi Ricardo, > On 26 Feb 2017, at 13:49, [IDIS Technical Secretariat] Ricardo Rodríguez > wrote: > > Thanks, Vincent! > > On Mon, Feb 20, 2017 at 1:28 PM Vincent Massol wrote: > >> Hi Ricardo, >> >>> On 15 Feb 2017, at 09:02, [IDIS Technical Secretariat] Ricardo Rodríguez >> wrote: >>> >>> Hi! After many years surviving with Velocity scripts, it is time to enjoy >>> Groovy's magic! :-) >> >> Great! :) >> >>> Both XWiki sites and the web, in general, are crowded with sites/pages >> with >>> plenty of Groovy tutorials and manuals, but it would be great to have >> some >>> simple examples to helping understand the similarities and differences >>> between Velocity and Groovy. >>> >>> Please, is there any XWiki resource explaining, for instance, how to >>> achieve the same results shown in these sections by using Groovy? >> >> There’s this doc that you may or may not have seen already: >> http://platform.xwiki.org/xwiki/bin/view/DevGuide/Scripting >> >> Please check in this doc the limitations of using groovy (programming >> rights). >> >> It’s easy to convert a velocity script in groovy in general since the >> bindings are the same and all the API calls are actually calls on java >> objects and thus are the same from all scripting languages. >> >> Let us know if you have specific questions >> > > There is one line here... > > http://platform.xwiki.org/xwiki/bin/view/DevGuide/APIGuide > > ... that is making me nuts! This one... > > SomeSpace.SomeClass[0] : field1 = "$rawValue" > > I've been not able to make it work, whereas other syntaxes do. Here some > "life" Groovy examples > > http://portal.idisantiago.es/xwiki/bin/view/ICT/Groovy/ These 2 lines seem wrong: objsAuthors = doc.getObjects('XWiki.XWikiComments').author objsAuthor = doc.getObjects('XWiki.XWikiComments')[2].author doc.getObjects() will return a List of objects (i.e. several), and there’s no getAuthor() or get(‘author’) API on a Vector or List… If you want to iterate you need to: doc.getObjects('XWiki.XWikiComments’).each() { def author = it.get(‘author’) println “* ${author}" } I think the error is that in Velocity the call: $doc.getObjects('XWiki.XWikiComments')[2].author is a shortcut and the real call is: $doc.getObjects('XWiki.XWikiComments')[2].get(‘author’) See http://velocity.apache.org/engine/1.7/user-guide.html#property-lookup-rules This doesn’t exist in Groovy so you need to write get(‘author’). Thanks -Vincent > > Please, how that line does work? > > Thank you very much! > > Ricardo > > >> >> Thanks >> -Vincent >> >>> >> http://platform.xwiki.org/xwiki/bin/view/DevGuide/APIGuide#HAccessobjectsinapage >>> >>> >> http://platform.xwiki.org/xwiki/bin/view/DevGuide/APIGuide#HAccessobjectsfromanypageandloopoverallobjectsofsameClass >>> >>> Thanks for your help! >>> >>> Ricardo >>> -- >>> Ricardo Rodríguez >>> Research Management and Promotion Technician >>> Technical Secretariat >>> Health Research Institute of Santiago de Compostela (IDIS) >>> http://www.idisantiago.es >> >> -- > Ricardo Rodríguez > Research Management and Promotion Technician > Technical Secretariat > Health Research Institute of Santiago de Compostela (IDIS) > http://www.idisantiago.es
Re: [xwiki-users] Groovy equivalents to Velocity examples
Thanks, Vincent! On Mon, Feb 20, 2017 at 1:28 PM Vincent Massol wrote: > Hi Ricardo, > > > On 15 Feb 2017, at 09:02, [IDIS Technical Secretariat] Ricardo Rodríguez > wrote: > > > > Hi! After many years surviving with Velocity scripts, it is time to enjoy > > Groovy's magic! :-) > > Great! :) > > > Both XWiki sites and the web, in general, are crowded with sites/pages > with > > plenty of Groovy tutorials and manuals, but it would be great to have > some > > simple examples to helping understand the similarities and differences > > between Velocity and Groovy. > > > > Please, is there any XWiki resource explaining, for instance, how to > > achieve the same results shown in these sections by using Groovy? > > There’s this doc that you may or may not have seen already: > http://platform.xwiki.org/xwiki/bin/view/DevGuide/Scripting > > Please check in this doc the limitations of using groovy (programming > rights). > > It’s easy to convert a velocity script in groovy in general since the > bindings are the same and all the API calls are actually calls on java > objects and thus are the same from all scripting languages. > > Let us know if you have specific questions > There is one line here... http://platform.xwiki.org/xwiki/bin/view/DevGuide/APIGuide ... that is making me nuts! This one... SomeSpace.SomeClass[0] : field1 = "$rawValue" I've been not able to make it work, whereas other syntaxes do. Here some "life" Groovy examples http://portal.idisantiago.es/xwiki/bin/view/ICT/Groovy/ Please, how that line does work? Thank you very much! Ricardo > > Thanks > -Vincent > > > > http://platform.xwiki.org/xwiki/bin/view/DevGuide/APIGuide#HAccessobjectsinapage > > > > > http://platform.xwiki.org/xwiki/bin/view/DevGuide/APIGuide#HAccessobjectsfromanypageandloopoverallobjectsofsameClass > > > > Thanks for your help! > > > > Ricardo > > -- > > Ricardo Rodríguez > > Research Management and Promotion Technician > > Technical Secretariat > > Health Research Institute of Santiago de Compostela (IDIS) > > http://www.idisantiago.es > > -- Ricardo Rodríguez Research Management and Promotion Technician Technical Secretariat Health Research Institute of Santiago de Compostela (IDIS) http://www.idisantiago.es
Re: [xwiki-users] Groovy equivalents to Velocity examples
Hi Ricardo, > On 15 Feb 2017, at 09:02, [IDIS Technical Secretariat] Ricardo Rodríguez > wrote: > > Hi! After many years surviving with Velocity scripts, it is time to enjoy > Groovy's magic! :-) Great! :) > Both XWiki sites and the web, in general, are crowded with sites/pages with > plenty of Groovy tutorials and manuals, but it would be great to have some > simple examples to helping understand the similarities and differences > between Velocity and Groovy. > > Please, is there any XWiki resource explaining, for instance, how to > achieve the same results shown in these sections by using Groovy? There’s this doc that you may or may not have seen already: http://platform.xwiki.org/xwiki/bin/view/DevGuide/Scripting Please check in this doc the limitations of using groovy (programming rights). It’s easy to convert a velocity script in groovy in general since the bindings are the same and all the API calls are actually calls on java objects and thus are the same from all scripting languages. Let us know if you have specific questions. Thanks -Vincent > http://platform.xwiki.org/xwiki/bin/view/DevGuide/APIGuide#HAccessobjectsinapage > > http://platform.xwiki.org/xwiki/bin/view/DevGuide/APIGuide#HAccessobjectsfromanypageandloopoverallobjectsofsameClass > > Thanks for your help! > > Ricardo > -- > Ricardo Rodríguez > Research Management and Promotion Technician > Technical Secretariat > Health Research Institute of Santiago de Compostela (IDIS) > http://www.idisantiago.es
[xwiki-users] Groovy equivalents to Velocity examples
Hi! After many years surviving with Velocity scripts, it is time to enjoy Groovy's magic! :-) Both XWiki sites and the web, in general, are crowded with sites/pages with plenty of Groovy tutorials and manuals, but it would be great to have some simple examples to helping understand the similarities and differences between Velocity and Groovy. Please, is there any XWiki resource explaining, for instance, how to achieve the same results shown in these sections by using Groovy? http://platform.xwiki.org/xwiki/bin/view/DevGuide/APIGuide#HAccessobjectsinapage http://platform.xwiki.org/xwiki/bin/view/DevGuide/APIGuide#HAccessobjectsfromanypageandloopoverallobjectsofsameClass Thanks for your help! Ricardo -- Ricardo Rodríguez Research Management and Promotion Technician Technical Secretariat Health Research Institute of Santiago de Compostela (IDIS) http://www.idisantiago.es