Hi,
2014-08-01 15:42 GMT+02:00 Pascal BASTIEN <pbasnews-xw...@yahoo.fr>: > Yes, my scheduler can contain: xcontext.put("DoCleanup", "true") > > > xwiki.getDocument("SandboxTemplate.ReinitSandboxMacro").getRenderedContent() > or this > xcontext.put("source", "SpaceTemplate") > xcontext.put("DoCleanup", "true") > > xwiki.getDocument("SandboxTemplate.ReinitSandboxMacro").getRenderedContent() > > or > xcontext.put("source", "SpaceTemplate") > xcontext.put("target", "SpaceToDeleteAndOverwrite") > xcontext.put("DoCleanup", "true") > > xwiki.getDocument("SandboxTemplate.ReinitSandboxMacro").getRenderedContent() > > I would maybe try to replace the "...getRenderedContent()" by an include macro [1] like: {{include reference="SandboxTemplate.ReinitSandboxMacro"/}} include macro renders the document in same context as container document. [1] - http://extensions.xwiki.org/xwiki/bin/view/Extension/Include+Macro > > And my SandboxTemplate.ReinitSandboxMacro contain this velocity scipt: > > #if ($request.get('source') != $null) > If from outside you use "$xcontext.put", you can't expect it to be available from "$request.get" ;-) You should use "$xcontext.get" here instead. > #set ($Source = "$request.get('source')") > #else > #set ($Source = "SandboxTemplate") > #end > > #if ($request.get('target') != $null) > #set ($Target = "$request.get('target')") > #else > #set ($Target = "Sandbox") > #end > > #if ($request.confirm == 'true' || $xcontext.get("docleanup") == 'true') > > From where would come this "confirm" request param ? From a scheduler job there will not be such request parameter ... unless you don't talk about the xwiki Scheduler ? [2] [2] - http://extensions.xwiki.org/xwiki/bin/view/Extension/Scheduler+Application > > =>My script is launch > > This test doesn't work > #if (xcontext.get("source") != $null) > Anyway you miss the '$' here --> "$xcontext.get("source") ..." Personnally I usually prefer to write: #if ("$!xcontext.get('source')" != "") ... but it's a matter of taste... > #set ($Source = "xcontext.get("source")") > #else > #set ($Source = "SandboxTemplate") > #end > > > To resume: I'm looking for a test to know if a xcontext.get("parameter") > exist or not (in a velocity script) > > > > > ________________________________ > De : Thomas Mortagne <thomas.morta...@xwiki.com> > À : Pascal BASTIEN <pbasnews-xw...@yahoo.fr>; XWiki Users <users@xwiki.org > > > Envoyé le : Vendredi 1 août 2014 15h28 > Objet : Re: [xwiki-users] How to check $xcontext.get(xxxx) is empty? > > > It's not very clear how exactly are you executing this wiki content > with Velocity in it ? Document#getRenderedContent call from Groovy ? > > > On Fri, Aug 1, 2014 at 3:16 PM, Pascal BASTIEN <pbasnews-xw...@yahoo.fr> > wrote: > > Hello, > > > > I have "some" difficulty with my groovy/velocity code: > > I manage to pass some parameter between my scheduler/groovy script to my > velocity code of my page but I need to check in my velocity code if my > parameter exist (or not). > > > http://maven.xwiki.org/site/docs/xwiki-javadoc-4.1.x/com/xpn/xwiki/api/Context.html#get%28java.lang.String%29 > > > > By exemple, this code doesn't work: > > {{velocity}} > > #if ( $xcontext.get("DoCleanup")!=$null) > > "DoCleanup" parameter doesn't exist > > #else > > DoCleanup parameter from groovy code is $xcontext.get("DoCleanup") > > #end > > {{/velocity}} > > > > > http://maven.xwiki.org/site/docs/xwiki-javadoc-4.1.x/com/xpn/xwiki/api/Context.html#get%28java.lang.String%29 > return null if user have PR :-( > > > > In fact, in my velocity code I need to detect who's launch the velocity > script: groovy code of scheduler or manually launch by the page containing > velocity code. > > > > Any idea how can I do? > > Thxs. > > > > Pascal B. > > _______________________________________________ > > users mailing list > > users@xwiki.org > > http://lists.xwiki.org/mailman/listinfo/users > > > > -- > Thomas Mortagne > _______________________________________________ > users mailing list > users@xwiki.org > http://lists.xwiki.org/mailman/listinfo/users > _______________________________________________ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users