Affects Version/s: 1.6, 1.6.1, 1.7
Fix Version/s: 1.7
The following VTL calls the toString() method on the object in $foo:
If the toString() method throws an exception, the exception is thrown all the way out of velocity without any indication of where the vtl reference occurred. This patch wraps the exception with a VelocityException with a message that indicates the location of the offending reference.
However, I wonder why toString() is called at all... the code tests for toString() == null and returns false if so, and true otherwise in the above example vtl. Why is this test necessary, and why isn't just a non-null object enough for testing?
|Workflow||Default workflow, editable Closed status [ 12551377 ]||jira [ 12552082 ]|
|Workflow||jira [ 12448179 ]||Default workflow, editable Closed status [ 12551377 ]|
|Status||Open [ 1 ]||Closed [ 6 ]|
|Resolution||Fixed [ 1 ]|
|Affects Version/s||1.6 [ 12310290 ]|
|Fix Version/s||1.7 [ 12313453 ]|
|Affects Version/s||1.7 [ 12313453 ]|