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

Reply via email to