Z version increases are always seen as bug fixes... Without *any* API break.

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.


*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
>

Reply via email to