Dear Wiki user, You have subscribed to a wiki page or wiki category on "Tapestry Wiki" for change notification.
The following page has been changed by ErikVullings: http://wiki.apache.org/tapestry/Tapestry31Status ------------------------------------------------------------------------------ = April 30 2004 = Just finished merging of changes from the hlship-3-1 branch into the trunk. The unit test suite is working and code coverage has only slipped 0.10% from Tapestry 3.0. - There's a temporary kludge around OGNL: the old IResourceResolver interface extended ognl.ClassResolver. The new org.apache.hivemind.ClassResolver interface does not. OGNL now uses + There's a temporary kludge around OGNL: the old {{{IResourceResolver}}} interface extended {{{ognl.ClassResolver}}}. The new {{{org.apache.hivemind.ClassResolver}}} interface does not. OGNL now uses - a static variable to store an instance of ognl.ClassResolver and that's a problem the tapestry library is on the system classpath and there are multiple WARs deployed ... but its + a static variable to store an instance of {{{ognl.ClassResolver}}} and that's a problem if the Tapestry library is on the system classpath and there are multiple WARs deployed ... but it's all temporary until some form of !OgnlService is put in place. Upgrade (3.0 to 3.1) notes: @@ -17, +17 @@ * {{{org.apache.tapestry.IMessages}}} is now {{{org.apache.hivemind.Messages}}} * {{{org.apache.tapestry.spec.BaseLocatable}}} is now {{{org.apache.hivemind.impl.BaseLocatable}}} * Some related methods (such as {{{IEngine.getResourceResolver()}}}) have been renamed to {{{getClassResolver()}}}. More may come. + * {{{org.apache.tapestry.engine.IComponentMessagesSource}}} to {{{org.apache.tapestry.services.ComponentMessagesSource}}} + * {{{org.apache.tapestry.egnine.DefaultComponentMessagesSource}}} to {{{org.apache.tapestry.services.impl.ComponentMessagesSourceImpl}}} Next up: * Remove some deprecated methods * Do some more renames to make things sensible - * Try and get rid of some unwanted dependencies, especially Digester + + = May 9 2004 = + + Been tackling the dependencies; [http://jakarta.apache.org/commons/digester/ Digester], commons-beanutils and commons-collections are now out. The specification parser has been completely rewritten for efficiency (and to not use Digester). A lot of work, but should parse faster (I didn't check the old speed, but the new code is brutally efficient compared to Digester). + + I've also started work on a new, productized test suite that will replace the internal mock unit tests but also be useable for testing end-user's applications. And it uses + JakartaHiveMind:SimpleDataLanguage, not XML. It's been slow going since I've been very TestDriven. + + = Jun 2004 = + + Been trying a different tack; rebuilding Tapestry from the servlet inward around HiveMind. So far, very successful, as more and more monolithic code is moved into small, light services, with plenty of options for extending behavior. So far, application initialization, including locating and loading the application specification, is now HiveMind services. + + = July 2004 = + + Hard at work on a Tapestry 3.0 + HiveMind application. This has given me more insight into how to best mate the two together; much of that is reflected in recent improvements to HiveMind. + + = Aug 2004 = + + The ApplicationServlet has been gutted, replaced with a series of services, pipelines and configurations. There will be more natural places to plug in things like Hibernate transaction managers now ... the pipelines are very much like a kind of AspectOrientedProgramming, in that the pipelines provide for all kinds of extensions to the normal control flow. + + The test suite has grown to over 516 tests ... in a few cases, existing mock tests (really, integration tests) have been removed and replaced with clearer, more efficient, more maintainable + unit tests. + + The 3.0 APIs propogated the ApplicationServlet around quite a bit. There's now a service for accessing the ApplicationServlet, and it is represented as HttpServlet, not ApplicationServlet. + {{{RequestContent.getServlet()}}} now returns an instance of HttpServlet. I think, in the larger scheme of things, RequestContext is going to go away ... dissolve into a number of related services. + + The {{{hivemodule.xml}}} was getting very large, so it has been split into a number of sub-modules. + + = Sep 2004 = + + Added ResetEventCoordinator and ComponentMessagesSource services. + + We're up to 519 tests now. More and more testing has switched over to unit testing, using EasyMock objects. However, the integration tests (''mock tests'') are quite a bit slower now; each tests is paying a startup price for using HiveMind. I suspect that a lot of it is all the class creation (for all the HiveMind proxies and interceptors). I had to up the max memory size on my tests to 384M and it may go higher. + + Have to keep an eye on performance. It may make sense to convert the most heavily used services to use the primitive service model. On the other hand, I do suspect that this is just increased startup cost, not (visibly) increased runtime cost. + --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
