I mean remove the new logic in this method, not the whole method On Mon, Aug 29, 2011 at 9:37 PM, Martin Grigorov <[email protected]> wrote: > I would rather remove this method altogether if it is really a problem. > But who just puts a new .jar in an existing .war and goes in > production ? This is toooo brave .. I doubt there are such companies > > On Mon, Aug 29, 2011 at 9:30 PM, Martijn Dashorst > <[email protected]> wrote: >> AFAIK this requires a recompile for folks upgrading from 1.5-RC7 to >> 1.5-RC8 (or 1.5.0 to 1.5.1). Not very handy. >> >> The signature goes from: >> >> PageParameters#remove(String) >> to >> PageParameters#remove(String, String[]) >> >> IMO it is better to add the varargs method, or if it isn't compatible, >> add a method with signature: >> remove(String, String, String...) >> >> Martijn >> >> On Mon, Aug 29, 2011 at 2:48 PM, <[email protected]> wrote: >>> Author: mgrigorov >>> Date: Mon Aug 29 12:48:07 2011 >>> New Revision: 1162772 >>> >>> URL: http://svn.apache.org/viewvc?rev=1162772&view=rev >>> Log: >>> WICKET-3938 Impossible to remove particular key-value from PageParameters >>> >>> >>> Modified: >>> >>> wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/INamedParameters.java >>> >>> wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParameters.java >>> >>> wicket/trunk/wicket-request/src/test/java/org/apache/wicket/request/mapper/parameter/PageParametersTest.java >>> >>> Modified: >>> wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/INamedParameters.java >>> URL: >>> http://svn.apache.org/viewvc/wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/INamedParameters.java?rev=1162772&r1=1162771&r2=1162772&view=diff >>> ============================================================================== >>> --- >>> wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/INamedParameters.java >>> (original) >>> +++ >>> wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/INamedParameters.java >>> Mon Aug 29 12:48:07 2011 >>> @@ -72,9 +72,13 @@ public interface INamedParameters >>> * Removes named parameter with given name. >>> * >>> * @param name >>> + * the name of the parameter to remove >>> + * @param values >>> + * values used as criteria. The parameter will be >>> removed only if its value is equal >>> + * to any of the criteria. >>> * @return this >>> */ >>> - INamedParameters remove(final String name); >>> + INamedParameters remove(final String name, String... values); >>> >>> /** >>> * Adds value to named parameter with given name. >>> >>> Modified: >>> wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParameters.java >>> URL: >>> http://svn.apache.org/viewvc/wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParameters.java?rev=1162772&r1=1162771&r2=1162772&view=diff >>> ============================================================================== >>> --- >>> wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParameters.java >>> (original) >>> +++ >>> wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParameters.java >>> Mon Aug 29 12:48:07 2011 >>> @@ -392,7 +392,7 @@ public class PageParameters implements I >>> /** >>> * @see >>> org.apache.wicket.request.mapper.parameter.INamedParameters#remove(java.lang.String) >>> */ >>> - public PageParameters remove(final String name) >>> + public PageParameters remove(final String name, final String... >>> values) >>> { >>> Args.notNull(name, "name"); >>> >>> @@ -403,7 +403,21 @@ public class PageParameters implements I >>> Entry e = i.next(); >>> if (e.key.equals(name)) >>> { >>> - i.remove(); >>> + if (values != null && values.length >>> > 0) >>> + { >>> + for (String value : values) >>> + { >>> + if >>> (e.value.equals(value)) >>> + { >>> + i.remove(); >>> + break; >>> + } >>> + } >>> + } >>> + else >>> + { >>> + i.remove(); >>> + } >>> } >>> } >>> } >>> >>> Modified: >>> wicket/trunk/wicket-request/src/test/java/org/apache/wicket/request/mapper/parameter/PageParametersTest.java >>> URL: >>> http://svn.apache.org/viewvc/wicket/trunk/wicket-request/src/test/java/org/apache/wicket/request/mapper/parameter/PageParametersTest.java?rev=1162772&r1=1162771&r2=1162772&view=diff >>> ============================================================================== >>> --- >>> wicket/trunk/wicket-request/src/test/java/org/apache/wicket/request/mapper/parameter/PageParametersTest.java >>> (original) >>> +++ >>> wicket/trunk/wicket-request/src/test/java/org/apache/wicket/request/mapper/parameter/PageParametersTest.java >>> Mon Aug 29 12:48:07 2011 >>> @@ -109,6 +109,8 @@ public class PageParametersTest extends >>> >>> /** >>> * https://issues.apache.org/jira/browse/WICKET-3938 >>> + * >>> + * Remove the parameter by its name >>> */ >>> @Test >>> public void removeParameters() >>> @@ -123,4 +125,21 @@ public class PageParametersTest extends >>> parameters.remove("named2"); >>> assertTrue(parameters.isEmpty()); >>> } >>> + >>> + /** >>> + * https://issues.apache.org/jira/browse/WICKET-3938 >>> + * >>> + * Remove the parameter by its name only if its value is equal to >>> the criteria >>> + */ >>> + @Test >>> + public void removeParametersByValue() >>> + { >>> + PageParameters parameters = new >>> PageParameters().add("named1", "value1").add("named1", >>> + "value2"); >>> + >>> + assertEquals(2, parameters.getAllNamed().size()); >>> + >>> + parameters.remove("named1", "value1"); >>> + assertEquals("value2", parameters.get("named1").toString()); >>> + } >>> } >>> >>> >>> >> >> >> >> -- >> Become a Wicket expert, learn from the best: http://wicketinaction.com >> > > > > -- > Martin Grigorov > jWeekend > Training, Consulting, Development > http://jWeekend.com >
-- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com
