Author: pcourcoux
Date: Fri Aug 19 15:48:59 2005
New Revision: 233568

URL: http://svn.apache.org/viewcvs?rev=233568&view=rev
Log:
Create a Map of data for the request into pipelineData proper, so that users 
can start to reduce 
their depencency on RunData. The following are copied in :

ParameterParser
CookieParser
HttpServletRequest 
HttpServletResponse 
ServletConfig 

The map containing these is put into pipelineData under the Turbine.class key.


Modified:
    
jakarta/turbine/core/trunk/src/java/org/apache/turbine/services/rundata/TurbineRunDataService.java

Modified: 
jakarta/turbine/core/trunk/src/java/org/apache/turbine/services/rundata/TurbineRunDataService.java
URL: 
http://svn.apache.org/viewcvs/jakarta/turbine/core/trunk/src/java/org/apache/turbine/services/rundata/TurbineRunDataService.java?rev=233568&r1=233567&r2=233568&view=diff
==============================================================================
--- 
jakarta/turbine/core/trunk/src/java/org/apache/turbine/services/rundata/TurbineRunDataService.java
 (original)
+++ 
jakarta/turbine/core/trunk/src/java/org/apache/turbine/services/rundata/TurbineRunDataService.java
 Fri Aug 19 15:48:59 2005
@@ -28,6 +28,7 @@
 
 import org.apache.commons.configuration.Configuration;
 
+import org.apache.turbine.Turbine;
 import org.apache.turbine.services.InitializationException;
 import org.apache.turbine.services.TurbineBaseService;
 import org.apache.turbine.services.pool.PoolService;
@@ -178,6 +179,8 @@
             throws TurbineException,
             IllegalArgumentException
     {
+        // a map to hold information to be added to pipelineData 
+        Map pipelineDataMap = new HashMap();
         // The RunData object caches all the information that is needed for
         // the execution lifetime of a single request. A RunData object
         // is created/recycled for each and every request and is passed
@@ -203,8 +206,13 @@
         try
         {
             data = (TurbineRunData) pool.getInstance(cfg[0]);
-            data.setParameterParser((ParameterParser) 
pool.getInstance(cfg[1]));
-            data.setCookieParser((CookieParser) pool.getInstance(cfg[2]));
+            ParameterParser pp = (ParameterParser) pool.getInstance(cfg[1]);
+            data.setParameterParser(pp);
+            CookieParser cp = (CookieParser) pool.getInstance(cfg[2]);
+            data.setCookieParser(cp);
+            // also copy data directly into pipelineData
+            pipelineDataMap.put(ParameterParser.class, pp);
+            pipelineDataMap.put(CookieParser.class, cp);
         }
         catch (ClassCastException x)
         {
@@ -214,13 +222,23 @@
         // Set the request and response.
         data.setRequest(req);
         data.setResponse(res);
-
+        // also copy data directly into pipelineData
+        pipelineDataMap.put(HttpServletRequest.class, req);
+        pipelineDataMap.put(HttpServletResponse.class, res);
+        
         // Set the servlet configuration.
         data.setServletConfig(config);
+        // also copy data directly into pipelineData
+        pipelineDataMap.put(ServletConfig.class, config);
 
         // Set the ServerData.
-        data.setServerData(new ServerData(req));
+        ServerData sd = new ServerData(req);
+        data.setServerData(sd);
+        // also copy data directly into pipelineData
+        pipelineDataMap.put(ServerData.class, sd);
 
+        // finally put the pipelineDataMap into the pipelineData object
+        data.put(Turbine.class, pipelineDataMap);
         return data;
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to