epugh       2004/07/04 10:19:32

  Modified:    src/java/org/apache/turbine/pipeline
                        DefaultSessionTimeoutValve.java
                        DefaultSessionValidationValve.java
                        DetermineRedirectRequestedValve.java
                        CleanUpValve.java ExecutePageValve.java
                        DefaultACLCreationValve.java DefaultLoginValve.java
                        Pipeline.java AbstractValve.java Valve.java
                        TurbinePipeline.java ValveContext.java
                        DetermineTargetValve.java DetermineActionValve.java
               src/test/org/apache/turbine/pipeline
                        DefaultSessionTimeoutValveTest.java
                        DefaultLoginValveTest.java PipelineTest.java
                        SimpleValve.java DefaultACLCreationValveTest.java
                        ExecutePageValveTest.java
                        DetermineTargetValveTest.java
                        DefaultSessionValidationValveTest.java
                        DetermineActionValveTest.java
               src/test/org/apache/turbine/services/avaloncomponent
                        MerlinComponentServiceTest.java
               src/java/org/apache/turbine Turbine.java
               src/test/org/apache/turbine/test BaseTestCase.java
  Added:       src/java/org/apache/turbine/pipeline PipelineData.java
                        DefaultPipelineData.java
  Log:
  Add pipelineData
  
  Revision  Changes    Path
  1.2       +5 -4      
jakarta-turbine-2/src/java/org/apache/turbine/pipeline/DefaultSessionTimeoutValve.java
  
  Index: DefaultSessionTimeoutValve.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/pipeline/DefaultSessionTimeoutValve.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultSessionTimeoutValve.java   23 Feb 2004 20:35:05 -0000      1.1
  +++ DefaultSessionTimeoutValve.java   4 Jul 2004 17:19:31 -0000       1.2
  @@ -95,14 +95,15 @@
       /**
        * @see org.apache.turbine.Valve#invoke(RunData, ValveContext)
        */
  -    public void invoke(RunData data, ValveContext context)
  +    public void invoke(PipelineData data, ValveContext context)
           throws IOException, TurbineException
       {
  +        RunData runData = (RunData)data.get(RunData.class);
           // If the session is new take this opportunity to
           // set the session timeout if specified in TR.properties
  -        if (data.getSession().isNew() && timeout != SESSION_TIMEOUT_DEFAULT)
  +        if (runData.getSession().isNew() && timeout != SESSION_TIMEOUT_DEFAULT)
           {
  -            data.getSession().setMaxInactiveInterval(timeout);
  +            runData.getSession().setMaxInactiveInterval(timeout);
           }
   
           // Pass control to the next Valve in the Pipeline
  
  
  
  1.2       +3 -3      
jakarta-turbine-2/src/java/org/apache/turbine/pipeline/DefaultSessionValidationValve.java
  
  Index: DefaultSessionValidationValve.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/pipeline/DefaultSessionValidationValve.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultSessionValidationValve.java        23 Feb 2004 20:35:05 -0000      1.1
  +++ DefaultSessionValidationValve.java        4 Jul 2004 17:19:31 -0000       1.2
  @@ -86,7 +86,7 @@
       /**
        * @see org.apache.turbine.Valve#invoke(RunData, ValveContext)
        */
  -    public void invoke(RunData data, ValveContext context)
  +    public void invoke(PipelineData data, ValveContext context)
           throws IOException, TurbineException
       {
           try
  @@ -100,7 +100,7 @@
               // TurbineResources.properties...screen.homepage; or, you
               // can specify your own SessionValidator action.
               ActionLoader.getInstance().exec(
  -                    data, 
Turbine.getConfiguration().getString(ACTION_SESSION_VALIDATOR_KEY,
  +                    (RunData)data.get(RunData.class), 
Turbine.getConfiguration().getString(ACTION_SESSION_VALIDATOR_KEY,
                               ACTION_SESSION_VALIDATOR_DEFAULT));
           }
           catch (Exception e)
  
  
  
  1.2       +3 -3      
jakarta-turbine-2/src/java/org/apache/turbine/pipeline/DetermineRedirectRequestedValve.java
  
  Index: DetermineRedirectRequestedValve.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/pipeline/DetermineRedirectRequestedValve.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DetermineRedirectRequestedValve.java      23 Feb 2004 20:35:05 -0000      1.1
  +++ DetermineRedirectRequestedValve.java      4 Jul 2004 17:19:31 -0000       1.2
  @@ -82,12 +82,12 @@
       /**
        * @see org.apache.turbine.Valve#invoke(RunData, ValveContext)
        */
  -    public void invoke(RunData data, ValveContext context)
  +    public void invoke(PipelineData data, ValveContext context)
           throws IOException, TurbineException
       {
           try
           {
  -            redirectRequested(data);
  +            redirectRequested((RunData)data.get(RunData.class));
           }
           catch (Exception e)
           {
  
  
  
  1.2       +3 -3      
jakarta-turbine-2/src/java/org/apache/turbine/pipeline/CleanUpValve.java
  
  Index: CleanUpValve.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/pipeline/CleanUpValve.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CleanUpValve.java 23 Feb 2004 20:35:05 -0000      1.1
  +++ CleanUpValve.java 4 Jul 2004 17:19:31 -0000       1.2
  @@ -85,12 +85,12 @@
       /**
        * @see org.apache.turbine.Valve#invoke(RunData, ValveContext)
        */
  -    public void invoke(RunData data, ValveContext context)
  +    public void invoke(PipelineData data, ValveContext context)
           throws IOException, TurbineException
       {
           try
           {
  -            cleanUp(data);
  +            cleanUp((RunData)data.get(RunData.class));
           }
           catch (Exception e)
           {
  
  
  
  1.2       +4 -4      
jakarta-turbine-2/src/java/org/apache/turbine/pipeline/ExecutePageValve.java
  
  Index: ExecutePageValve.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/pipeline/ExecutePageValve.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ExecutePageValve.java     23 Feb 2004 20:35:05 -0000      1.1
  +++ ExecutePageValve.java     4 Jul 2004 17:19:31 -0000       1.2
  @@ -89,12 +89,12 @@
       /**
        * @see org.apache.turbine.Valve#invoke(RunData, ValveContext)
        */
  -    public void invoke(RunData data, ValveContext context)
  +    public void invoke(PipelineData pipelineData, ValveContext context)
           throws IOException, TurbineException
       {
           try
           {
  -            executePage(data);
  +            executePage((RunData)pipelineData.get(RunData.class));
           }
           catch (Exception e)
           {
  @@ -102,7 +102,7 @@
           }
   
           // Pass control to the next Valve in the Pipeline
  -        context.invokeNext(data);
  +        context.invokeNext(pipelineData);
       }
   
       /**
  
  
  
  1.2       +5 -4      
jakarta-turbine-2/src/java/org/apache/turbine/pipeline/DefaultACLCreationValve.java
  
  Index: DefaultACLCreationValve.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/pipeline/DefaultACLCreationValve.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultACLCreationValve.java      23 Feb 2004 20:35:05 -0000      1.1
  +++ DefaultACLCreationValve.java      4 Jul 2004 17:19:31 -0000       1.2
  @@ -90,18 +90,19 @@
       /**
        * @see org.apache.turbine.Valve#invoke(RunData, ValveContext)
        */
  -    public void invoke(RunData data, ValveContext context)
  +    public void invoke(PipelineData pipelineData, ValveContext context)
           throws IOException, TurbineException
       {
           try
           { 
  +            RunData runData = (RunData)pipelineData.get(RunData.class);
               // Put the Access Control List into the RunData object, so
               // it is easily available to modules.  It is also placed
               // into the session for serialization.  Modules can null
               // out the ACL to force it to be rebuilt based on more
               // information.
               ActionLoader.getInstance().exec(
  -                    data, 
Turbine.getConfiguration().getString(ACTION_ACCESS_CONTROLLER_KEY,
  +                    runData, 
Turbine.getConfiguration().getString(ACTION_ACCESS_CONTROLLER_KEY,
                               ACTION_ACCESS_CONTROLLER_DEFAULT));
           }
           catch (Exception e)
  @@ -110,6 +111,6 @@
           }
   
           // Pass control to the next Valve in the Pipeline
  -        context.invokeNext(data);
  +        context.invokeNext(pipelineData);
       }
   }
  
  
  
  1.2       +4 -4      
jakarta-turbine-2/src/java/org/apache/turbine/pipeline/DefaultLoginValve.java
  
  Index: DefaultLoginValve.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/pipeline/DefaultLoginValve.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultLoginValve.java    23 Feb 2004 20:35:05 -0000      1.1
  +++ DefaultLoginValve.java    4 Jul 2004 17:19:31 -0000       1.2
  @@ -95,12 +95,12 @@
       /**
        * @see org.apache.turbine.Valve#invoke(RunData, ValveContext)
        */
  -    public void invoke(RunData data, ValveContext context)
  +    public void invoke(PipelineData data, ValveContext context)
           throws IOException, TurbineException
       {
           try
  -        { 
  -            process(data);
  +        {             
  +            process((RunData)data.get(RunData.class));
           }
           catch (Exception e)
           {
  
  
  
  1.2       +1 -1      
jakarta-turbine-2/src/java/org/apache/turbine/pipeline/Pipeline.java
  
  Index: Pipeline.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/pipeline/Pipeline.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Pipeline.java     23 Feb 2004 20:35:05 -0000      1.1
  +++ Pipeline.java     4 Jul 2004 17:19:31 -0000       1.2
  @@ -124,7 +124,7 @@
        *
        * @exception IOException an input/output error occurred.
        */
  -    public void invoke(RunData data)
  +    public void invoke(PipelineData data)
           throws TurbineException, IOException;
   
       /**
  
  
  
  1.2       +3 -3      
jakarta-turbine-2/src/java/org/apache/turbine/pipeline/AbstractValve.java
  
  Index: AbstractValve.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/pipeline/AbstractValve.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AbstractValve.java        23 Feb 2004 20:35:05 -0000      1.1
  +++ AbstractValve.java        4 Jul 2004 17:19:31 -0000       1.2
  @@ -79,8 +79,8 @@
       }
   
       /**
  -     * @see org.apache.turbine.Valve#invoke(RunData, ValveContext)
  +     * @see org.apache.turbine.Valve#invoke(PipelineData, ValveContext)
        */
  -    public abstract void invoke(RunData data, ValveContext context)
  +    public abstract void invoke(PipelineData data, ValveContext context)
           throws IOException, TurbineException;
   }
  
  
  
  1.2       +1 -1      
jakarta-turbine-2/src/java/org/apache/turbine/pipeline/Valve.java
  
  Index: Valve.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/pipeline/Valve.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Valve.java        23 Feb 2004 20:35:05 -0000      1.1
  +++ Valve.java        4 Jul 2004 17:19:31 -0000       1.2
  @@ -123,7 +123,7 @@
        * @exception IOException Thrown by a subsequent Valve.
        * @exception TurbineException Thrown by a subsequent Valve.
        */
  -    public void invoke(RunData data, ValveContext context)
  +    public void invoke(PipelineData data, ValveContext context)
           throws IOException, TurbineException;
   
       /**
  
  
  
  1.3       +2 -2      
jakarta-turbine-2/src/java/org/apache/turbine/pipeline/TurbinePipeline.java
  
  Index: TurbinePipeline.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/pipeline/TurbinePipeline.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- TurbinePipeline.java      14 Apr 2004 23:38:50 -0000      1.2
  +++ TurbinePipeline.java      4 Jul 2004 17:19:31 -0000       1.3
  @@ -198,7 +198,7 @@
       /**
        * @see org.apache.turbine.Pipeline#invoke(RunData)
        */
  -    public void invoke(RunData data)
  +    public void invoke(PipelineData data)
           throws TurbineException, IOException
       {
           // Initialize the per-thread state for this thread
  @@ -211,7 +211,7 @@
       /**
        * @see org.apache.turbine.ValveContext#invokeNext(RunData)
        */
  -    public void invokeNext(RunData data)
  +    public void invokeNext(PipelineData data)
           throws TurbineException, IOException
       {
           // Identify the current subscript for the current request thread
  
  
  
  1.2       +2 -2      
jakarta-turbine-2/src/java/org/apache/turbine/pipeline/ValveContext.java
  
  Index: ValveContext.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/pipeline/ValveContext.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ValveContext.java 23 Feb 2004 20:35:05 -0000      1.1
  +++ ValveContext.java 4 Jul 2004 17:19:31 -0000       1.2
  @@ -98,6 +98,6 @@
        * @exception TurbineException No further Valves configured in the
        * Pipeline currently being processed.
        */
  -    public void invokeNext(RunData data)
  +    public void invokeNext(PipelineData data)
           throws IOException, TurbineException;
   }
  
  
  
  1.2       +7 -6      
jakarta-turbine-2/src/java/org/apache/turbine/pipeline/DetermineTargetValve.java
  
  Index: DetermineTargetValve.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/pipeline/DetermineTargetValve.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DetermineTargetValve.java 23 Feb 2004 20:35:05 -0000      1.1
  +++ DetermineTargetValve.java 4 Jul 2004 17:19:31 -0000       1.2
  @@ -82,16 +82,17 @@
       /**
        * @see org.apache.turbine.Valve#invoke(RunData, ValveContext)
        */
  -    public void invoke( RunData data, ValveContext context )
  +    public void invoke( PipelineData pipelineData, ValveContext context )
           throws IOException, TurbineException
       {
  -        if ( ! data.hasScreen() )
  +        RunData runData = (RunData)pipelineData.get(RunData.class);
  +        if ( ! runData.hasScreen() )
           {
  -            String target = 
data.getParameters().getString(URIConstants.CGI_SCREEN_PARAM);
  +            String target = 
runData.getParameters().getString(URIConstants.CGI_SCREEN_PARAM);
   
               if ( target != null )
               {
  -                data.setScreen( target );
  +                runData.setScreen( target );
                   
                   log.debug( "Set screen target from request parameter" );
               }
  @@ -109,10 +110,10 @@
           
           if ( log.isDebugEnabled() )
           {
  -            log.debug( "Screen Target is now: " + data.getScreen() );
  +            log.debug( "Screen Target is now: " + runData.getScreen() );
           }
   
           // Pass control to the next Valve in the Pipeline
  -        context.invokeNext( data );
  +        context.invokeNext( pipelineData );
       }
   }
  
  
  
  1.2       +3 -2      
jakarta-turbine-2/src/java/org/apache/turbine/pipeline/DetermineActionValve.java
  
  Index: DetermineActionValve.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/pipeline/DetermineActionValve.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DetermineActionValve.java 23 Feb 2004 20:35:05 -0000      1.1
  +++ DetermineActionValve.java 4 Jul 2004 17:19:31 -0000       1.2
  @@ -78,9 +78,10 @@
       /**
        * @see org.apache.turbine.Valve#invoke(RunData, ValveContext)
        */
  -    public void invoke( RunData data, ValveContext context )
  +    public void invoke( PipelineData pipelineData, ValveContext context )
           throws IOException, TurbineException
       {
  +        RunData data = (RunData)pipelineData.get(RunData.class);
           if ( ! data.hasAction() )
           {
               String action = 
  @@ -104,6 +105,6 @@
           }
   
           // Pass control to the next Valve in the Pipeline
  -        context.invokeNext( data );
  +        context.invokeNext( pipelineData );
       }
   }
  
  
  
  1.1                  
jakarta-turbine-2/src/java/org/apache/turbine/pipeline/PipelineData.java
  
  Index: PipelineData.java
  ===================================================================
  package org.apache.turbine.pipeline;
  
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Turbine" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Turbine", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /**
   * <p>A <b>PipelineData</b> is a holder for data being passed from one
   * Valve to the next.  
   * The detailed contract for a Valve is included in the description of
   * 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
   * the additional methods
   *
   * @author <a href="mailto:[EMAIL PROTECTED]">Eric Pugh</a>
   */
  public interface PipelineData
  {
      public void put(Object name, Object value);
      public Object get(Object name);
  }
  
  
  
  1.1                  
jakarta-turbine-2/src/java/org/apache/turbine/pipeline/DefaultPipelineData.java
  
  Index: DefaultPipelineData.java
  ===================================================================
  package org.apache.turbine.pipeline;
  
  import java.util.HashMap;
  import java.util.Map;
  
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Turbine" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Turbine", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /**
   * <p>A <b>PipelineData</b> is a holder for data being passed from one
   * Valve to the next.  
   * The detailed contract for a Valve is included in the description of
   * 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
   * the additional methods
   *
   * @author <a href="mailto:[EMAIL PROTECTED]">Eric Pugh</a>
   */
  public class DefaultPipelineData implements PipelineData
  {
      private Map map = new HashMap();
      
      public void put(Object key, Object value){
          map.put(key,value);        
      }
      
      public Object get(Object key){
          return map.get(key);
      }
  }
  
  
  
  1.2       +7 -5      
jakarta-turbine-2/src/test/org/apache/turbine/pipeline/DefaultSessionTimeoutValveTest.java
  
  Index: DefaultSessionTimeoutValveTest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/test/org/apache/turbine/pipeline/DefaultSessionTimeoutValveTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultSessionTimeoutValveTest.java       23 Feb 2004 20:35:06 -0000      1.1
  +++ DefaultSessionTimeoutValveTest.java       4 Jul 2004 17:19:31 -0000       1.2
  @@ -145,14 +145,15 @@
           request.setupAddParameter(URIConstants.CGI_ACTION_PARAM,"TestAction");
           
           
  -        RunData runData = getRunData(request,response,config);
  +        PipelineData pipelineData = getPipelineData(request,response,config);
           
           Pipeline pipeline = new TurbinePipeline();
   
           DefaultSessionTimeoutValve valve = new DefaultSessionTimeoutValve();
           pipeline.addValve(valve);
   
  -        pipeline.invoke(runData);
  +        pipeline.invoke(pipelineData);
  +        RunData runData = (RunData)pipelineData.get(RunData.class);
           assertEquals(0,runData.getSession().getMaxInactiveInterval());
   
   
  @@ -165,14 +166,15 @@
       {
           
           
Turbine.getConfiguration().setProperty(TurbineConstants.SESSION_TIMEOUT_KEY,"3600");
  -        RunData runData = getRunData(request,response,config);
  +        PipelineData pipelineData = getPipelineData(request,response,config);
           
           Pipeline pipeline = new TurbinePipeline();
   
           DefaultSessionTimeoutValve valve = new DefaultSessionTimeoutValve();
           pipeline.addValve(valve);
   
  -        pipeline.invoke(runData);
  +        pipeline.invoke(pipelineData);
  +        RunData runData = (RunData)pipelineData.get(RunData.class);
           assertEquals(3600,runData.getSession().getMaxInactiveInterval());
   
   
  
  
  
  1.2       +4 -2      
jakarta-turbine-2/src/test/org/apache/turbine/pipeline/DefaultLoginValveTest.java
  
  Index: DefaultLoginValveTest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/test/org/apache/turbine/pipeline/DefaultLoginValveTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultLoginValveTest.java        23 Feb 2004 20:35:06 -0000      1.1
  +++ DefaultLoginValveTest.java        4 Jul 2004 17:19:31 -0000       1.2
  @@ -150,11 +150,13 @@
           runData.setAction(TurbineConstants.ACTION_LOGIN_DEFAULT);
           
           Pipeline pipeline = new TurbinePipeline();
  +        PipelineData pipelineData = new DefaultPipelineData();
  +        pipelineData.put(RunData.class,runData);
   
           DefaultLoginValve valve = new DefaultLoginValve();
           pipeline.addValve(valve);
   
  -        pipeline.invoke(runData);
  +        pipeline.invoke(pipelineData);
           User user = runData.getUser();
           assertNotNull(user);
           assertEquals("username",user.getName());
  
  
  
  1.2       +2 -2      
jakarta-turbine-2/src/test/org/apache/turbine/pipeline/PipelineTest.java
  
  Index: PipelineTest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/test/org/apache/turbine/pipeline/PipelineTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PipelineTest.java 23 Feb 2004 20:35:06 -0000      1.1
  +++ PipelineTest.java 4 Jul 2004 17:19:31 -0000       1.2
  @@ -96,7 +96,7 @@
           valve.setValue("bar");
           pipeline.addValve(valve);
   
  -        pipeline.invoke(new DefaultTurbineRunData());
  +        pipeline.invoke(new DefaultPipelineData());
   
           assertEquals("foobar", writer.toString());
       }
  
  
  
  1.2       +2 -2      
jakarta-turbine-2/src/test/org/apache/turbine/pipeline/SimpleValve.java
  
  Index: SimpleValve.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/test/org/apache/turbine/pipeline/SimpleValve.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SimpleValve.java  23 Feb 2004 20:35:06 -0000      1.1
  +++ SimpleValve.java  4 Jul 2004 17:19:31 -0000       1.2
  @@ -89,7 +89,7 @@
       /**
        * @see org.apache.turbine.Valve#invoke(RunData, ValveContext)
        */
  -    public void invoke(RunData data, ValveContext context)
  +    public void invoke(PipelineData data, ValveContext context)
           throws IOException, TurbineException
       {
           // Perform our actions
  
  
  
  1.2       +4 -2      
jakarta-turbine-2/src/test/org/apache/turbine/pipeline/DefaultACLCreationValveTest.java
  
  Index: DefaultACLCreationValveTest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/test/org/apache/turbine/pipeline/DefaultACLCreationValveTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultACLCreationValveTest.java  23 Feb 2004 20:35:06 -0000      1.1
  +++ DefaultACLCreationValveTest.java  4 Jul 2004 17:19:31 -0000       1.2
  @@ -144,11 +144,13 @@
           
           
           Pipeline pipeline = new TurbinePipeline();
  +        PipelineData pipelineData = new DefaultPipelineData();
  +        pipelineData.put(RunData.class,runData);
   
           DefaultACLCreationValve valve = new DefaultACLCreationValve();
           pipeline.addValve(valve);
   
  -        pipeline.invoke(runData);
  +        pipeline.invoke(pipelineData);
           User user = runData.getUser();
           assertNotNull(user);
           assertEquals("username",user.getName());
  
  
  
  1.2       +4 -2      
jakarta-turbine-2/src/test/org/apache/turbine/pipeline/ExecutePageValveTest.java
  
  Index: ExecutePageValveTest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/test/org/apache/turbine/pipeline/ExecutePageValveTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ExecutePageValveTest.java 23 Feb 2004 20:35:06 -0000      1.1
  +++ ExecutePageValveTest.java 4 Jul 2004 17:19:31 -0000       1.2
  @@ -154,12 +154,14 @@
           runData.setUser(tu);
   
           Pipeline pipeline = new TurbinePipeline();
  +        PipelineData pipelineData = new DefaultPipelineData();
  +        pipelineData.put(RunData.class,runData);
   
           ExecutePageValve valve = new ExecutePageValve();
           pipeline.addValve(valve);
   
           int numberOfCalls = VelocityActionDoesNothing.getNumberOfCalls();
  -        pipeline.invoke(runData);
  +        pipeline.invoke(pipelineData);
           assertEquals("Assert action was called",numberOfCalls 
+1,VelocityActionDoesNothing.getNumberOfCalls());
           User user = runData.getUser();
           assertNotNull(user);
  
  
  
  1.3       +7 -3      
jakarta-turbine-2/src/test/org/apache/turbine/pipeline/DetermineTargetValveTest.java
  
  Index: DetermineTargetValveTest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/test/org/apache/turbine/pipeline/DetermineTargetValveTest.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DetermineTargetValveTest.java     28 Mar 2004 17:36:20 -0000      1.2
  +++ DetermineTargetValveTest.java     4 Jul 2004 17:19:31 -0000       1.3
  @@ -144,11 +144,13 @@
           RunData runData = getRunData(request,response,config);
           
           Pipeline pipeline = new TurbinePipeline();
  +        PipelineData pipelineData = new DefaultPipelineData();
  +        pipelineData.put(RunData.class,runData);
   
           DetermineTargetValve valve = new DetermineTargetValve();
           pipeline.addValve(valve);
   
  -        pipeline.invoke(runData);
  +        pipeline.invoke(pipelineData);
           assertEquals("TestScreen",runData.getScreen());
   
   
  @@ -166,11 +168,13 @@
           RunData runData = getRunData(request,response,config);
           
           Pipeline pipeline = new TurbinePipeline();
  +        PipelineData pipelineData = new DefaultPipelineData();
  +        pipelineData.put(RunData.class,runData);
   
           DetermineTargetValve valve = new DetermineTargetValve();
           pipeline.addValve(valve);
   
  -        pipeline.invoke(runData);
  +        pipeline.invoke(pipelineData);
           assertEquals("",runData.getScreen());
   
   
  
  
  
  1.2       +7 -3      
jakarta-turbine-2/src/test/org/apache/turbine/pipeline/DefaultSessionValidationValveTest.java
  
  Index: DefaultSessionValidationValveTest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/test/org/apache/turbine/pipeline/DefaultSessionValidationValveTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultSessionValidationValveTest.java    23 Feb 2004 20:35:06 -0000      1.1
  +++ DefaultSessionValidationValveTest.java    4 Jul 2004 17:19:31 -0000       1.2
  @@ -151,11 +151,13 @@
           runData.setAction(TurbineConstants.ACTION_LOGIN_DEFAULT);
           
           Pipeline pipeline = new TurbinePipeline();
  +        PipelineData pipelineData = new DefaultPipelineData();
  +        pipelineData.put(RunData.class,runData);
   
           DefaultSessionValidationValve valve = new DefaultSessionValidationValve();
           pipeline.addValve(valve);
   
  -        pipeline.invoke(runData);
  +        pipeline.invoke(pipelineData);
           User user = runData.getUser();
           assertNotNull(user);
           assertEquals("",user.getName());
  @@ -182,11 +184,13 @@
           session.setupGetAttribute(User.SESSION_KEY, tu);
           
           Pipeline pipeline = new TurbinePipeline();
  +        PipelineData pipelineData = new DefaultPipelineData();
  +        pipelineData.put(RunData.class,runData);
   
           DefaultSessionValidationValve valve = new DefaultSessionValidationValve();
           pipeline.addValve(valve);
   
  -        pipeline.invoke(runData);
  +        pipeline.invoke(pipelineData);
           User user = runData.getUser();
           assertNotNull(user);
           assertEquals("username",user.getName());
  
  
  
  1.2       +4 -2      
jakarta-turbine-2/src/test/org/apache/turbine/pipeline/DetermineActionValveTest.java
  
  Index: DetermineActionValveTest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/test/org/apache/turbine/pipeline/DetermineActionValveTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DetermineActionValveTest.java     23 Feb 2004 20:35:06 -0000      1.1
  +++ DetermineActionValveTest.java     4 Jul 2004 17:19:31 -0000       1.2
  @@ -143,11 +143,13 @@
           
           //URIConstants.CGI_ACTION_PARAM
           Pipeline pipeline = new TurbinePipeline();
  +        PipelineData pipelineData = new DefaultPipelineData();
  +        pipelineData.put(RunData.class,runData);
   
           DetermineActionValve valve = new DetermineActionValve();
           pipeline.addValve(valve);
   
  -        pipeline.invoke(runData);
  +        pipeline.invoke(pipelineData);
           assertEquals("TestAction",runData.getAction());
   
   
  
  
  
  1.4       +8 -6      
jakarta-turbine-2/src/test/org/apache/turbine/services/avaloncomponent/MerlinComponentServiceTest.java
  
  Index: MerlinComponentServiceTest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/test/org/apache/turbine/services/avaloncomponent/MerlinComponentServiceTest.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- MerlinComponentServiceTest.java   14 Nov 2003 12:29:39 -0000      1.3
  +++ MerlinComponentServiceTest.java   4 Jul 2004 17:19:32 -0000       1.4
  @@ -56,11 +56,13 @@
   
   import org.apache.commons.logging.Log;
   import org.apache.commons.logging.LogFactory;
  +import org.apache.fulcrum.mimetype.MimeTypeService;
   import org.apache.turbine.services.TurbineServices;
   import org.apache.turbine.test.BaseTestCase;
   import org.apache.turbine.util.TurbineConfig;
   
  -import tutorial.Hello;
  +import tutorial.HelloComponent;
  +
   
   
   
  @@ -89,7 +91,7 @@
         * Merlin tutorial.  Currently pulling from 
http://jakarta.apache.org/turbine/repo/merlin
         * @throws Exception
         */
  -     public void testMerlinWithHelloComponent() throws Exception
  +     public void testMerlinWithMimetype() throws Exception
        {
   
                TurbineConfig tc =
  @@ -99,10 +101,10 @@
                {
                        tc.initialize();
   
  -                     Hello hello = (Hello) getService().lookup("/fulcrum/hello"); 
// just to test
  -                     assertNotNull(hello);
  +                     MimeTypeService mimetypeservice = (MimeTypeService) 
getService().lookup("/fulcrum/mimetype"); // just to test
  +                     assertNotNull(mimetypeservice);
               
  -                     getService().release(hello);
  +                     getService().release(mimetypeservice);
   
    
                }
  
  
  
  1.50      +14 -75    jakarta-turbine-2/src/java/org/apache/turbine/Turbine.java
  
  Index: Turbine.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/Turbine.java,v
  retrieving revision 1.49
  retrieving revision 1.50
  diff -u -r1.49 -r1.50
  --- Turbine.java      25 May 2004 21:20:41 -0000      1.49
  +++ Turbine.java      4 Jul 2004 17:19:32 -0000       1.50
  @@ -82,9 +82,10 @@
   
   import org.apache.log4j.PropertyConfigurator;
   
  -import org.apache.turbine.modules.ActionLoader;
   import org.apache.turbine.modules.PageLoader;
  +import org.apache.turbine.pipeline.DefaultPipelineData;
   import org.apache.turbine.pipeline.Pipeline;
  +import org.apache.turbine.pipeline.PipelineData;
   import org.apache.turbine.pipeline.TurbinePipeline;
   
   import org.apache.turbine.services.ServiceManager;
  @@ -95,13 +96,11 @@
   import org.apache.turbine.services.template.TurbineTemplate;
   import org.apache.turbine.services.rundata.RunDataService;
   import org.apache.turbine.services.rundata.TurbineRunDataFacade;
  -import org.apache.turbine.services.velocity.VelocityService;
   
   import org.apache.turbine.util.RunData;
   import org.apache.turbine.util.ServerData;
   import org.apache.turbine.util.TurbineConfig;
   import org.apache.turbine.util.TurbineException;
  -import org.apache.turbine.util.template.TemplateInfo;
   import org.apache.turbine.util.uri.URIConstants;
   
   /**
  @@ -679,6 +678,8 @@
   
           // Placeholder for the RunData object.
           RunData data = null;
  +        
  +        PipelineData pipelineData = new DefaultPipelineData();
           try
           {
               // Check to make sure that we started up properly.
  @@ -686,11 +687,6 @@
               {
                   throw initFailure;
               }
  -
  -            // Get general RunData here...
  -            // Perform turbine specific initialization below.
  -            data = rundataService.getRunData(req, res, getServletConfig());
  -
               // If this is the first invocation, perform some
               // initialization.  Certain services need RunData to initialize
               // themselves.
  @@ -698,7 +694,6 @@
               {
                   synchronized (Turbine.class)
                   {
  -
                       // Store the context path for tools like ContentURI and
                       // the UIManager that use webapp context path information
                       // for constructing URLs.
  @@ -709,12 +704,19 @@
                       log.info("Turbine: first Request successful");
                   }
   
  -            }
  +            }            
  +
  +            // Get general RunData here...
  +            // Perform turbine specific initialization below.
  +            data = rundataService.getRunData(req, res, getServletConfig());
  +            
  +            // put the data into the pipeline
  +            pipelineData.put(RunData.class,data);            
   
               // Stages of Pipeline implementation execution
                        // configurable via attached Valve implementations in a
                        // XML properties file.
  -                     pipeline.invoke(data);
  +                     pipeline.invoke(pipelineData);
     
           }
           catch (Exception e)
  @@ -744,69 +746,6 @@
               throws IOException, ServletException
       {
           doGet(req, res);
  -    }
  -
  -    /**
  -     * This method is executed if the configured Login action should be
  -     * executed by Turbine.
  -     * <p>
  -     * This Action must be performed before the Session validation or we
  -     * get sent in an endless loop back to the Login screen before
  -     * the action can be performed
  -     *
  -     * @param data a RunData object
  -     *
  -     * @throws Exception A problem while logging in occured.
  -     */
  -    private void loginAction(RunData data)
  -            throws Exception
  -    {
  -        ActionLoader.getInstance().exec(data, data.getAction());
  -        cleanupTemplateContext(data);
  -        data.setAction(null);
  -    }
  -
  -    /**
  -     * This method is executed if the configured Logout action should be
  -     * executed by Turbine.
  -     * <p>
  -     * This Action must be performed before the Session validation for the
  -     * session validator to send us back to the Login screen.
  -     * <p>
  -     * The existing session is invalidated before the logout action is
  -     * executed.
  -     *
  -     * @param data a RunData object
  -     *
  -     * @throws Exception A problem while logging out occured.
  -     */
  -    private void logoutAction(RunData data)
  -            throws Exception
  -    {
  -        ActionLoader.getInstance().exec(data, data.getAction());
  -        cleanupTemplateContext(data);
  -        data.setAction(null);
  -        data.getSession().invalidate();
  -    }
  -
  -    /**
  -     * cleans the Velocity Context if available.
  -     *
  -     * @param data A RunData Object
  -     *
  -     * @throws Exception A problem while cleaning out the Template Context occured.
  -     */
  -    private void cleanupTemplateContext(RunData data)
  -            throws Exception
  -    {
  -        // This is Velocity specific and shouldn't be done here.
  -        // But this is a band aid until we get real listeners
  -        // here.
  -        TemplateInfo ti = data.getTemplateInfo();
  -        if (ti != null)
  -        {
  -            ti.removeTemp(VelocityService.CONTEXT);
  -        }
       }
   
       /**
  
  
  
  1.6       +10 -1     
jakarta-turbine-2/src/test/org/apache/turbine/test/BaseTestCase.java
  
  Index: BaseTestCase.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/test/org/apache/turbine/test/BaseTestCase.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- BaseTestCase.java 25 May 2004 21:20:42 -0000      1.5
  +++ BaseTestCase.java 4 Jul 2004 17:19:32 -0000       1.6
  @@ -69,6 +69,8 @@
   import org.apache.log4j.PropertyConfigurator;
   import org.apache.turbine.Turbine;
   import org.apache.turbine.om.security.User;
  +import org.apache.turbine.pipeline.DefaultPipelineData;
  +import org.apache.turbine.pipeline.PipelineData;
   import org.apache.turbine.services.TurbineServices;
   import org.apache.turbine.services.rundata.RunDataService;
   import org.apache.turbine.util.RunData;
  @@ -117,6 +119,13 @@
           RunData runData = rds.getRunData(request, response, config);        
           return runData;
       }
  +    protected PipelineData getPipelineData(HttpServletRequest 
request,HttpServletResponse response,ServletConfig config) throws Exception {
  +       PipelineData pipelineData = new DefaultPipelineData();
  +       RunData runData = getRunData(request,response,config);
  +       pipelineData.put(RunData.class,runData);
  +       return pipelineData;
  +    }
  +    
       
       protected MockHttpServletRequest getMockRequest(){
           EnhancedMockHttpServletRequest request = new 
EnhancedMockHttpServletRequest();
  
  
  

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

Reply via email to