Generally, stricter is better in terms of maintenance - there is a good reason they found it worthwhile to improve strictness in some place.
+0 on that basis and not wasting the work. Rob On Tue, Oct 12, 2010 at 10:26 AM, Justin Deoliveira <jdeol...@opengeo.org> wrote: > Hi all, > Recently i have come across a few extensions for wicket that I figure would > be nice but require wicket 1.4. That and since 1.4 seems to be the current > stable release I thought I would take a crack at an upgrade. Not the easiest > upgrade by a long shot but I have a working setup in my github repo [1]. > Before describing what I did I am curious to hear what people think about an > upgrade? Is now the right time? Or should we push off to 2.2? Personally i > guess i am +0 on the upgrade. On the one hand there are no crucial issues > that will be fixed by the upgrade, if anything we will still have issues as > i am sure there are cases where keys are being referenced that do not exist > in the property file. we just don't have the test coverage to catch it. > Before this patch goes through every single page will have to visited > manually... that or we up test coverage to 100% :) But on the other hand 95% > of the work is done and if we don't upgrade now the patch will become > outdated, etc... > Anyways, the patch is sizeable so here is the gist of what I did: > 1) compile errors > There were a wack of compile errors as described here [2]. But the changes > were pretty mechanical, mostly changing getModel() and getModelObject() to > getDefaultModel() and getDefaultModelObject() respectively > 2) gzip compression issues > The gzip compression filter had to be updated to deal with the way that > wicket sets the content-length header. Or else two content-length headers > get encoded and this throws off most web browsers, only firefox was able to > cope > 3) resource lookups > This was most of the work. It seems that wicket is now not so lenient when > using <wicket:message> elements on a page when the key does not actually > exist. And we had a number of pages that were referencing keys that do not > exist > 4) customized resource settings > To obtain the single .properties stuff we have to customize the default > wicket application resource settings. And have a custom resource loader. > This api has changed slightly (well not the api but the wicket > internal implementation) so we had to update the custom geoserver resource > loader. > 5) wicket tester > it seems with 1.4 the wicket tester stuff is a bit more strict to > referencing components that do not exist. I had to change some of the paths > used in test cases for components and when calling submit specifying an > invalid id for the submit button > 6) LayerGroupEditPageTest > This one i was actually not sure about. It seems the test makes > some assumptions about how the layer list is structured and perhaps it > changed. > --- > a/web/core/src/test/java/org/geoserver/web/data/layergroup/LayerGroupEditPageTest.java > +++ > b/web/core/src/test/java/org/geoserver/web/data/layergroup/LayerGroupEditPageTest.java > @@ -13,8 +13,9 @@ public class LayerGroupEditPageTest extends > LayerGroupBaseTest { > tester.assertRenderedPage(LayerGroupEditPage.class); > // remove the first and second elements > > tester.clickLink("form:layers:layers:listContainer:items:1:itemProperties:4:component:link"); > // the regenerated list will have ids starting from 4 > - > tester.clickLink("form:layers:layers:listContainer:items:4:itemProperties:4:component:link"); > + > //tester.clickLink("form:layers:layers:listContainer:items:4:itemProperties:4:component:link"); > // manually regenerate bounds > tester.clickLink("form:generateBounds"); > // print(page, true, true); > > Hopefully the author can chime in. > 7) CoverageStoreEditPageTest,DataAccessEditPageTest > These pages have custom validator on the form that check the data store name > to ensure that it (a) gets set and (b) does not already exist in the > catalog. There is also the validator that gets implicitly set since the > "name" field is required. It seems the order in which they execute is now > different and the latter executes first. For example: > --- > a/web/core/src/test/java/org/geoserver/web/data/store/CoverageStoreEditPageTest.java > +++ > b/web/core/src/test/java/org/geoserver/web/data/store/CoverageStoreEditPageTest.java > @@ -55,7 +57,7 @@ public class CoverageStoreEditPageTest extends > GeoServerWicketTestSupport { > tester.clickLink("rasterStoreForm:save"); > > tester.assertRenderedPage(CoverageStoreEditPage.class); > - tester.assertErrorMessages(new String[] { "Store name is required" > }); > + tester.assertErrorMessages(new String[] { "Field 'Data Source Name' > is required." }); > } > 8) WebUtils.localize > In this method there was a workaround for a wicket bug reported by Andrea. > https://issues.apache.org/jira/browse/WICKET-1719 > I removed the workaround because (a) it should be fixed and (b) > StringResourceModel.setLocalizer() has been made final. > That's it :) > -Justin > [1] http://github.com/jdeolive/geoserver/commit/775dd700c10e7c98a31b8956468f35d1b80f6c3f > [2] https://cwiki.apache.org/WICKET/migrating-to-wicket-14.html#MigratingtoWicket1.4-Modelchanges > > > -- > Justin Deoliveira > OpenGeo - http://opengeo.org > Enterprise support for open source geospatial. > > ------------------------------------------------------------------------------ > Beautiful is writing same markup. Internet Explorer 9 supports > standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. > Spend less time writing and rewriting code and more time creating great > experiences on the web. Be a part of the beta today. > http://p.sf.net/sfu/beautyoftheweb > _______________________________________________ > Geoserver-devel mailing list > Geoserver-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/geoserver-devel > > ------------------------------------------------------------------------------ Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today. http://p.sf.net/sfu/beautyoftheweb _______________________________________________ Geoserver-devel mailing list Geoserver-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geoserver-devel