[ http://issues.apache.org/jira/browse/VELOCITY-449?page=comments#action_12432615 ] Nathan Bubna commented on VELOCITY-449: ---------------------------------------
Agreed. We should remove the test for Map assignability. If public Object put(Object, Object) is there, it should work whether or not it is a Map. > Velocity Uberspector behaves differently for get(String) and put(String, > Object) methods > ---------------------------------------------------------------------------------------- > > Key: VELOCITY-449 > URL: http://issues.apache.org/jira/browse/VELOCITY-449 > Project: Velocity > Issue Type: Bug > Affects Versions: 1.5 > Reporter: Henning Schmiedehausen > Fix For: 1.5 > > > Consider an Object > public class Test { > private Object foo; > public Object get(String dummy) { return foo; } > public void put(String dummy, Object foo) { this.foo = foo }; > } > Put this object into a Velocity Context as $test, add a HashMap as $map. > Use the following template: > $map.put("key", "val1") > $test.put("key", "val1") > $map.get("key") --> Returns val1 > $test.get("key") --> Returns val1 > $map.key --> Returns val1 > $test.key --> Returns val1 > #set ($map.key = "val2") > #set ($test.key = "val2") > $map.key --> Returns val2 > $test.key --> Returns val1 !! > The reason for this is, that the UberspectorImpl, in getPropertySet tests in > line 247 whether the passed object is assignable to a Map. This test is no in > the getPropertyGet > and seems to have no reason because the following method lookup for "put" > will succeed anyway. > I'd suggest the removal of this test. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]