There are no such developers, but there are such managers that require developers to just do that, against their will... :-)
This is not a problem for me, but a warning beucase I've seen such things. *Bruno Borges* (21) 7672-7099 *www.brunoborges.com* On Mon, Aug 29, 2011 at 5:30 PM, Martin Grigorov <[email protected]>wrote: > On Mon, Aug 29, 2011 at 10:16 PM, Bruno Borges <[email protected]> > wrote: > > Z version increases are always seen as bug fixes... Without *any* API > break. > There is no API break in this commit. > The change is API compatible, but binary incompatible, so you cant > just put the new wicket-request.jar in your .war#WEB-INF/lib/ and go > without recompiling. > > > > Bugs may appear and one should not just update the jar and move to > > production, but things like class not found, no such method and so on, > are > > simply not acceptable. > > > > A user may just update the jar that states a bug fix in its changelog, > runs > > it in development (without recompiling) to check if the bug is really > fixed > > in one particular use case and then move to production. > I truly believe there are no such developers that take versionX of > their product, put a new .jar in it and release it as versionY without > adding their own feature, fixing their own bug or run their tests. All > of these involve recompiling. > > I personally wasn't aware of PageParameters#remove(String) before this > ticket so I believe it is not wildly used. > But if you think that it should be reverted/reimplemented then I will do > it. > > > > > > *Bruno Borges* > > (21) 7672-7099 > > *www.brunoborges.com* > > > > > > > > On Mon, Aug 29, 2011 at 4:46 PM, Martijn Dashorst < > > [email protected]> wrote: > > > >> The issue is not the new logic, but rather the change in signature. > >> PageParameters is not a rarely used class. > >> > >> As for not putting it into production with an existing war... I can > >> see enough reason not to have to recompile a whole codebase for a > >> 1.5.1 upgrade. Instead just upgrade the jar, repackage and deploy to > >> your test server. Boom, doesn't work with nosuchmethod error. > >> > >> Martijn > >> > >> On Mon, Aug 29, 2011 at 9:37 PM, Martin Grigorov <[email protected]> > >> wrote: > >> > 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 > >> > > >> > >> > >> > >> -- > >> Become a Wicket expert, learn from the best: http://wicketinaction.com > >> > > > > > > -- > Martin Grigorov > jWeekend > Training, Consulting, Development > http://jWeekend.com >
