[ https://issues.apache.org/jira/browse/VELOCITY-657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12659121#action_12659121 ]
Nathan Bubna commented on VELOCITY-657: --------------------------------------- Yeah, we need to merge the change to the 1.6.x branch. Perhaps then someone else will be willing to try and run the 1.6.2 release process? Claude is right that i should not be the only one prepared to do releases. > $velocityHasNext not working properly (returns true even if iterator does not > have next value) > ---------------------------------------------------------------------------------------------- > > Key: VELOCITY-657 > URL: https://issues.apache.org/jira/browse/VELOCITY-657 > Project: Velocity > Issue Type: Bug > Components: Engine > Affects Versions: 1.6 > Reporter: Dominik Marks > Priority: Minor > Attachments: velocity-657-testcase.patch > > > Using the new "velocityHasNext" feature in loops does not work as expected. > When using the following excerpt: > #foreach ($value in $element.values) > $value > #if( $velocityHasNext ) > SEPARATOR > #end > #end > and having $element.values as e.g. "test1", "test2", "test3" > I get > test1 SEPARATOR test2 SEPARATOR test3 SEPARATOR > but I would expect > test1 SEPARATOR test2 SEPARATOR test3 > When looking into the source code, I see the following in > org.apache.velocity.runtime.directive.Foreach.render(): > while (!maxNbrLoopsExceeded && i.hasNext()) > { > // TODO: JDK 1.5+ -> Integer.valueOf() > put(context, counterName , new Integer(counter)); > put(context, hasNextName, Boolean.valueOf(i.hasNext())); > Object value = i.next(); > put(context, elementKey, value); > .... > } > Isn't this the wrong order of instructions? > I would expect: > Object value = i.next(); > put(context, hasNextName, Boolean.valueOf(i.hasNext())); > So that the $velocityHasNext variable will be filled with the "hasNext" of > the follow-up iteration and not with the "hasNext" of the current iteration > (which will always be true, otherwise the loop has finished before). -- 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