You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@velocity.apache.org by "Henning Schmiedehausen (JIRA)" <de...@velocity.apache.org> on 2007/03/08 01:10:34 UTC

[jira] Closed: (VELOCITY-107) Method call fails

     [ https://issues.apache.org/jira/browse/VELOCITY-107?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Henning Schmiedehausen closed VELOCITY-107.
-------------------------------------------


> Method call fails
> -----------------
>
>                 Key: VELOCITY-107
>                 URL: https://issues.apache.org/jira/browse/VELOCITY-107
>             Project: Velocity
>          Issue Type: Bug
>          Components: Engine
>    Affects Versions: 1.3-rc1
>         Environment: Operating System: Linux
> Platform: PC
>            Reporter: Xinghai Chen
>         Assigned To: Velocity-Dev List
>            Priority: Blocker
>
> We are using Velocity as a part of TDK 2.1.  The sample vm file below works 
> fine with the bundled velocity library velocity-1.2-dev.jar but breaks when we 
> upgrade to velocity-1.2, velocity-1.3, velocity-1.3.1-rc1, or velocity-1.3.1-
> rc2.  The upgrade is necessary because we are passing objects of anonymous 
> classes into the context, which 1.2-dev does not handle well and velocity-1.2 
> upwards handles correctly.
> Below is a sample vm file that demonstrates this strange behavior.  We are 
> using menubar as tool to pull role-specific menubars, which is a miniversion of 
> java.awt.MenuBar, implementing just enough methods to iterate through the menu 
> and menuitem objects.  It's import to use index to get the menu/menuitem within 
> its container object because we are passing the menubar object to a macro which 
> generates javascript-driven pull-down menus.  The call $menu.getItem(j) throws 
> a ReferenceException.
> ###########################################################
> #set ($bar = $menubar.getMenuBar("author"))
> menu bar name is $bar.Name<br/>
> menus are
> <ol>
> #set ($last = $bar.MenuCount - 1)
> #foreach ($i in [0..$last])
>   #set ($menu = $bar.getMenu($i))
>   <li>$menu.Label with items
>   <ol>
>   #set ($itemlast = $menu.ItemCount - 1)
>   #foreach ($j in [0..$itemlast])
>     #set ($item = $menu.getItem(j))
>     <li>$item.Label has path $item.ActionCommand
>   #end
>   </ol>
> #end
> </ol>
> <hr/>
> <ol>
> #foreach ($menu in $bar.Menus)
>   <li>$menu.Label with items
>   <ol>
>   #foreach ($item in $menu.Items)
>     <li>$item.Label has path $item.ActionCommand
>   #end
>   </ol>
> #end
> </ol>
> ###########################################################
> This vm file is rendered into something like this:
> menu bar name is author
> menus are 
> 1. Test with items 
>     1. $item.Label has path $item.ActionCommand 
>     2. $item.Label has path $item.ActionCommand 
> 2. Classroom with items 
>     1. $item.Label has path $item.ActionCommand 
>     2. $item.Label has path $item.ActionCommand 
> --------------------------------------------------------------------------------
> 1. Test with items 
>     1. Create has path /author/test/create 
>     2. View has path /author/test/view 
> 2. Classroom with items 
>     1. Create has path /author/classroom/create 
>     2. View has path /author/classroom/view

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@velocity.apache.org
For additional commands, e-mail: dev-help@velocity.apache.org