Author: apetrelli
Date: Tue Jul 28 18:15:25 2009
New Revision: 798632

URL: http://svn.apache.org/viewvc?rev=798632&view=rev
Log:
TILES-450
Added getTilesRequestContextFactoriesToBeChained method.

Modified:
    
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/factory/BasicTilesContainerFactory.java
    
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/factory/TestDbTilesContainerFactory.java
    
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/factory/TestTilesContainerFactory.java

Modified: 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/factory/BasicTilesContainerFactory.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/factory/BasicTilesContainerFactory.java?rev=798632&r1=798631&r2=798632&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/factory/BasicTilesContainerFactory.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/factory/BasicTilesContainerFactory.java
 Tue Jul 28 18:15:25 2009
@@ -71,11 +71,6 @@
 public class BasicTilesContainerFactory extends AbstractTilesContainerFactory {
 
     /**
-     * The count of elements in the Tiles context factory chain.
-     */
-    private static final int CONTEXT_FACTORY_CHAIN_COUNT = 3;
-
-    /**
      * The logging object.
      */
     private final Logger log = LoggerFactory
@@ -139,18 +134,31 @@
      */
     protected void registerChainedRequestContextFactories(
             ChainedTilesRequestContextFactory contextFactory) {
-        List<TilesRequestContextFactory> factories = new 
ArrayList<TilesRequestContextFactory>(
-                CONTEXT_FACTORY_CHAIN_COUNT);
+        List<TilesRequestContextFactory> factories = 
getTilesRequestContextFactoriesToBeChained(contextFactory);
+        contextFactory.setFactories(factories);
+    }
+
+    /**
+     * Returns the list of {...@link TilesRequestContextFactory} instances to 
be
+     * chained together.
+     *
+     * @param parent The parent factory.
+     * @return The list of factories.
+     * @since 2.2.0
+     */
+    protected List<TilesRequestContextFactory> 
getTilesRequestContextFactoriesToBeChained(
+            ChainedTilesRequestContextFactory parent) {
+        List<TilesRequestContextFactory> factories = new 
ArrayList<TilesRequestContextFactory>();
         registerRequestContextFactory(
                 
"org.apache.tiles.servlet.context.ServletTilesRequestContextFactory",
-                factories, contextFactory);
+                factories, parent);
         registerRequestContextFactory(
                 
"org.apache.tiles.portlet.context.PortletTilesRequestContextFactory",
-                factories, contextFactory);
+                factories, parent);
         registerRequestContextFactory(
                 "org.apache.tiles.jsp.context.JspTilesRequestContextFactory",
-                factories, contextFactory);
-        contextFactory.setFactories(factories);
+                factories, parent);
+        return factories;
     }
 
     /**

Modified: 
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/factory/TestDbTilesContainerFactory.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/factory/TestDbTilesContainerFactory.java?rev=798632&r1=798631&r2=798632&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/factory/TestDbTilesContainerFactory.java
 (original)
+++ 
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/factory/TestDbTilesContainerFactory.java
 Tue Jul 28 18:15:25 2009
@@ -21,7 +21,6 @@
 
 package org.apache.tiles.test.factory;
 
-import java.util.ArrayList;
 import java.util.List;
 import java.util.Locale;
 
@@ -46,11 +45,6 @@
  */
 public class TestDbTilesContainerFactory extends BasicTilesContainerFactory {
 
-    /**
-     * The number of registered factories.
-     */
-    private static final int FACTORY_SIZE = 4;
-
     /** {...@inheritdoc} */
     @Override
     protected DefinitionDAO<Locale> 
createLocaleDefinitionDao(TilesApplicationContext applicationContext,
@@ -72,22 +66,15 @@
 
     /** {...@inheritdoc} */
     @Override
-    protected void registerChainedRequestContextFactories(
-            ChainedTilesRequestContextFactory contextFactory) {
-        List<TilesRequestContextFactory> factories = new 
ArrayList<TilesRequestContextFactory>(
-                FACTORY_SIZE);
-        registerRequestContextFactory(
-                
"org.apache.tiles.servlet.context.ServletTilesRequestContextFactory",
-                factories, contextFactory);
-        registerRequestContextFactory(
-                "org.apache.tiles.jsp.context.JspTilesRequestContextFactory",
-                factories, contextFactory);
+    protected List<TilesRequestContextFactory> 
getTilesRequestContextFactoriesToBeChained(
+            ChainedTilesRequestContextFactory parent) {
+        List<TilesRequestContextFactory> factories = 
super.getTilesRequestContextFactoriesToBeChained(parent);
         registerRequestContextFactory(
                 FreeMarkerTilesRequestContextFactory.class.getName(),
-                factories, contextFactory);
+                factories, parent);
         registerRequestContextFactory(
                 VelocityTilesRequestContextFactory.class.getName(),
-                factories, contextFactory);
-        contextFactory.setFactories(factories);
+                factories, parent);
+        return factories;
     }
 }

Modified: 
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/factory/TestTilesContainerFactory.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/factory/TestTilesContainerFactory.java?rev=798632&r1=798631&r2=798632&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/factory/TestTilesContainerFactory.java
 (original)
+++ 
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/factory/TestTilesContainerFactory.java
 Tue Jul 28 18:15:25 2009
@@ -88,11 +88,6 @@
 public class TestTilesContainerFactory extends BasicTilesContainerFactory {
 
     /**
-     * The number of registered factories.
-     */
-    private static final int FACTORY_SIZE = 4;
-
-    /**
      * The number of URLs to load..
      */
     private static final int URL_COUNT = 7;
@@ -103,30 +98,19 @@
             TilesApplicationContext applicationContext) {
         return new CachingTilesContainer();
     }
-    /**
-     * Register elements of a chained request context factory.
-     *
-     * @param contextFactory The request context factory to use.
-     * @since 2.1.1
-     */
+
+    /** {...@inheritdoc} */
     @Override
-    protected void registerChainedRequestContextFactories(
-            ChainedTilesRequestContextFactory contextFactory) {
-        List<TilesRequestContextFactory> factories = new 
ArrayList<TilesRequestContextFactory>(
-                FACTORY_SIZE);
-        registerRequestContextFactory(
-                
"org.apache.tiles.servlet.context.ServletTilesRequestContextFactory",
-                factories, contextFactory);
-        registerRequestContextFactory(
-                "org.apache.tiles.jsp.context.JspTilesRequestContextFactory",
-                factories, contextFactory);
+    protected List<TilesRequestContextFactory> 
getTilesRequestContextFactoriesToBeChained(
+            ChainedTilesRequestContextFactory parent) {
+        List<TilesRequestContextFactory> factories = 
super.getTilesRequestContextFactoriesToBeChained(parent);
         registerRequestContextFactory(
                 FreeMarkerTilesRequestContextFactory.class.getName(),
-                factories, contextFactory);
+                factories, parent);
         registerRequestContextFactory(
                 VelocityTilesRequestContextFactory.class.getName(),
-                factories, contextFactory);
-        contextFactory.setFactories(factories);
+                factories, parent);
+        return factories;
     }
 
     /** {...@inheritdoc} */


Reply via email to