Author: tv
Date: Sun Mar 22 16:43:31 2009
New Revision: 757213

URL: http://svn.apache.org/viewvc?rev=757213&view=rev
Log:
Use dynamic loaders where possible.

Modified:
    
turbine/core/trunk/src/java/org/apache/turbine/modules/layouts/VelocityDirectLayout.java
    
turbine/core/trunk/src/java/org/apache/turbine/modules/layouts/VelocityOnlyLayout.java
    
turbine/core/trunk/src/java/org/apache/turbine/modules/layouts/VelocityXslLayout.java
    
turbine/core/trunk/src/java/org/apache/turbine/modules/pages/DefaultPage.java
    
turbine/core/trunk/src/java/org/apache/turbine/modules/screens/TemplateScreen.java
    
turbine/core/trunk/src/java/org/apache/turbine/modules/screens/VelocityDirectScreen.java
    turbine/core/trunk/src/java/org/apache/turbine/pipeline/AbstractValve.java
    turbine/core/trunk/src/java/org/apache/turbine/pipeline/CleanUpValve.java
    
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DefaultACLCreationValve.java
    
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DefaultLoginValve.java
    
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DefaultSessionTimeoutValve.java
    
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DefaultSessionValidationValve.java
    
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DetermineActionValve.java
    
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DetermineRedirectRequestedValve.java
    
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DetermineTargetValve.java
    
turbine/core/trunk/src/java/org/apache/turbine/pipeline/ExecutePageValve.java
    
turbine/core/trunk/src/java/org/apache/turbine/services/jsp/TurbineJspService.java
    
turbine/core/trunk/src/java/org/apache/turbine/services/jsp/util/JspNavigation.java
    
turbine/core/trunk/src/java/org/apache/turbine/services/jsp/util/JspScreenPlaceholder.java
    
turbine/core/trunk/src/java/org/apache/turbine/util/template/TemplateScreen.java
    
turbine/core/trunk/src/test/org/apache/turbine/pipeline/DefaultACLCreationValveTest.java
    
turbine/core/trunk/src/test/org/apache/turbine/pipeline/DefaultLoginValveTest.java
    
turbine/core/trunk/src/test/org/apache/turbine/pipeline/DefaultSessionValidationValveTest.java
    
turbine/core/trunk/src/test/org/apache/turbine/pipeline/ExecutePageValveTest.java
    turbine/core/trunk/xdocs/changes.xml

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/modules/layouts/VelocityDirectLayout.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/layouts/VelocityDirectLayout.java?rev=757213&r1=757212&r2=757213&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/modules/layouts/VelocityDirectLayout.java
 (original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/modules/layouts/VelocityDirectLayout.java
 Sun Mar 22 16:43:31 2009
@@ -91,7 +91,7 @@
 
         // Finally, generate the layout template and send it to the browser
         TurbineVelocity.handleRequest(context,
-                prefix + templateName, data.getOut());
+                prefix + templateName, data.getResponse().getOutputStream());
     }
 
     /**
@@ -104,7 +104,7 @@
     public void doBuild(PipelineData pipelineData)
         throws Exception
     {
-        RunData data = (RunData) getRunData(pipelineData);
+        RunData data = getRunData(pipelineData);
         // Get the context needed by Velocity.
         Context context = TurbineVelocity.getContext(pipelineData);
 
@@ -129,7 +129,7 @@
 
         // Finally, generate the layout template and send it to the browser
         TurbineVelocity.handleRequest(context,
-                prefix + templateName, data.getOut());
+                prefix + templateName, data.getResponse().getOutputStream());
     }
 
 

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/modules/layouts/VelocityOnlyLayout.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/layouts/VelocityOnlyLayout.java?rev=757213&r1=757212&r2=757213&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/modules/layouts/VelocityOnlyLayout.java
 (original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/modules/layouts/VelocityOnlyLayout.java
 Sun Mar 22 16:43:31 2009
@@ -23,17 +23,16 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-
 import org.apache.ecs.ConcreteElement;
-
 import org.apache.turbine.TurbineConstants;
 import org.apache.turbine.modules.Layout;
+import org.apache.turbine.modules.Screen;
 import org.apache.turbine.modules.ScreenLoader;
 import org.apache.turbine.pipeline.PipelineData;
+import org.apache.turbine.services.assemblerbroker.TurbineAssemblerBroker;
 import org.apache.turbine.services.velocity.TurbineVelocity;
 import org.apache.turbine.util.RunData;
 import org.apache.turbine.util.template.TemplateNavigation;
-
 import org.apache.velocity.context.Context;
 
 /**
@@ -77,6 +76,18 @@
     /** The prefix for lookup up layout pages */
     private String prefix = Layout.PREFIX + "/";
 
+    private ScreenLoader screenLoader;
+
+    /**
+     * Default constructor
+     */
+    public VelocityOnlyLayout()
+    {
+        super();
+
+        this.screenLoader = 
(ScreenLoader)TurbineAssemblerBroker.getLoader(Screen.NAME);
+    }
+
     /**
      * Build the layout.  Also sets the ContentType and Locale headers
      * of the HttpServletResponse object.
@@ -97,7 +108,7 @@
         // First, generate the screen and put it in the context so
         // we can grab it the layout template.
         ConcreteElement results =
-            ScreenLoader.getInstance().eval(data, screenName);
+            screenLoader.eval(data, screenName);
 
         String returnValue = (results == null) ? "" : results.toString();
 
@@ -120,8 +131,8 @@
         log.debug("Now trying to render layout " + templateName);
 
         // Finally, generate the layout template and send it to the browser
-        data.getOut().print(TurbineVelocity
-                .handleRequest(context, prefix + templateName));
+        TurbineVelocity.handleRequest(context,
+                prefix + templateName, data.getResponse().getOutputStream());
     }
 
     /**
@@ -135,7 +146,7 @@
     public void doBuild(PipelineData pipelineData)
         throws Exception
     {
-        RunData data = (RunData) getRunData(pipelineData);
+        RunData data = getRunData(pipelineData);
         // Get the context needed by Velocity.
         Context context = TurbineVelocity.getContext(pipelineData);
 
@@ -146,7 +157,7 @@
         // First, generate the screen and put it in the context so
         // we can grab it the layout template.
         ConcreteElement results =
-            ScreenLoader.getInstance().eval(pipelineData, screenName);
+            screenLoader.eval(pipelineData, screenName);
 
         String returnValue = (results == null) ? "" : results.toString();
 
@@ -169,9 +180,7 @@
         log.debug("Now trying to render layout " + templateName);
 
         // Finally, generate the layout template and send it to the browser
-        data.getOut().print(TurbineVelocity
-                .handleRequest(context, prefix + templateName));
+        TurbineVelocity.handleRequest(context,
+                prefix + templateName, data.getResponse().getOutputStream());
     }
-
-
 }

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/modules/layouts/VelocityXslLayout.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/layouts/VelocityXslLayout.java?rev=757213&r1=757212&r2=757213&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/modules/layouts/VelocityXslLayout.java
 (original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/modules/layouts/VelocityXslLayout.java
 Sun Mar 22 16:43:31 2009
@@ -30,8 +30,10 @@
 
 import org.apache.turbine.TurbineConstants;
 import org.apache.turbine.modules.Layout;
+import org.apache.turbine.modules.Screen;
 import org.apache.turbine.modules.ScreenLoader;
 import org.apache.turbine.pipeline.PipelineData;
+import org.apache.turbine.services.assemblerbroker.TurbineAssemblerBroker;
 import org.apache.turbine.services.velocity.TurbineVelocity;
 import org.apache.turbine.services.xslt.TurbineXSLT;
 import org.apache.turbine.util.RunData;
@@ -66,6 +68,18 @@
     /** The prefix for lookup up layout pages */
     private String prefix = Layout.PREFIX + "/";
 
+    private ScreenLoader screenLoader;
+
+    /**
+     * Default constructor
+     */
+    public VelocityXslLayout()
+    {
+        super();
+
+        this.screenLoader = 
(ScreenLoader)TurbineAssemblerBroker.getLoader(Screen.NAME);
+    }
+
     /**
      * Build the layout.  Also sets the ContentType and Locale headers
      * of the HttpServletResponse object.
@@ -88,7 +102,7 @@
         // First, generate the screen and put it in the context so
         // we can grab it the layout template.
         ConcreteElement results =
-            ScreenLoader.getInstance().eval(data, screenName);
+            screenLoader.eval(data, screenName);
 
         String returnValue = (results == null) ? "" : results.toString();
 
@@ -114,7 +128,7 @@
         // back to the browser
         TurbineXSLT.transform(
             data.getTemplateInfo().getScreenTemplate(),
-                new StringReader(temp), data.getOut());
+                new StringReader(temp), data.getResponse().getWriter());
     }
 
     /**
@@ -127,7 +141,7 @@
     public void doBuild(PipelineData pipelineData)
         throws Exception
     {
-        RunData data = (RunData) getRunData(pipelineData);
+        RunData data = getRunData(pipelineData);
         // Get the context needed by Velocity.
         Context context = TurbineVelocity.getContext(pipelineData);
 
@@ -140,7 +154,7 @@
         // First, generate the screen and put it in the context so
         // we can grab it the layout template.
         ConcreteElement results =
-            ScreenLoader.getInstance().eval(pipelineData, screenName);
+            screenLoader.eval(pipelineData, screenName);
 
         String returnValue = (results == null) ? "" : results.toString();
 
@@ -166,7 +180,6 @@
         // back to the browser
         TurbineXSLT.transform(
             data.getTemplateInfo().getScreenTemplate(),
-                new StringReader(temp), data.getOut());
+                new StringReader(temp), data.getResponse().getWriter());
     }
-
 }

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/modules/pages/DefaultPage.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/pages/DefaultPage.java?rev=757213&r1=757212&r2=757213&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/modules/pages/DefaultPage.java 
(original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/modules/pages/DefaultPage.java 
Sun Mar 22 16:43:31 2009
@@ -29,12 +29,15 @@
 import org.apache.ecs.Doctype;
 import org.apache.turbine.Turbine;
 import org.apache.turbine.TurbineConstants;
+import org.apache.turbine.modules.Action;
 import org.apache.turbine.modules.ActionLoader;
+import org.apache.turbine.modules.Layout;
 import org.apache.turbine.modules.LayoutLoader;
 import org.apache.turbine.modules.Page;
 import org.apache.turbine.modules.Screen;
 import org.apache.turbine.modules.ScreenLoader;
 import org.apache.turbine.pipeline.PipelineData;
+import org.apache.turbine.services.assemblerbroker.TurbineAssemblerBroker;
 import org.apache.turbine.util.RunData;
 import org.apache.turbine.util.TurbineException;
 
@@ -98,6 +101,22 @@
     /** Logging */
     protected Log log = LogFactory.getLog(this.getClass());
 
+    protected ActionLoader actionLoader;
+    protected ScreenLoader screenLoader;
+    protected LayoutLoader layoutLoader;
+
+    /**
+     * Default constructor
+     */
+    public DefaultPage()
+    {
+        super();
+
+        this.actionLoader = 
(ActionLoader)TurbineAssemblerBroker.getLoader(Action.NAME);
+        this.screenLoader = 
(ScreenLoader)TurbineAssemblerBroker.getLoader(Screen.NAME);
+        this.layoutLoader = 
(LayoutLoader)TurbineAssemblerBroker.getLoader(Layout.NAME);
+    }
+
     /**
      * Builds the Page.
      *
@@ -116,7 +135,7 @@
         // can re-define the template definition.
         if (data.hasAction())
         {
-            ActionLoader.getInstance().exec(data, data.getAction());
+            actionLoader.exec(data, data.getAction());
         }
 
         // if a redirect was setup in data, don't do anything else
@@ -141,19 +160,18 @@
         // The Screen can override the getLayout() method to re-define
         // the Layout depending on data passed in via the
         // data.parameters object.
-        ScreenLoader sl = ScreenLoader.getInstance();
-        Screen aScreen = sl.getInstance(screenName);
+        Screen aScreen = screenLoader.getInstance(screenName);
         String layout = aScreen.getLayout(data);
 
         // If the Layout has been set to be null, attempt to execute
         // the Screen that has been defined.
         if (layout != null)
         {
-            LayoutLoader.getInstance().exec(data, layout);
+            layoutLoader.exec(data, layout);
         }
         else
         {
-            ScreenLoader.getInstance().exec(data, screenName);
+            screenLoader.exec(data, screenName);
         }
 
         // Do any post build actions (overridable by subclasses -
@@ -170,7 +188,7 @@
     public void doBuild(PipelineData pipelineData)
             throws Exception
     {
-        RunData data = (RunData)getRunData(pipelineData);
+        RunData data = getRunData(pipelineData);
         // Template pages can use this to set up the context, so it is
         // available to the Action and Screen.  It does nothing here.
         doBuildBeforeAction(pipelineData);
@@ -179,7 +197,7 @@
         // can re-define the template definition.
         if (data.hasAction())
         {
-            ActionLoader.getInstance().exec(pipelineData, data.getAction());
+            actionLoader.exec(pipelineData, data.getAction());
         }
 
         // if a redirect was setup in data, don't do anything else
@@ -204,19 +222,18 @@
         // The Screen can override the getLayout() method to re-define
         // the Layout depending on data passed in via the
         // data.parameters object.
-        ScreenLoader sl = ScreenLoader.getInstance();
-        Screen aScreen = sl.getInstance(screenName);
+        Screen aScreen = screenLoader.getInstance(screenName);
         String layout = aScreen.getLayout(pipelineData);
 
         // If the Layout has been set to be null, attempt to execute
         // the Screen that has been defined.
         if (layout != null)
         {
-            LayoutLoader.getInstance().exec(pipelineData, layout);
+            layoutLoader.exec(pipelineData, layout);
         }
         else
         {
-            ScreenLoader.getInstance().exec(pipelineData, screenName);
+            screenLoader.exec(pipelineData, screenName);
         }
 
         // Do any post build actions (overridable by subclasses -
@@ -238,6 +255,7 @@
     protected void doBuildBeforeAction(RunData data)
             throws Exception
     {
+        // do nothing by default
     }
 
     /**
@@ -251,6 +269,7 @@
     protected void doBuildAfterAction(RunData data)
             throws Exception
     {
+        // do nothing by default
     }
 
     /**
@@ -263,6 +282,7 @@
     protected void doPostBuild(RunData data)
             throws Exception
     {
+        // do nothing by default
     }
 
 
@@ -277,6 +297,7 @@
     protected void doBuildBeforeAction(PipelineData pipelineData)
             throws Exception
     {
+        // do nothing by default
     }
 
     /**
@@ -289,6 +310,7 @@
     protected void doBuildAfterAction(PipelineData pipelineData)
             throws Exception
     {
+        // do nothing by default
     }
 
     /**
@@ -301,10 +323,9 @@
     protected void doPostBuild(PipelineData pipelineData)
             throws Exception
     {
+        // do nothing by default
     }
 
-
-
     /**
      * Set the default Doctype.  If Doctype is set to null, it will
      * not be added.  The default Doctype can be set in

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/modules/screens/TemplateScreen.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/screens/TemplateScreen.java?rev=757213&r1=757212&r2=757213&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/modules/screens/TemplateScreen.java
 (original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/modules/screens/TemplateScreen.java
 Sun Mar 22 16:43:31 2009
@@ -30,6 +30,7 @@
 import org.apache.turbine.modules.ScreenLoader;
 import org.apache.turbine.pipeline.PipelineData;
 
+import org.apache.turbine.services.assemblerbroker.TurbineAssemblerBroker;
 import org.apache.turbine.services.template.TurbineTemplate;
 
 import org.apache.turbine.util.RunData;
@@ -57,6 +58,18 @@
     /** Logging */
     protected Log log = LogFactory.getLog(this.getClass());
 
+    private ScreenLoader screenLoader;
+
+    /**
+     * Default constructor
+     */
+    public TemplateScreen()
+    {
+        super();
+
+        this.screenLoader = 
(ScreenLoader)TurbineAssemblerBroker.getLoader(NAME);
+    }
+
     /**
      * This method should be overidden by subclasses that wish to add
      * specific business logic.
@@ -264,7 +277,7 @@
     {
         log.debug("doRedirect(data, " + screen + ", " + template + ")");
         setTemplate(data, template);
-        ScreenLoader.getInstance().exec(data, screen);
+        screenLoader.exec(data, screen);
     }
 
     /**
@@ -292,7 +305,7 @@
         RunData data = getRunData(pipelineData);
         log.debug("doRedirect(data, " + screen + ", " + template + ")");
         setTemplate(data, template);
-        ScreenLoader.getInstance().exec(pipelineData, screen);
+        screenLoader.exec(pipelineData, screen);
     }
 
 

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/modules/screens/VelocityDirectScreen.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/screens/VelocityDirectScreen.java?rev=757213&r1=757212&r2=757213&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/modules/screens/VelocityDirectScreen.java
 (original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/modules/screens/VelocityDirectScreen.java
 Sun Mar 22 16:43:31 2009
@@ -77,7 +77,7 @@
         {
             TurbineVelocity.handleRequest(context,
                                           prefix + templateName,
-                                          data.getOut());
+                                          
data.getResponse().getOutputStream());
 
         }
         catch (Exception e)
@@ -94,7 +94,7 @@
 
             TurbineVelocity.handleRequest(context,
                     prefix + templateName,
-                    data.getOut());
+                    data.getResponse().getOutputStream());
         }
 
         return null;
@@ -110,44 +110,44 @@
     public ConcreteElement buildTemplate(PipelineData pipelineData)
         throws Exception
     {
-            RunData data = getRunData(pipelineData);
-            Context context = TurbineVelocity.getContext(pipelineData);
+        RunData data = getRunData(pipelineData);
+        Context context = TurbineVelocity.getContext(pipelineData);
 
-            String screenTemplate = data.getTemplateInfo().getScreenTemplate();
-            String templateName
-                = TurbineTemplate.getScreenTemplateName(screenTemplate);
-
-            // The Template Service could not find the Screen
-            if (StringUtils.isEmpty(templateName))
-            {
-                log.error("Screen " + screenTemplate + " not found!");
-                throw new Exception("Could not find screen for " + 
screenTemplate);
-            }
-
-            try
-            {
-                TurbineVelocity.handleRequest(context,
-                                              prefix + templateName,
-                                              data.getOut());
-
-            }
-            catch (Exception e)
-            {
-                // If there is an error, build a $processingException and
-                // attempt to call the error.vm template in the screens
-                // directory.
-                context.put 
(TurbineConstants.PROCESSING_EXCEPTION_PLACEHOLDER, e.toString());
-                context.put (TurbineConstants.STACK_TRACE_PLACEHOLDER, 
ExceptionUtils.getStackTrace(e));
-
-                templateName = Turbine.getConfiguration()
-                    .getString(TurbineConstants.TEMPLATE_ERROR_KEY,
-                               TurbineConstants.TEMPLATE_ERROR_VM);
-
-                TurbineVelocity.handleRequest(context,
-                        prefix + templateName,
-                        data.getOut());
-            }
+        String screenTemplate = data.getTemplateInfo().getScreenTemplate();
+        String templateName
+            = TurbineTemplate.getScreenTemplateName(screenTemplate);
 
-            return null;
+        // The Template Service could not find the Screen
+        if (StringUtils.isEmpty(templateName))
+        {
+            log.error("Screen " + screenTemplate + " not found!");
+            throw new Exception("Could not find screen for " + screenTemplate);
+        }
+
+        try
+        {
+            TurbineVelocity.handleRequest(context,
+                                          prefix + templateName,
+                                          
data.getResponse().getOutputStream());
+
+        }
+        catch (Exception e)
+        {
+            // If there is an error, build a $processingException and
+            // attempt to call the error.vm template in the screens
+            // directory.
+            context.put (TurbineConstants.PROCESSING_EXCEPTION_PLACEHOLDER, 
e.toString());
+            context.put (TurbineConstants.STACK_TRACE_PLACEHOLDER, 
ExceptionUtils.getStackTrace(e));
+
+            templateName = Turbine.getConfiguration()
+                .getString(TurbineConstants.TEMPLATE_ERROR_KEY,
+                           TurbineConstants.TEMPLATE_ERROR_VM);
+
+            TurbineVelocity.handleRequest(context,
+                    prefix + templateName,
+                    data.getResponse().getOutputStream());
+        }
+
+        return null;
     }
 }

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/AbstractValve.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/pipeline/AbstractValve.java?rev=757213&r1=757212&r2=757213&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/pipeline/AbstractValve.java 
(original)
+++ turbine/core/trunk/src/java/org/apache/turbine/pipeline/AbstractValve.java 
Sun Mar 22 16:43:31 2009
@@ -44,6 +44,7 @@
     public void initialize()
         throws Exception
     {
+        // empty
     }
 
     /**

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/CleanUpValve.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/pipeline/CleanUpValve.java?rev=757213&r1=757212&r2=757213&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/pipeline/CleanUpValve.java 
(original)
+++ turbine/core/trunk/src/java/org/apache/turbine/pipeline/CleanUpValve.java 
Sun Mar 22 16:43:31 2009
@@ -48,6 +48,7 @@
      */
     public CleanUpValve()
     {
+        // empty constructor
     }
 
     /**
@@ -77,7 +78,7 @@
     protected void cleanUp(PipelineData pipelineData)
         throws Exception
     {
-        RunData data = (RunData)getRunData(pipelineData);
+        RunData data = getRunData(pipelineData);
         // If a module has set data.acl = null, remove acl from
         // the session.
         if (data.getACL() == null)

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DefaultACLCreationValve.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/pipeline/DefaultACLCreationValve.java?rev=757213&r1=757212&r2=757213&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DefaultACLCreationValve.java
 (original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DefaultACLCreationValve.java
 Sun Mar 22 16:43:31 2009
@@ -25,8 +25,10 @@
 
 import org.apache.turbine.Turbine;
 import org.apache.turbine.TurbineConstants;
+import org.apache.turbine.modules.Action;
 import org.apache.turbine.modules.ActionLoader;
 import org.apache.turbine.modules.actions.AccessController;
+import org.apache.turbine.services.assemblerbroker.TurbineAssemblerBroker;
 import org.apache.turbine.util.RunData;
 import org.apache.turbine.util.TurbineException;
 
@@ -42,6 +44,7 @@
     extends AbstractValve
 {
     protected AccessController accessController = null;
+    private ActionLoader actionLoader;
 
     /**
      * Here we can setup objects that are thread safe and can be
@@ -51,7 +54,19 @@
     public DefaultACLCreationValve()
         throws Exception
     {
-
+        // empty constructor
+    }
+    
+    /**
+     * Initialize this valve for use in a pipeline.
+     * 
+     * @see org.apache.turbine.pipeline.AbstractValve#initialize()
+     */
+    public void initialize() throws Exception
+    {
+        super.initialize();
+        
+        this.actionLoader = 
(ActionLoader)TurbineAssemblerBroker.getLoader(Action.NAME);
     }
 
     /**
@@ -67,7 +82,7 @@
             // into the session for serialization.  Modules can null
             // out the ACL to force it to be rebuilt based on more
             // information.
-            ActionLoader.getInstance().exec(
+            actionLoader.exec(
                     pipelineData, Turbine.getConfiguration().getString(
                             TurbineConstants.ACTION_ACCESS_CONTROLLER_KEY,
                             
TurbineConstants.ACTION_ACCESS_CONTROLLER_DEFAULT));

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DefaultLoginValve.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/pipeline/DefaultLoginValve.java?rev=757213&r1=757212&r2=757213&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DefaultLoginValve.java 
(original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DefaultLoginValve.java 
Sun Mar 22 16:43:31 2009
@@ -31,7 +31,9 @@
 
 import org.apache.turbine.Turbine;
 import org.apache.turbine.TurbineConstants;
+import org.apache.turbine.modules.Action;
 import org.apache.turbine.modules.ActionLoader;
+import org.apache.turbine.services.assemblerbroker.TurbineAssemblerBroker;
 import org.apache.turbine.services.velocity.VelocityService;
 import org.apache.turbine.util.RunData;
 import org.apache.turbine.util.TurbineException;
@@ -49,6 +51,8 @@
 public class DefaultLoginValve
     extends AbstractValve
 {
+    private ActionLoader actionLoader;
+
     /**
      * Here we can setup objects that are thread safe and can be
      * reused. We setup the session validator and the access
@@ -57,6 +61,19 @@
     public DefaultLoginValve()
         throws Exception
     {
+        // empty constructor
+    }
+
+    /**
+     * Initialize this valve for use in a pipeline.
+     * 
+     * @see org.apache.turbine.pipeline.AbstractValve#initialize()
+     */
+    public void initialize() throws Exception
+    {
+        super.initialize();
+        
+        this.actionLoader = 
(ActionLoader)TurbineAssemblerBroker.getLoader(Action.NAME);
     }
 
     /**
@@ -87,7 +104,7 @@
     protected void process(PipelineData pipelineData)
         throws Exception
     {
-        RunData data = (RunData)getRunData(pipelineData);
+        RunData data = getRunData(pipelineData);
         // Special case for login and logout, this must happen before the
         // session validator is executed in order either to allow a user to
         // even login, or to ensure that the session validator gets to
@@ -142,7 +159,7 @@
             }
 
 
-            ActionLoader.getInstance().exec(pipelineData, data.getAction());
+            actionLoader.exec(pipelineData, data.getAction());
             cleanupTemplateContext(data);
             data.setAction(null);
         }

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DefaultSessionTimeoutValve.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/pipeline/DefaultSessionTimeoutValve.java?rev=757213&r1=757212&r2=757213&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DefaultSessionTimeoutValve.java
 (original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DefaultSessionTimeoutValve.java
 Sun Mar 22 16:43:31 2009
@@ -65,7 +65,7 @@
     public void invoke(PipelineData pipelineData, ValveContext context)
         throws IOException, TurbineException
     {
-        RunData runData = (RunData)getRunData(pipelineData);
+        RunData runData = getRunData(pipelineData);
         // If the session is new take this opportunity to
         // set the session timeout if specified in TR.properties
         if (runData.getSession().isNew() && timeout != 
TurbineConstants.SESSION_TIMEOUT_DEFAULT)

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DefaultSessionValidationValve.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/pipeline/DefaultSessionValidationValve.java?rev=757213&r1=757212&r2=757213&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DefaultSessionValidationValve.java
 (original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DefaultSessionValidationValve.java
 Sun Mar 22 16:43:31 2009
@@ -25,8 +25,10 @@
 
 import org.apache.turbine.Turbine;
 import org.apache.turbine.TurbineConstants;
+import org.apache.turbine.modules.Action;
 import org.apache.turbine.modules.ActionLoader;
 import org.apache.turbine.modules.actions.sessionvalidator.SessionValidator;
+import org.apache.turbine.services.assemblerbroker.TurbineAssemblerBroker;
 import org.apache.turbine.util.RunData;
 import org.apache.turbine.util.TurbineException;
 
@@ -42,12 +44,24 @@
     extends AbstractValve
 {
     protected SessionValidator sessionValidator = null;
-
+    private ActionLoader actionLoader;
 
     public DefaultSessionValidationValve()
         throws Exception
     {
+        // empty constructor
+    }
 
+    /**
+     * Initialize this valve for use in a pipeline.
+     * 
+     * @see org.apache.turbine.pipeline.AbstractValve#initialize()
+     */
+    public void initialize() throws Exception
+    {
+        super.initialize();
+        
+        this.actionLoader = 
(ActionLoader)TurbineAssemblerBroker.getLoader(Action.NAME);
     }
 
     /**
@@ -66,7 +80,7 @@
             // screen other than Login, you need to change that within
             // TurbineResources.properties...screen.homepage; or, you
             // can specify your own SessionValidator action.
-            ActionLoader.getInstance().exec(pipelineData,
+            actionLoader.exec(pipelineData,
                     Turbine.getConfiguration().getString(
                             TurbineConstants.ACTION_SESSION_VALIDATOR_KEY,
                             
TurbineConstants.ACTION_SESSION_VALIDATOR_DEFAULT));

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DetermineActionValve.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/pipeline/DetermineActionValve.java?rev=757213&r1=757212&r2=757213&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DetermineActionValve.java
 (original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DetermineActionValve.java
 Sun Mar 22 16:43:31 2009
@@ -41,38 +41,38 @@
     extends AbstractValve
 {
     private static final Log log
-        = LogFactory.getLog( DetermineActionValve.class );
+        = LogFactory.getLog(DetermineActionValve.class);
 
     /**
      * @see org.apache.turbine.Valve#invoke(RunData, ValveContext)
      */
-    public void invoke( PipelineData pipelineData, ValveContext context )
+    public void invoke(PipelineData pipelineData, ValveContext context)
         throws IOException, TurbineException
     {
-        RunData data = (RunData)getRunData(pipelineData);
-        if ( ! data.hasAction() )
+        RunData data = getRunData(pipelineData);
+        if (! data.hasAction())
         {
             String action =
-                data.getParameters().getString( URIConstants.CGI_ACTION_PARAM 
);
+                data.getParameters().getString(URIConstants.CGI_ACTION_PARAM);
 
-            if ( action != null )
+            if (action != null)
             {
-                data.setAction( action );
+                data.setAction(action);
 
-                log.debug( "Set action from request parameter" );
+                log.debug("Set action from request parameter");
             }
             else
             {
-                log.debug( "No action" );
+                log.debug("No action");
             }
         }
 
-        if ( log.isDebugEnabled() )
+        if (log.isDebugEnabled())
         {
-            log.debug( "Action is now: " + data.getAction() );
+            log.debug("Action is now: " + data.getAction());
         }
 
         // Pass control to the next Valve in the Pipeline
-        context.invokeNext( pipelineData );
+        context.invokeNext(pipelineData);
     }
 }

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DetermineRedirectRequestedValve.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/pipeline/DetermineRedirectRequestedValve.java?rev=757213&r1=757212&r2=757213&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DetermineRedirectRequestedValve.java
 (original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DetermineRedirectRequestedValve.java
 Sun Mar 22 16:43:31 2009
@@ -39,12 +39,13 @@
 public class DetermineRedirectRequestedValve
     extends AbstractValve
 {
-    Log log = LogFactory.getLog(DetermineRedirectRequestedValve.class);
+    private static final Log log = 
LogFactory.getLog(DetermineRedirectRequestedValve.class);
     /**
      * Creates a new instance.
      */
     public DetermineRedirectRequestedValve()
     {
+        // empty constructor
     }
 
     /**
@@ -74,7 +75,7 @@
     protected void redirectRequested(PipelineData pipelineData)
         throws Exception
     {
-        RunData data = (RunData)getRunData(pipelineData);
+        RunData data = getRunData(pipelineData);
         // handle a redirect request
         boolean requestRedirected = ((data.getRedirectURI() != null)
         && (data.getRedirectURI().length() > 0));
@@ -115,7 +116,7 @@
                     // Set the status code.
                     data.getResponse().setStatus(data.getStatusCode());
                     // Output the Page.
-                    data.getPage().output(data.getOut());
+                    data.getPage().output(data.getResponse().getWriter());
                 }
             }
             catch (Exception e)

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DetermineTargetValve.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/pipeline/DetermineTargetValve.java?rev=757213&r1=757212&r2=757213&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DetermineTargetValve.java
 (original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/DetermineTargetValve.java
 Sun Mar 22 16:43:31 2009
@@ -45,43 +45,43 @@
     extends AbstractValve
 {
     private static final Log log
-        = LogFactory.getLog( DetermineTargetValve.class );
+        = LogFactory.getLog(DetermineTargetValve.class);
 
     /**
      * @see org.apache.turbine.Valve#invoke(RunData, ValveContext)
      */
-    public void invoke( PipelineData pipelineData, ValveContext context )
+    public void invoke(PipelineData pipelineData, ValveContext context)
         throws IOException, TurbineException
     {
-        RunData runData = (RunData)getRunData(pipelineData);
-        if ( ! runData.hasScreen() )
+        RunData runData = getRunData(pipelineData);
+        if (! runData.hasScreen())
         {
             String target = 
runData.getParameters().getString(URIConstants.CGI_SCREEN_PARAM);
 
-            if ( target != null )
+            if (target != null)
             {
-                runData.setScreen( target );
+                runData.setScreen(target);
 
-                log.debug( "Set screen target from request parameter" );
+                log.debug("Set screen target from request parameter");
             }
             else
             {
-            /*    data.setScreen( Turbine.getConfiguration().getString(
-                    Turbine.TEMPLATE_HOMEPAGE ) );
+            /*    data.setScreen(Turbine.getConfiguration().getString(
+                    Turbine.TEMPLATE_HOMEPAGE));
 
-                log.debug( "Set target using default value" );
+                log.debug("Set target using default value");
                 */
-                               log.debug( "No target screen" );
+                               log.debug("No target screen");
             }
 
         }
 
-        if ( log.isDebugEnabled() )
+        if (log.isDebugEnabled())
         {
-            log.debug( "Screen Target is now: " + runData.getScreen() );
+            log.debug("Screen Target is now: " + runData.getScreen());
         }
 
         // Pass control to the next Valve in the Pipeline
-        context.invokeNext( pipelineData );
+        context.invokeNext(pipelineData);
     }
 }

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/ExecutePageValve.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/pipeline/ExecutePageValve.java?rev=757213&r1=757212&r2=757213&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/ExecutePageValve.java 
(original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/pipeline/ExecutePageValve.java 
Sun Mar 22 16:43:31 2009
@@ -23,14 +23,11 @@
 
 import java.io.IOException;
 
-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.modules.Page;
 import org.apache.turbine.modules.PageLoader;
-import org.apache.turbine.pipeline.AbstractValve;
-import org.apache.turbine.pipeline.PipelineData;
-import org.apache.turbine.pipeline.ValveContext;
+import org.apache.turbine.services.assemblerbroker.TurbineAssemblerBroker;
 import org.apache.turbine.services.template.TemplateService;
 import org.apache.turbine.services.template.TurbineTemplate;
 import org.apache.turbine.util.RunData;
@@ -47,14 +44,28 @@
 public class ExecutePageValve
     extends AbstractValve
 {
-    Log log = LogFactory.getLog(ExecutePageValve.class);
-    TemplateService templateService;
+    private TemplateService templateService;
+    private PageLoader pageLoader;
+    
     /**
      * Creates a new instance.
      */
     public ExecutePageValve()
     {
-
+        // empty constructor
+    }
+    
+    /**
+     * Initialize this valve for use in a pipeline.
+     * 
+     * @see org.apache.turbine.pipeline.AbstractValve#initialize()
+     */
+    public void initialize() throws Exception
+    {
+        super.initialize();
+        
+        this.templateService = TurbineTemplate.getService();
+        this.pageLoader = 
(PageLoader)TurbineAssemblerBroker.getLoader(Page.NAME);
     }
 
     /**
@@ -84,7 +95,7 @@
     protected void executePage(PipelineData pipelineData)
         throws Exception
     {
-        RunData data = (RunData)getRunData(pipelineData);
+        RunData data = getRunData(pipelineData);
 
         // Start the execution phase. DefaultPage will execute the
         // appropriate action as well as get the Layout from the
@@ -98,10 +109,6 @@
         // than just the default page.  If you do, add logic to
         // DefaultPage to do what you want.
 
-        // see if this should be static or not...  Or loaded from
-        // Turbine.java.
-        templateService = TurbineTemplate.getService();
-
         String defaultPage = (templateService == null)
         ? null :templateService.getDefaultPageName(data);
 
@@ -122,7 +129,6 @@
                     TurbineConstants.PAGE_DEFAULT_DEFAULT);
         }
 
-        PageLoader.getInstance().exec(pipelineData, defaultPage);
-
+        pageLoader.exec(pipelineData, defaultPage);
     }
 }

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/services/jsp/TurbineJspService.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/jsp/TurbineJspService.java?rev=757213&r1=757212&r2=757213&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/services/jsp/TurbineJspService.java
 (original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/services/jsp/TurbineJspService.java
 Sun Mar 22 16:43:31 2009
@@ -29,12 +29,9 @@
 import javax.servlet.http.HttpServletRequest;
 
 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.services.InitializationException;
 import org.apache.turbine.services.pull.ApplicationTool;
@@ -176,7 +173,7 @@
         // get the RequestDispatcher for the JSP
         RequestDispatcher dispatcher = data.getServletContext()
             .getRequestDispatcher(relativeTemplateName);
-
+        
         try
         {
             if (isForward)
@@ -186,7 +183,7 @@
             }
             else
             {
-                data.getOut().flush();
+                data.getResponse().getWriter().flush();
                 // include the JSP
                 dispatcher.include(data.getRequest(), data.getResponse());
             }
@@ -197,9 +194,9 @@
             // error message to the browser, to speed up debugging
             try
             {
-                data.getOut().print("Error encountered processing a template: "
+                data.getResponse().getWriter().print("Error encountered 
processing a template: "
                     + templateName);
-                e.printStackTrace(data.getOut());
+                e.printStackTrace(data.getResponse().getWriter());
             }
             catch (IOException ignored)
             {

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/services/jsp/util/JspNavigation.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/jsp/util/JspNavigation.java?rev=757213&r1=757212&r2=757213&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/services/jsp/util/JspNavigation.java
 (original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/services/jsp/util/JspNavigation.java
 Sun Mar 22 16:43:31 2009
@@ -81,7 +81,7 @@
             log.error(message, e);
             try
             {
-                data.getOut().print("Error processing navigation template: "
+                data.getResponse().getWriter().print("Error processing 
navigation template: "
                         + template + " using module: " + module);
             }
             catch (java.io.IOException ioe)

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/services/jsp/util/JspScreenPlaceholder.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/jsp/util/JspScreenPlaceholder.java?rev=757213&r1=757212&r2=757213&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/services/jsp/util/JspScreenPlaceholder.java
 (original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/services/jsp/util/JspScreenPlaceholder.java
 Sun Mar 22 16:43:31 2009
@@ -23,8 +23,9 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-
+import org.apache.turbine.modules.Screen;
 import org.apache.turbine.modules.ScreenLoader;
+import org.apache.turbine.services.assemblerbroker.TurbineAssemblerBroker;
 import org.apache.turbine.services.template.TurbineTemplate;
 import org.apache.turbine.util.RunData;
 
@@ -51,6 +52,8 @@
     /* The RunData object */
     private RunData data;
 
+    private ScreenLoader screenLoader;
+
     /**
      * Constructor
      *
@@ -59,6 +62,7 @@
     public JspScreenPlaceholder(RunData data)
     {
         this.data = data;
+        this.screenLoader = 
(ScreenLoader)TurbineAssemblerBroker.getLoader(Screen.NAME);
     }
 
     /**
@@ -72,7 +76,7 @@
         {
             template = data.getTemplateInfo().getScreenTemplate();
             module = TurbineTemplate.getScreenName(template);
-            ScreenLoader.getInstance().exec(data, module);
+            screenLoader.exec(data, module);
         }
         catch (Exception e)
         {
@@ -81,11 +85,12 @@
             log.error(message, e);
             try
             {
-                data.getOut().print("Error processing navigation template: "
+                data.getResponse().getWriter().print("Error processing 
navigation template: "
                         + template + " using module: " + module);
             }
             catch (java.io.IOException ioe)
             {
+                // ignore
             }
         }
     }

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/util/template/TemplateScreen.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/util/template/TemplateScreen.java?rev=757213&r1=757212&r2=757213&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/util/template/TemplateScreen.java
 (original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/util/template/TemplateScreen.java
 Sun Mar 22 16:43:31 2009
@@ -23,10 +23,10 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-
 import org.apache.ecs.ConcreteElement;
-
+import org.apache.turbine.modules.Screen;
 import org.apache.turbine.modules.ScreenLoader;
+import org.apache.turbine.services.assemblerbroker.TurbineAssemblerBroker;
 import org.apache.turbine.util.RunData;
 
 /**
@@ -59,6 +59,8 @@
     /* The name of the screen template. */
     private String screen;
 
+    private ScreenLoader screenLoader;
+
     /**
      * Constructor
      *
@@ -68,6 +70,7 @@
     {
         this.data = data;
         this.screen = data.getScreen();
+        this.screenLoader = 
(ScreenLoader)TurbineAssemblerBroker.getLoader(Screen.NAME);
     }
 
     /**
@@ -93,8 +96,7 @@
 
         try
         {
-            ConcreteElement results = ScreenLoader.getInstance()
-                    .eval(data, this.screen);
+            ConcreteElement results = screenLoader.eval(data, this.screen);
 
             if (results != null)
             {

Modified: 
turbine/core/trunk/src/test/org/apache/turbine/pipeline/DefaultACLCreationValveTest.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/test/org/apache/turbine/pipeline/DefaultACLCreationValveTest.java?rev=757213&r1=757212&r2=757213&view=diff
==============================================================================
--- 
turbine/core/trunk/src/test/org/apache/turbine/pipeline/DefaultACLCreationValveTest.java
 (original)
+++ 
turbine/core/trunk/src/test/org/apache/turbine/pipeline/DefaultACLCreationValveTest.java
 Sun Mar 22 16:43:31 2009
@@ -117,6 +117,7 @@
 
         DefaultACLCreationValve valve = new DefaultACLCreationValve();
         pipeline.addValve(valve);
+        pipeline.initialize();
 
         pipeline.invoke(pipelineData);
         User user = runData.getUser();

Modified: 
turbine/core/trunk/src/test/org/apache/turbine/pipeline/DefaultLoginValveTest.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/test/org/apache/turbine/pipeline/DefaultLoginValveTest.java?rev=757213&r1=757212&r2=757213&view=diff
==============================================================================
--- 
turbine/core/trunk/src/test/org/apache/turbine/pipeline/DefaultLoginValveTest.java
 (original)
+++ 
turbine/core/trunk/src/test/org/apache/turbine/pipeline/DefaultLoginValveTest.java
 Sun Mar 22 16:43:31 2009
@@ -122,6 +122,7 @@
 
         DefaultLoginValve valve = new DefaultLoginValve();
         pipeline.addValve(valve);
+        pipeline.initialize();
 
         pipeline.invoke(pipelineData);
         User user = runData.getUser();

Modified: 
turbine/core/trunk/src/test/org/apache/turbine/pipeline/DefaultSessionValidationValveTest.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/test/org/apache/turbine/pipeline/DefaultSessionValidationValveTest.java?rev=757213&r1=757212&r2=757213&view=diff
==============================================================================
--- 
turbine/core/trunk/src/test/org/apache/turbine/pipeline/DefaultSessionValidationValveTest.java
 (original)
+++ 
turbine/core/trunk/src/test/org/apache/turbine/pipeline/DefaultSessionValidationValveTest.java
 Sun Mar 22 16:43:31 2009
@@ -123,6 +123,7 @@
 
         DefaultSessionValidationValve valve = new 
DefaultSessionValidationValve();
         pipeline.addValve(valve);
+        pipeline.initialize();
 
         pipeline.invoke(pipelineData);
         User user = runData.getUser();
@@ -155,6 +156,7 @@
 
         DefaultSessionValidationValve valve = new 
DefaultSessionValidationValve();
         pipeline.addValve(valve);
+        pipeline.initialize();
 
         pipeline.invoke(pipelineData);
         User user = runData.getUser();

Modified: 
turbine/core/trunk/src/test/org/apache/turbine/pipeline/ExecutePageValveTest.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/test/org/apache/turbine/pipeline/ExecutePageValveTest.java?rev=757213&r1=757212&r2=757213&view=diff
==============================================================================
--- 
turbine/core/trunk/src/test/org/apache/turbine/pipeline/ExecutePageValveTest.java
 (original)
+++ 
turbine/core/trunk/src/test/org/apache/turbine/pipeline/ExecutePageValveTest.java
 Sun Mar 22 16:43:31 2009
@@ -126,6 +126,7 @@
         PipelineData pipelineData = runData;
         ExecutePageValve valve = new ExecutePageValve();
         pipeline.addValve(valve);
+        pipeline.initialize();
 
         int numberOfCalls = VelocityActionDoesNothing.numberOfCalls;
         pipeline.invoke(pipelineData);

Modified: turbine/core/trunk/xdocs/changes.xml
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/xdocs/changes.xml?rev=757213&r1=757212&r2=757213&view=diff
==============================================================================
--- turbine/core/trunk/xdocs/changes.xml (original)
+++ turbine/core/trunk/xdocs/changes.xml Sun Mar 22 16:43:31 2009
@@ -26,6 +26,14 @@
   <body>
     <release version="4.0-dev" date="in Subversion">
       <action type="update" dev="tv">
+        Moved the initialization of the pipeline so that all services are
+        initialized first and can be used in the pipeline.
+      </action>
+      <action type="update" dev="tv">
+        Added a getLoader() method to the AssemblerBrokerService to allow 
dynamic
+        loaders. Loaders are expected to be provided by the module factories.
+      </action>
+      <action type="update" dev="tv">
         Moved the different loader caches into the AssemblerBrokerService and 
         centralized several loader features. The loaders do no longer extend
         Hashtable.


Reply via email to