I don't see these factory implementations changing much. Instead, what will change is how tiles interfaces with surrounding frameworks. Specifically how it is:

1) Configured/Initialized
2) Invoked
3) Destroyed

By surrounding frameworks.

Instead of utilizing a series of static invocations, what I envision is a container being instantiated and initialized. When ever the framework needs to invoke it, it will retrieve it - probably from a static cache that it maintains or from the servlet context - and will invoke instance methods.

What this does is create a "container" environment in which frameworks can "inject" custom implementations of the different Factories/Service. By taking this approach, I think it will be easier to support this level of customization. We will also avoid the common classloader issue which we briefly mentioned and thus be able to support multiple application contexts if necessary (even though we decided it's not).

David

Antonio Petrelli wrote:
Greg Reddin ha scritto:

On Oct 26, 2006, at 8:03 AM, David H. DeWolf wrote:

I'll probably have some time to finish up the TilesContextFactory configuration today and start doing some work on removing duplication. Once I get through that I'll start putting some container ideas down into code. The first step of that process will be to define the tiles container api. What are those things that we want to expose to the world?
... Antonio may have more input since he's working with some Tiles extensions.

The "extension" that Greg was writing about is Dimensions:
http://mutidimensions.sf.net/
In the HEAD of the CVS repository I am trying to port Dimensions to Tiles 2. Although it is not updated to the latest changes it could be helpful. In my case I created: * a class (KeyedComponentDefinitionsImpl) that extends ComponentDefinitionsImpl, allowing to store Tiles definition in a different manner (it uses the user's role and the calling device, besides locale, to store specific definitions); * a pair of classes (ChannelDefinitionsFactory and ConfigurableDefinitionsFactory) that extend UrlDefinitionsFactory, that interpret the HTTP request and return the correct definition, using KeyedComponentDefinitionsImpl for the storage.
How does your "container" fit in?

HTH
Antonio

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to