2014-08-01 16:26 GMT+02:00 Jeremie BOUSQUET <jeremie.bousq...@gmail.com>:

> 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...
>

Sorry, not only a matter of taste, that way you check at once if property
is null OR empty string. Depends on what you need of course.


>
>
>>   #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