You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tiles.apache.org by ap...@apache.org on 2009/07/28 20:15:26 UTC

svn commit: r798632 - in /tiles/framework/trunk: tiles-core/src/main/java/org/apache/tiles/factory/ tiles-test/src/main/java/org/apache/tiles/test/factory/

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} */