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


Reply via email to