You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@turbine.apache.org by tv...@apache.org on 2011/11/08 02:43:55 UTC

svn commit: r1199049 - in /turbine/core/trunk/src: changes/ java/org/apache/turbine/modules/actions/ java/org/apache/turbine/modules/actions/sessionvalidator/ java/org/apache/turbine/pipeline/ java/org/apache/turbine/services/rundata/

Author: tv
Date: Tue Nov  8 01:43:54 2011
New Revision: 1199049

URL: http://svn.apache.org/viewvc?rev=1199049&view=rev
Log:
Refine interface of PipelineData and add user and acl objects to pipelineData.

Modified:
    turbine/core/trunk/src/changes/changes.xml
    turbine/core/trunk/src/java/org/apache/turbine/modules/actions/AccessController.java
    turbine/core/trunk/src/java/org/apache/turbine/modules/actions/sessionvalidator/DefaultSessionValidator.java
    turbine/core/trunk/src/java/org/apache/turbine/modules/actions/sessionvalidator/TemplateSecureSessionValidator.java
    turbine/core/trunk/src/java/org/apache/turbine/modules/actions/sessionvalidator/TemplateSessionValidator.java
    turbine/core/trunk/src/java/org/apache/turbine/pipeline/DefaultPipelineData.java
    turbine/core/trunk/src/java/org/apache/turbine/pipeline/PipelineData.java
    turbine/core/trunk/src/java/org/apache/turbine/services/rundata/TurbineRunDataService.java

Modified: turbine/core/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/turbine/core/trunk/src/changes/changes.xml?rev=1199049&r1=1199048&r2=1199049&view=diff
==============================================================================
--- turbine/core/trunk/src/changes/changes.xml (original)
+++ turbine/core/trunk/src/changes/changes.xml Tue Nov  8 01:43:54 2011
@@ -25,6 +25,10 @@
 
   <body>
     <release version="4.0-M2" date="in Subversion">
+      <action type="update" dev="tv">
+        Refine interface of PipelineData and add user and acl objects
+        to pipelineData.
+      </action>
       <action type="fix" dev="tv">
         Fix possible NPE in TurbinePullService.
       </action>

Modified: turbine/core/trunk/src/java/org/apache/turbine/modules/actions/AccessController.java
URL: http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/actions/AccessController.java?rev=1199049&r1=1199048&r2=1199049&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/modules/actions/AccessController.java (original)
+++ turbine/core/trunk/src/java/org/apache/turbine/modules/actions/AccessController.java Tue Nov  8 01:43:54 2011
@@ -21,16 +21,15 @@ package org.apache.turbine.modules.actio
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-
+import org.apache.turbine.Turbine;
 import org.apache.turbine.modules.Action;
+import org.apache.turbine.om.security.User;
+import org.apache.turbine.pipeline.PipelineData;
 import org.apache.turbine.services.security.TurbineSecurity;
 import org.apache.turbine.util.RunData;
 import org.apache.turbine.util.security.AccessControlList;
 import org.apache.turbine.util.security.TurbineSecurityException;
 
-import org.apache.turbine.om.security.User;
-import org.apache.turbine.pipeline.PipelineData;
-
 /**
  * This action doPerforms an Access Control List and places it into
  * the RunData object, so it is easily available to modules.  The ACL
@@ -127,5 +126,8 @@ public class AccessController
     {
         RunData data = getRunData(pipelineData);
         doPerform(data);
+
+        // Comply with Turbine 4.0 standards
+        pipelineData.get(Turbine.class).put(AccessControlList.class, data.getACL());
     }
 }

Modified: turbine/core/trunk/src/java/org/apache/turbine/modules/actions/sessionvalidator/DefaultSessionValidator.java
URL: http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/actions/sessionvalidator/DefaultSessionValidator.java?rev=1199049&r1=1199048&r2=1199049&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/modules/actions/sessionvalidator/DefaultSessionValidator.java (original)
+++ turbine/core/trunk/src/java/org/apache/turbine/modules/actions/sessionvalidator/DefaultSessionValidator.java Tue Nov  8 01:43:54 2011
@@ -20,18 +20,14 @@ package org.apache.turbine.modules.actio
  */
 
 import org.apache.commons.configuration.Configuration;
-
 import org.apache.commons.lang.StringUtils;
-
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-
 import org.apache.turbine.Turbine;
 import org.apache.turbine.TurbineConstants;
-
+import org.apache.turbine.om.security.User;
 import org.apache.turbine.pipeline.PipelineData;
 import org.apache.turbine.services.security.TurbineSecurity;
-
 import org.apache.turbine.util.RunData;
 import org.apache.turbine.util.TurbineException;
 
@@ -152,6 +148,9 @@ public class DefaultSessionValidator
     {
         RunData data = getRunData(pipelineData);
         doPerform(data);
+
+        // Comply with Turbine 4.0 standards
+        pipelineData.get(Turbine.class).put(User.class, data.getUser());
     }
 
 }

Modified: turbine/core/trunk/src/java/org/apache/turbine/modules/actions/sessionvalidator/TemplateSecureSessionValidator.java
URL: http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/actions/sessionvalidator/TemplateSecureSessionValidator.java?rev=1199049&r1=1199048&r2=1199049&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/modules/actions/sessionvalidator/TemplateSecureSessionValidator.java (original)
+++ turbine/core/trunk/src/java/org/apache/turbine/modules/actions/sessionvalidator/TemplateSecureSessionValidator.java Tue Nov  8 01:43:54 2011
@@ -20,18 +20,14 @@ package org.apache.turbine.modules.actio
  */
 
 import org.apache.commons.configuration.Configuration;
-
 import org.apache.commons.lang.StringUtils;
-
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-
 import org.apache.turbine.Turbine;
 import org.apache.turbine.TurbineConstants;
-
+import org.apache.turbine.om.security.User;
 import org.apache.turbine.pipeline.PipelineData;
 import org.apache.turbine.services.security.TurbineSecurity;
-
 import org.apache.turbine.util.RunData;
 import org.apache.turbine.util.TurbineException;
 
@@ -200,7 +196,8 @@ public class TemplateSecureSessionValida
     {
         RunData data = getRunData(pipelineData);
         doPerform(data);
-    }
-
 
+        // Comply with Turbine 4.0 standards
+        pipelineData.get(Turbine.class).put(User.class, data.getUser());
+    }
 }

Modified: turbine/core/trunk/src/java/org/apache/turbine/modules/actions/sessionvalidator/TemplateSessionValidator.java
URL: http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/actions/sessionvalidator/TemplateSessionValidator.java?rev=1199049&r1=1199048&r2=1199049&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/modules/actions/sessionvalidator/TemplateSessionValidator.java (original)
+++ turbine/core/trunk/src/java/org/apache/turbine/modules/actions/sessionvalidator/TemplateSessionValidator.java Tue Nov  8 01:43:54 2011
@@ -20,18 +20,14 @@ package org.apache.turbine.modules.actio
  */
 
 import org.apache.commons.configuration.Configuration;
-
 import org.apache.commons.lang.StringUtils;
-
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-
 import org.apache.turbine.Turbine;
 import org.apache.turbine.TurbineConstants;
-
+import org.apache.turbine.om.security.User;
 import org.apache.turbine.pipeline.PipelineData;
 import org.apache.turbine.services.security.TurbineSecurity;
-
 import org.apache.turbine.util.RunData;
 import org.apache.turbine.util.TurbineException;
 
@@ -155,9 +151,8 @@ public class TemplateSessionValidator
     {
         RunData data = getRunData(pipelineData);
         doPerform(data);
-    }
-
-
-
 
+        // Comply with Turbine 4.0 standards
+        pipelineData.get(Turbine.class).put(User.class, data.getUser());
+    }
 }

Modified: turbine/core/trunk/src/java/org/apache/turbine/pipeline/DefaultPipelineData.java
URL: http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/pipeline/DefaultPipelineData.java?rev=1199049&r1=1199048&r2=1199049&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/pipeline/DefaultPipelineData.java (original)
+++ turbine/core/trunk/src/java/org/apache/turbine/pipeline/DefaultPipelineData.java Tue Nov  8 01:43:54 2011
@@ -31,7 +31,7 @@ import java.util.Map;
  * the <code>invoke()</code> method below.</p>
  *
  * <b>HISTORICAL NOTE</b>:  The "PipelineData" name was assigned to this
- * holder as it functions similarily to the RunData object, but without
+ * holder as it functions similarly to the RunData object, but without
  * the additional methods
  *
  * @author <a href="mailto:epugh@opensourceconnections.com">Eric Pugh</a>
@@ -39,27 +39,45 @@ import java.util.Map;
  */
 public class DefaultPipelineData implements PipelineData
 {
-    private final Map<Class<?>, Map<?, ?>> map = new HashMap<Class<?>, Map<?, ?>>();
+    private final Map<Class<?>, Map<Class<?>, ? super Object>> map =
+        new HashMap<Class<?>, Map<Class<?>, ? super Object>>();
 
-    public void put(Class<?> key, Map<?, ?> value)
+    /**
+     * Put a configured map of objects into the pipeline data object
+     *
+     * @param name the key class
+     * @param value the value map
+     */
+    public void put(Class<?> key, Map<Class<?>, ? super Object> value)
     {
         map.put(key, value);
     }
 
-    public Map<?, ?> get(Class<?> key)
+    /**
+     * Get the configured map of objects for the given key
+     *
+     * @param name the key class
+     * @return the value map or null if no such key exists
+     */
+    public Map<Class<?>, ? super Object> get(Class<?> key)
     {
         return map.get(key);
     }
 
-    public Object get(Class<?> key, Object innerKey)
+    /**
+     * Get a value from the configured map of objects for the given keys
+     *
+     * @param key the key class
+     * @param innerKey the key into the value map
+     * @return the inner value or null if no such keys exist
+     */
+    public <T> T get(Class<?> key, Class<T> innerKey)
     {
-        Map<?, ?> innerMap = get(key);
+        Map<Class<?>, ? super Object> innerMap = get(key);
         if (innerMap == null)
         {
             return null;
         }
-        return innerMap.get(innerKey);
+        return (T) innerMap.get(innerKey);
     }
-
-
 }

Modified: turbine/core/trunk/src/java/org/apache/turbine/pipeline/PipelineData.java
URL: http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/pipeline/PipelineData.java?rev=1199049&r1=1199048&r2=1199049&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/pipeline/PipelineData.java (original)
+++ turbine/core/trunk/src/java/org/apache/turbine/pipeline/PipelineData.java Tue Nov  8 01:43:54 2011
@@ -38,9 +38,28 @@ import java.util.Map;
  */
 public interface PipelineData
 {
-    public void put(Class<?> name, Map<?, ?> value);
+    /**
+     * Put a configured map of objects into the pipeline data object
+     *
+     * @param name the key class
+     * @param value the value map
+     */
+    public void put(Class<?> name, Map<Class<?>, ? super Object> value);
 
-    public Map<?, ?> get(Class<?> name);
+    /**
+     * Get the configured map of objects for the given key
+     *
+     * @param name the key class
+     * @return the value map or null if no such key exists
+     */
+    public Map<Class<?>, ? super Object> get(Class<?> name);
 
-    public Object get(Class<?> key, Object innerKey);
+    /**
+     * Get a value from the configured map of objects for the given keys
+     *
+     * @param key the key class
+     * @param innerKey the key into the value map
+     * @return the inner value or null if no such keys exist
+     */
+    public <T> T get(Class<?> key, Class<T> innerKey);
 }

Modified: turbine/core/trunk/src/java/org/apache/turbine/services/rundata/TurbineRunDataService.java
URL: http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/rundata/TurbineRunDataService.java?rev=1199049&r1=1199048&r2=1199049&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/services/rundata/TurbineRunDataService.java (original)
+++ turbine/core/trunk/src/java/org/apache/turbine/services/rundata/TurbineRunDataService.java Tue Nov  8 01:43:54 2011
@@ -204,7 +204,7 @@ public class TurbineRunDataService
         // the execution lifetime of a single request. A RunData object
         // is created/recycled for each and every request and is passed
         // to each and every module. Since each thread has its own RunData
-        // object, it is not necessary to perform syncronization for
+        // object, it is not necessary to perform synchronization for
         // the data within this object.
         if ((req == null)
             || (res == null)