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

Reply via email to