struts-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Antonio Petrelli <brenmcgu...@tariffenet.it>
Subject Re: [Standalone Tiles] DefinitionsFactory and TilesContext
Date Tue, 06 Jun 2006 12:28:00 GMT
Hi Greg sorry for being late but I had to work hard yesterday afternoon.

Greg Reddin ha scritto:
> Are you talking about readDefinitions(), addDefinitions(), etc.  Could 
> you post the changes you made to DefinitionsFactory and 
> UrlDefinitionsFactory?  I think that would give me a better idea of 
> the impact.

You can see it at:
http://issues.apache.org/struts/browse/SB-28
Anyway I will show you an example. For "addDefinitions" now it has this 
signature:

    public void addDefinitions(ComponentDefinitions definitions, 
TilesContext tilesContext)
            throws DefinitionsFactoryException;

The UrlDefinitionsFactory implementation simply takes the Locale out of 
TilesContext (with a simple tilesContext.getRequestLocale()) and the 
rest is unchanged.

The patch contains also a change in the way TilesContextFactory is 
designed, so that it is now a (potentially) configurable normal class.

>
> XmlDefinitionsFactory (or whatever the class name is extended 
> DefinitionsFactory, but added features that were really part of core 
> Tiles functionality rather than simply part of an XML-based 
> implementation.  It seems we are doing the same thing here by putting 
> some "core" functionality in a default implementation of the 
> DefinitionsFactory.  But maybe the UrlDefinitionsFactory is generic 
> enough that it wouldn't matter.

I think XML dependency was removed since a generic DefinitionsReader is 
used. Anyway Dimensions' DefinitionsFactory is a subclass of 
UrlDefinitionsFactory.

>
> But I think that most of the time addDefinitions() will be called at 
> servlet init time and many of the components in TilesContext will not 
> be available.  But there are already cases where that situation exists.

If there is no TilesContext, probably there would not be a Locale either 
(but I could miss something) and the non-locale definitions are read by 
DefinitionsFactory.readDefinitions(). I don't get the point...

I hope that my patch is useful.
Ciao
Antonio

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Mime
View raw message