Velocity
  1. Velocity
  2. VELOCITY-701

migrating from 1.4 to 1.6.1 iteration over a List no longer works

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.6.1
    • Fix Version/s: 1.6.2, 1.7, 2.x
    • Component/s: Engine
    • Labels:
      None
    • Environment:
      Linux, Sun Java 1.5

      Description

      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();

      }

        Activity

        Mark Thomas made changes -
        Workflow Default workflow, editable Closed status [ 12551977 ] jira [ 12552711 ]
        Mark Thomas made changes -
        Workflow jira [ 12452824 ] Default workflow, editable Closed status [ 12551977 ]
        Nathan Bubna made changes -
        Comment [ [flights|http://getflightsto.com]
        [baby names|http://childcareforums.com]
        ]
        Nathan Bubna made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Nathan Bubna made changes -
        Field Original Value New Value
        Resolution Fixed [ 1 ]
        Fix Version/s 2.0 [ 12310291 ]
        Fix Version/s 1.7 [ 12313453 ]
        Fix Version/s 1.6.2 [ 12313574 ]
        Status Open [ 1 ] Resolved [ 5 ]
        chad davis created issue -

          People

          • Assignee:
            Unassigned
            Reporter:
            chad davis
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development