Author: apetrelli Date: Wed Jan 10 08:42:53 2007 New Revision: 494886 URL: http://svn.apache.org/viewvc?view=rev&rev=494886 Log: Using a customized KeyExtractor and removed the code that puts a useless attribute in the request.
Modified: struts/struts1/trunk/tiles2/src/main/java/org/apache/struts/tiles2/TilesPlugin.java struts/struts1/trunk/tiles2/src/main/java/org/apache/struts/tiles2/TilesRequestProcessor.java struts/struts1/trunk/tiles2/src/main/java/org/apache/struts/tiles2/commands/TilesPreProcessor.java Modified: struts/struts1/trunk/tiles2/src/main/java/org/apache/struts/tiles2/TilesPlugin.java URL: http://svn.apache.org/viewvc/struts/struts1/trunk/tiles2/src/main/java/org/apache/struts/tiles2/TilesPlugin.java?view=diff&rev=494886&r1=494885&r2=494886 ============================================================================== --- struts/struts1/trunk/tiles2/src/main/java/org/apache/struts/tiles2/TilesPlugin.java (original) +++ struts/struts1/trunk/tiles2/src/main/java/org/apache/struts/tiles2/TilesPlugin.java Wed Jan 10 08:42:53 2007 @@ -36,17 +36,21 @@ import org.apache.struts.config.ModuleConfig; import org.apache.struts.config.PlugInConfig; import org.apache.struts.tiles2.util.PlugInConfigContextAdapter; +import org.apache.struts.util.ModuleUtils; import org.apache.struts.util.RequestUtils; import org.apache.tiles.TilesContainer; import org.apache.tiles.TilesException; import org.apache.tiles.access.TilesAccess; import org.apache.tiles.context.BasicTilesContextFactory; +import org.apache.tiles.context.TilesRequestContext; +import org.apache.tiles.context.servlet.ServletTilesRequestContext; import org.apache.tiles.definition.DefinitionsFactory; import org.apache.tiles.definition.UrlDefinitionsFactory; import org.apache.tiles.factory.KeyedDefinitionsFactoryTilesContainerFactory; import org.apache.tiles.factory.TilesContainerFactory; import org.apache.tiles.impl.BasicTilesContainer; import org.apache.tiles.impl.KeyedDefinitionsFactoryTilesContainer; +import org.apache.tiles.impl.KeyedDefinitionsFactoryTilesContainer.KeyExtractor; import org.apache.tiles.preparer.BasicPreparerFactory; /** @@ -93,6 +97,10 @@ MODULE_AWARE_DEFAULTS.put(TilesContainerFactory .PREPARER_FACTORY_INIT_PARAM, BasicPreparerFactory.class.getName()); + MODULE_AWARE_DEFAULTS.put( + KeyedDefinitionsFactoryTilesContainerFactory + .KEY_EXTRACTOR_CLASS_INIT_PARAM, + ModuleKeyExtractor.class.getName()); } /** @@ -295,5 +303,22 @@ */ public void setCurrentPlugInConfigObject(PlugInConfig plugInConfigObject) { this.currentPlugInConfigObject = plugInConfigObject; + } + + public static class ModuleKeyExtractor implements KeyExtractor { + + public String getDefinitionsFactoryKey(TilesRequestContext request) { + String retValue = null; + + if (request instanceof ServletTilesRequestContext) { + ModuleConfig config = ModuleUtils.getInstance().getModuleConfig( + ((ServletTilesRequestContext) request).getRequest()); + if (config != null) { + retValue = config.getPrefix(); + } + } + return retValue; + } + } } Modified: struts/struts1/trunk/tiles2/src/main/java/org/apache/struts/tiles2/TilesRequestProcessor.java URL: http://svn.apache.org/viewvc/struts/struts1/trunk/tiles2/src/main/java/org/apache/struts/tiles2/TilesRequestProcessor.java?view=diff&rev=494886&r1=494885&r2=494886 ============================================================================== --- struts/struts1/trunk/tiles2/src/main/java/org/apache/struts/tiles2/TilesRequestProcessor.java (original) +++ struts/struts1/trunk/tiles2/src/main/java/org/apache/struts/tiles2/TilesRequestProcessor.java Wed Jan 10 08:42:53 2007 @@ -37,7 +37,6 @@ import org.apache.tiles.TilesContainer; import org.apache.tiles.TilesException; import org.apache.tiles.access.TilesAccess; -import org.apache.tiles.impl.KeyedDefinitionsFactoryTilesContainer; /** * <p><strong>RequestProcessor</strong> contains the processing logic that @@ -106,12 +105,6 @@ } boolean retValue = false; - - if (moduleConfig.getPrefix() != null) { - request.setAttribute(KeyedDefinitionsFactoryTilesContainer - .DEFINITIONS_FACTORY_KEY_ATTRIBUTE_NAME, - moduleConfig.getPrefix()); - } if (container.isValidDefinition(request, response, definitionName)) { retValue = response.isCommitted(); Modified: struts/struts1/trunk/tiles2/src/main/java/org/apache/struts/tiles2/commands/TilesPreProcessor.java URL: http://svn.apache.org/viewvc/struts/struts1/trunk/tiles2/src/main/java/org/apache/struts/tiles2/commands/TilesPreProcessor.java?view=diff&rev=494886&r1=494885&r2=494886 ============================================================================== --- struts/struts1/trunk/tiles2/src/main/java/org/apache/struts/tiles2/commands/TilesPreProcessor.java (original) +++ struts/struts1/trunk/tiles2/src/main/java/org/apache/struts/tiles2/commands/TilesPreProcessor.java Wed Jan 10 08:42:53 2007 @@ -28,7 +28,6 @@ import org.apache.struts.config.ForwardConfig; import org.apache.tiles.TilesContainer; import org.apache.tiles.access.TilesAccess; -import org.apache.tiles.impl.KeyedDefinitionsFactoryTilesContainer; /** @@ -104,12 +103,6 @@ } boolean retValue = false; - - if (sacontext.getModuleConfig().getPrefix() != null) { - sacontext.getRequest().setAttribute(KeyedDefinitionsFactoryTilesContainer - .DEFINITIONS_FACTORY_KEY_ATTRIBUTE_NAME, - sacontext.getModuleConfig().getPrefix()); - } if (container.isValidDefinition(sacontext.getRequest(), sacontext.getResponse(), forwardConfig.getPath())) {