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())) {