Thanks for the input; I definitely changed a few things in PageTester to simplify the behavior and make it use more of the same code pathways that a deployed application would. I'll see about fixing these.
On Fri, Feb 20, 2009 at 6:39 PM, alex_yt_cheung <alex_yt_che...@yahoo.com> wrote: > > Yes baby, 5.1.0.0, fresh off the press and already running.. mostly:-) > > Just want to share my experience and ask how best to resolve some issues. > > * Some refactoring for new interface adaptations: LinkFactory, use of > ValueEncoder instead of PrimaryKeyEncoder...etc. nothing too serious to get > the code compile and running. LinkFactory is internal and 5.1 has and will have more ways to accomplish the same goals that used to involve overriding LinkFactory. PKE: this change is quasi-backwards compatible; you may find that you can keep your PKE but have to use a different constructor of DefaultPrimaryKeyEncoder (to pass up the type of the key). > * Tapestry module class is restricted to builders, contributions, decorators > and bind methods. If you have convenient methods inside the module classes, > you will need to do some refactoring. You can use private methods for these convieniences. > * The PageTester don't support parameters with space, comma, %, or + > anymore. Ended up reducing the complexity of the strings to allow the tests > to run. It will be great I can go back to having more complex strings as > parameters to my test pages. Please add a detailed issue to JIRA for this. > * Not sure if it is the PageTester or the rendering sequence, but I notice a > difference in behavior on exception handling when using the PageTester. The > call to renderPage() seems to have processed the exception, where previously > the exception was thrown to the caller. The announing part is that the > document returned only tells you the exception, in my case, a > ClassNotFoundException was thrown while loading the xxxPage, but I can't > tell which class was really not found. > * There is a PageTesterModule that contributes to the PageTester > environment. My issue is with contributeApplicationDefaults(), our module > also issue an configuration.add(SymbolConstants.FORCE_ABSOLUTE_URIS, > "true"). It turned out that an IllegalArgumentException is thrown when > tapestry sees two add() calls for the same key. I use > configuration.override() to fix my test, but that break my dev/prod > environment because override() throws IllegalArgumentException when trying > to override() an non-existent key. The IllegalArgumentException exception > is thrown from MappedConfiguration.apply():line 42. That requires knowing > if the key exists prior to calling override. Maybe a new API to peek into > the config for existence check will do nicely. Actualy, PageTester should override FactoryDefaults, rather than provide ApplicationDefaults. This can be fixed. > > I have some work-arounds, but will be grateful for patches or better > solutions. > > thanks in advance. > - alex > -- > View this message in context: > http://www.nabble.com/5.1.0.0-upgrade-issues.-tp22132202p22132202.html > Sent from the Tapestry - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > > -- Howard M. Lewis Ship Creator Apache Tapestry and Apache HiveMind --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org