struts-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Antonio Petrelli <>
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:
Anyway I will show you an example. For "addDefinitions" now it has this 

    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 

> 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.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message