Author: ivaynberg Date: Thu Mar 18 15:28:03 2010 New Revision: 924862 URL: http://svn.apache.org/viewvc?rev=924862&view=rev Log: WICKET-2787 ValueMap.getAsBoolean(key, defaultValue) always returns false for non-existing keys, instead of the defaultValue Issue: WICKET-2787
Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/value/ValueMap.java wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/util/value/ValueMapTest.java Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/value/ValueMap.java URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/value/ValueMap.java?rev=924862&r1=924861&r2=924862&view=diff ============================================================================== --- wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/value/ValueMap.java (original) +++ wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/value/ValueMap.java Thu Mar 18 15:28:03 2010 @@ -606,6 +606,11 @@ public class ValueMap extends LinkedHash */ public boolean getAsBoolean(String key, boolean defaultValue) { + if (!containsKey(key)) + { + return defaultValue; + } + try { return getBoolean(key); Modified: wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/util/value/ValueMapTest.java URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/util/value/ValueMapTest.java?rev=924862&r1=924861&r2=924862&view=diff ============================================================================== --- wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/util/value/ValueMapTest.java (original) +++ wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/util/value/ValueMapTest.java Thu Mar 18 15:28:03 2010 @@ -196,6 +196,7 @@ public class ValueMapTest extends TestCa assertEquals(defBoolean, vm.getAsBoolean("boolean.bad", defBoolean)); assertNull(vm.getAsBoolean("boolean.missing")); assertEquals(defBoolean, vm.getAsBoolean("boolean.missing", defBoolean)); + assertEquals(!defBoolean, vm.getAsBoolean("boolean.missing", !defBoolean)); // integer assertEquals(integerValue, vm.getAsInteger("num"));