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

Nathan Bubna resolved VELOCITY-701.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 2.0
                   1.7
                   1.6.2

Fixed in all revisions.

> migrating from 1.4 to 1.6.1 iteration over a List no longer works
> -----------------------------------------------------------------
>
>                 Key: VELOCITY-701
>                 URL: https://issues.apache.org/jira/browse/VELOCITY-701
>             Project: Velocity
>          Issue Type: Bug
>          Components: Engine
>    Affects Versions: 1.6.1
>         Environment: Linux, Sun Java 1.5
>            Reporter: chad davis
>             Fix For: 1.6.2, 1.7, 2.0
>
>
> I have a template that references a List returned by a method on an Enum.  
> The method is defined as an abstract member of the enum.  This used to work 
> on 1.4, but doesn't work on 1.6.1  I'm able to get it to work on 1.6.1 by 
> changing the abstract method to a regular method of the Enum, which is then 
> overridden by each instance of the enum.  Here's the code that doesn't work.  
> Again, it seems to be the abstract modifier, becuase if I change that method 
> to something like
> public List getMyList() { return new ArrayList(); }
> And then just override it in my enum instances, everything works fine.  
> public enum Thing {
>            NUMBER_ONE(  ){
>                        public List<String> getInnerThings() {
>                                //initialize innerThings if this is first time
>                                if ( this.innerThings == null ) {
>                                        innerThings = new ArrayList<String>();
>                                        innerThings.add( "blah blah" );
>                                        innerThings.add("blah blah"  );
>                                }
>                                return innerThings;
>                        }
>                },
>                 NUMBER_TWO(  ){
>                        public List<String> getinnerThings() {
>                                //initialize innerThings if this is first time
>                                if ( this.innerThings == null ) {
>                                        innerThings = new ArrayList<String>();
>                                        innerThings.add( "blah blah" );
>                                        innerThings.add("blah blah"  );
>                                }
>                                return innerThings;
>                        }
>                },
>                 NUMBER_THREE(  ){
>                        public List<String> getinnerThings() {
>                                if ( this.innerThings == null ) {
>                                        innerThings = new ArrayList<String>();
>                                        innerThings.add( "blah blah" );
>                                        innerThings.add("blah blah"  );
>                                }
>                                return innerThings;
>                        }
>                };
>        List<String> innerThings;
>        //This was an abstract method, but Velocity 1.6 quite working with it.
>        public abstract List<String> getinnerThings();
> }

-- 
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-unsubscr...@velocity.apache.org
For additional commands, e-mail: dev-h...@velocity.apache.org

Reply via email to