Re: 5.1.0.0 upgrade issues.
thanks for creating these JIRA, can you point me to the URI to create JIRA for the PageTester request handling issue? I just want to reverify the behavior before creating it. thanks - alex Howard Lewis Ship wrote: I've added TAP5-535 concerning PageTester and ApplicationDefaults. Please add an issue documenting the changes you've seen in PageTester request handling. On Mon, Feb 23, 2009 at 10:26 AM, Howard Lewis Ship hls...@gmail.com wrote: Oh yes; 5.1.0.0 is just an alpha release (that hasn't even been fully voted up yet). I hope to address glaring bugs in it in a follow on release in a couple of weeks, and progress quickly to a final release. Thanks for checking it out so early! On Mon, Feb 23, 2009 at 10:13 AM, alex_yt_cheung alex_yt_che...@yahoo.com wrote: Any chance the PageTester's contributeApplicationDefaults() issues (... should use FactoryDefaults instead of ApplicationDefaults...) will be fixed in 5.1.0.0-GA? thanks - alex Howard Lewis Ship wrote: 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 -- View this message in context: http://www.nabble.com/5.1.0.0-upgrade-issues.-tp22132202p22166911.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands
Re: 5.1.0.0 upgrade issues.
Any chance the PageTester's contributeApplicationDefaults() issues (... should use FactoryDefaults instead of ApplicationDefaults...) will be fixed in 5.1.0.0-GA? thanks - alex Howard Lewis Ship wrote: 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 -- View this message in context: http://www.nabble.com/5.1.0.0-upgrade-issues.-tp22132202p22166911.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
5.1.0.0 upgrade issues.
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. * 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. * 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. * 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. 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