Where did you set the property?
Alexander Gordt (JIRA) wrote:
[ http://jira.andromda.org/browse/TEMPENG-1?page=comments#action_11760 ]
Alexander Gordt commented on TEMPENG-1:
---------------------------------------
HiHi!
I tried to use the parameter
velocimacro.context.localscope = true
but it didn't change anything for me. Have you tried to solve the problem or is
it a more complicated bug, that won't be fixed in the near future?
I assume, that I haven't found the correct place to set the parameter...
Kind regards,
Alex Gordt
Fix scope of velocity macros
----------------------------
Key: TEMPENG-1
URL: http://jira.andromda.org/browse/TEMPENG-1
Project: Template Engines
Type: Bug
Components: Velocity
Reporter: Chad Brandon
Assignee: Chad Brandon
Shouldn't we set velocimacro.context.localscope = true? The docs say that this
property controls whether reference access (set/get) within a Velocimacro will
change the context, or be of local scope in that Velocimacro.
Test this VTL code snippet here:
#macro (MyMacro $argument)
argument before: $argument
#if ($argument < 5)
#set ($x = $argument+1)
#MyMacro($x)
#end
argument after: $argument
#end
Invoke it with "#MyMacro(1)". You will get this output:
argument before: 1
argument before: 2
argument before: 3
argument before: 4
argument before: 5
argument after: 5
argument after: 5
argument after: 5
argument after: 5
argument after: 1
I would have expected:
argument before: 1
argument before: 2
argument before: 3
argument before: 4
argument before: 5
argument after: 5
argument after: 4
argument after: 3
argument after: 2
argument after: 1
The reason is that $argument is a global variable, not a variable that
is local to the macro.
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Andromda-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/andromda-devel