Modified: 
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/impl/BasicTilesContainerTest.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/impl/BasicTilesContainerTest.java?rev=722062&r1=722061&r2=722062&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/impl/BasicTilesContainerTest.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/impl/BasicTilesContainerTest.java
 Mon Dec  1 05:09:09 2008
@@ -22,23 +22,23 @@
 
 import java.io.IOException;
 import java.io.StringWriter;
-import java.net.MalformedURLException;
 import java.net.URL;
-import java.util.Vector;
-
-import javax.servlet.ServletContext;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
 
 import junit.framework.TestCase;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.tiles.Attribute;
+import org.apache.tiles.TilesApplicationContext;
 import org.apache.tiles.TilesException;
 import org.apache.tiles.context.ChainedTilesApplicationContextFactory;
 import org.apache.tiles.context.ChainedTilesRequestContextFactory;
 import org.apache.tiles.context.TilesRequestContext;
 import org.apache.tiles.factory.AbstractTilesContainerFactory;
-import org.apache.tiles.factory.TilesContainerFactory;
 import org.apache.tiles.mock.RepeaterTilesApplicationContextFactory;
 import org.apache.tiles.mock.RepeaterTilesRequestContextFactory;
 import org.easymock.EasyMock;
@@ -66,36 +66,30 @@
     private BasicTilesContainer container;
 
     /** [EMAIL PROTECTED] */
-    @SuppressWarnings("deprecation")
     @Override
     public void setUp() {
-        ServletContext context = EasyMock.createMock(ServletContext.class);
+        TilesApplicationContext context = EasyMock
+                .createMock(TilesApplicationContext.class);
+        Map<String, String> initParams = new HashMap<String, String>();
         URL url = 
getClass().getResource("/org/apache/tiles/factory/test-defs.xml");
 
-        Vector<String> v = new Vector<String>();
-        v.add(ChainedTilesApplicationContextFactory.FACTORY_CLASS_NAMES);
-        v.add(ChainedTilesRequestContextFactory.FACTORY_CLASS_NAMES);
-
-        EasyMock.expect(context.getInitParameter(
-                ChainedTilesApplicationContextFactory.FACTORY_CLASS_NAMES))
-                .andReturn(RepeaterTilesApplicationContextFactory.class
-                        .getName());
-        EasyMock.expect(context.getInitParameter(
-                ChainedTilesRequestContextFactory.FACTORY_CLASS_NAMES))
-                .andReturn(RepeaterTilesRequestContextFactory.class.getName());
-        EasyMock.expect(context.getInitParameter(
-                
AbstractTilesContainerFactory.CONTAINER_FACTORY_INIT_PARAM)).andReturn(null);
-        
EasyMock.expect(context.getInitParameter(TilesContainerFactory.CONTAINER_FACTORY_INIT_PARAM)).andReturn(null);
-        
EasyMock.expect(context.getInitParameter(TilesContainerFactory.CONTEXT_FACTORY_INIT_PARAM)).andReturn(null);
-        
EasyMock.expect(context.getInitParameter(TilesContainerFactory.DEFINITIONS_FACTORY_INIT_PARAM)).andReturn(null);
-        
EasyMock.expect(context.getInitParameter(EasyMock.isA(String.class))).andReturn(null).anyTimes();
-        
EasyMock.expect(context.getInitParameterNames()).andReturn(v.elements()).anyTimes();
+        initParams.put(
+                ChainedTilesApplicationContextFactory.FACTORY_CLASS_NAMES,
+                RepeaterTilesApplicationContextFactory.class.getName());
+        initParams.put(
+                ChainedTilesRequestContextFactory.FACTORY_CLASS_NAMES,
+                RepeaterTilesRequestContextFactory.class.getName());
         try {
-            
EasyMock.expect(context.getResource("/WEB-INF/tiles.xml")).andReturn(url);
-        } catch (MalformedURLException e) {
+            Set<URL> urls = new HashSet<URL>();
+            urls.add(url);
+            EasyMock.expect(context.getResources("/WEB-INF/tiles.xml"))
+                    .andReturn(urls);
+        } catch (IOException e) {
             throw new RuntimeException("Error getting Tiles configuration URL",
                     e);
         }
+        EasyMock.expect(context.getInitParams()).andReturn(initParams)
+                .anyTimes();
         EasyMock.replay(context);
         AbstractTilesContainerFactory factory = AbstractTilesContainerFactory
                 .getTilesContainerFactory(context);

Modified: 
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/impl/KeyedDefinitionsFactoryTilesContainerTest.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/impl/KeyedDefinitionsFactoryTilesContainerTest.java?rev=722062&r1=722061&r2=722062&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/impl/KeyedDefinitionsFactoryTilesContainerTest.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/impl/KeyedDefinitionsFactoryTilesContainerTest.java
 Mon Dec  1 05:09:09 2008
@@ -23,12 +23,10 @@
 import java.io.IOException;
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
-import java.util.Vector;
 
 import junit.framework.TestCase;
 
@@ -43,7 +41,6 @@
 import 
org.apache.tiles.impl.KeyedDefinitionsFactoryTilesContainer.DefaultKeyExtractor;
 import org.apache.tiles.mock.RepeaterTilesApplicationContextFactory;
 import org.apache.tiles.mock.RepeaterTilesRequestContextFactory;
-import org.apache.tiles.util.RollingVectorEnumeration;
 import org.easymock.EasyMock;
 
 
@@ -65,51 +62,11 @@
     /** [EMAIL PROTECTED] */
     @Override
     public void setUp() {
-        ContextLikeTilesApplicationContext context = EasyMock
-                .createMock(ContextLikeTilesApplicationContext.class);
-
-        Vector<String> v = new Vector<String>();
-        v.add(AbstractTilesContainerFactory.CONTAINER_FACTORY_INIT_PARAM);
-        
v.add(KeyedDefinitionsFactoryTilesContainerFactory.CONTAINER_KEYS_INIT_PARAM);
-        v.add(KeyedDefinitionsFactoryTilesContainer.DEFINITIONS_CONFIG_PREFIX
-                + "one");
-        v.add(KeyedDefinitionsFactoryTilesContainer.DEFINITIONS_CONFIG_PREFIX
-                + "two");
-        v.add(ChainedTilesApplicationContextFactory.FACTORY_CLASS_NAMES);
-        v.add(ChainedTilesRequestContextFactory.FACTORY_CLASS_NAMES);
+        TilesApplicationContext context = EasyMock
+                .createMock(TilesApplicationContext.class);
 
         Map<String, String> initParameters = new HashMap<String, String>();
-        EasyMock.expect(context.getInitParams()).andReturn(initParameters);
 
-        EasyMock.expect(context.getInitParameter(
-                AbstractTilesContainerFactory.CONTAINER_FACTORY_INIT_PARAM))
-                .andReturn(KeyedDefinitionsFactoryTilesContainerFactory.class
-                        .getName());
-        EasyMock.expect(context.getInitParameter(TilesContainerFactory
-                .CONTAINER_FACTORY_MUTABLE_INIT_PARAM)).andReturn(null);
-        EasyMock.expect(context.getInitParameter(TilesContainerFactory
-                .APPLICATION_CONTEXT_FACTORY_INIT_PARAM)).andReturn(null);
-        EasyMock.expect(context.getInitParameter(TilesContainerFactory
-                .REQUEST_CONTEXT_FACTORY_INIT_PARAM)).andReturn(null);
-        EasyMock.expect(context.getInitParameter(
-                ChainedTilesApplicationContextFactory.FACTORY_CLASS_NAMES))
-                .andReturn(RepeaterTilesApplicationContextFactory.class
-                        .getName());
-        EasyMock.expect(context.getInitParameter(
-                ChainedTilesRequestContextFactory.FACTORY_CLASS_NAMES))
-                .andReturn(RepeaterTilesRequestContextFactory.class.getName());
-        
EasyMock.expect(context.getInitParameter(TilesContainerFactory.DEFINITIONS_FACTORY_INIT_PARAM)).andReturn(null);
-        EasyMock.expect(context.getInitParameter(
-                
KeyedDefinitionsFactoryTilesContainerFactory.CONTAINER_KEYS_INIT_PARAM))
-                .andReturn("one,two").anyTimes();
-        EasyMock.expect(context.getInitParameter(
-                KeyedDefinitionsFactoryTilesContainer.DEFINITIONS_CONFIG_PREFIX
-                + "one")).andReturn("/WEB-INF/tiles-one.xml").anyTimes();
-        EasyMock.expect(context.getInitParameter(
-                KeyedDefinitionsFactoryTilesContainer.DEFINITIONS_CONFIG_PREFIX
-                + "two")).andReturn("/WEB-INF/tiles-two.xml").anyTimes();
-        
EasyMock.expect(context.getInitParameter(EasyMock.isA(String.class))).andReturn(null).anyTimes();
-        EasyMock.expect(context.getInitParameterNames()).andReturn(new 
RollingVectorEnumeration<String>(v)).anyTimes();
         initParameters.put(
                 AbstractTilesContainerFactory.CONTAINER_FACTORY_INIT_PARAM,
                 KeyedDefinitionsFactoryTilesContainerFactory.class.getName());
@@ -128,6 +85,8 @@
         initParameters.put(
                 KeyedDefinitionsFactoryTilesContainer.DEFINITIONS_CONFIG_PREFIX
                 + "two", "/WEB-INF/tiles-two.xml");
+        EasyMock.expect(context.getInitParams()).andReturn(initParameters)
+                .anyTimes();
         try {
             Set<URL> urlSet;
             URL url = 
getClass().getResource("/org/apache/tiles/factory/test-defs.xml");
@@ -172,40 +131,23 @@
      *
      * @throws IOException If something goes wrong.
      */
-    @SuppressWarnings("deprecation")
     public void testPostponedDefinitionsFactoryInitialization()
             throws IOException {
         KeyedDefinitionsFactoryTilesContainer container;
-        ContextLikeTilesApplicationContext context = EasyMock
-                .createMock(ContextLikeTilesApplicationContext.class);
+        TilesApplicationContext context = EasyMock
+                .createMock(TilesApplicationContext.class);
 
-
-        Vector<String> v = new Vector<String>();
-        v.add(AbstractTilesContainerFactory.CONTAINER_FACTORY_INIT_PARAM);
-        v.add(ChainedTilesApplicationContextFactory.FACTORY_CLASS_NAMES);
-        v.add(ChainedTilesRequestContextFactory.FACTORY_CLASS_NAMES);
-
-        EasyMock.expect(context.getInitParameter(
-                AbstractTilesContainerFactory.CONTAINER_FACTORY_INIT_PARAM))
-                
.andReturn(KeyedDefinitionsFactoryTilesContainerFactory.class.getName())
+        Map<String, String> initParams = new HashMap<String, String>();
+        initParams.put(
+                AbstractTilesContainerFactory.CONTAINER_FACTORY_INIT_PARAM,
+                KeyedDefinitionsFactoryTilesContainerFactory.class.getName());
+        initParams.put(
+                ChainedTilesApplicationContextFactory.FACTORY_CLASS_NAMES,
+                RepeaterTilesApplicationContextFactory.class.getName());
+        initParams.put(ChainedTilesRequestContextFactory.FACTORY_CLASS_NAMES,
+                ChainedTilesRequestContextFactory.FACTORY_CLASS_NAMES);
+        EasyMock.expect(context.getInitParams()).andReturn(initParams)
                 .anyTimes();
-        EasyMock.expect(context.getInitParameter(
-                ChainedTilesApplicationContextFactory.FACTORY_CLASS_NAMES))
-                .andReturn(RepeaterTilesApplicationContextFactory.class
-                        .getName());
-        EasyMock.expect(context.getInitParameter(
-                ChainedTilesRequestContextFactory.FACTORY_CLASS_NAMES))
-                .andReturn(RepeaterTilesRequestContextFactory.class.getName());
-        
EasyMock.expect(context.getInitParameter(TilesContainerFactory.CONTEXT_FACTORY_INIT_PARAM)).andReturn(null);
-        
EasyMock.expect(context.getInitParameter(TilesContainerFactory.DEFINITIONS_FACTORY_INIT_PARAM)).andReturn(null);
-        
EasyMock.expect(context.getInitParameter(DefinitionsFactory.DEFINITIONS_CONFIG)).andReturn(null);
-        
EasyMock.expect(context.getInitParameter(BasicTilesContainer.DEFINITIONS_CONFIG)).andReturn(null);
-        
EasyMock.expect(context.getInitParameter("definitions-config")).andReturn(null);
-        EasyMock.expect(context.getInitParameter(TilesContainerFactory
-                .CONTAINER_FACTORY_MUTABLE_INIT_PARAM)).andReturn(null);
-        EasyMock.expect(context.getInitParameter(
-                
KeyedDefinitionsFactoryTilesContainerFactory.CONTAINER_KEYS_INIT_PARAM))
-                .andReturn(null);
         Set<URL> urlSet = new HashSet<URL>();
         URL url = 
getClass().getResource("/org/apache/tiles/factory/test-defs.xml");
         urlSet = new HashSet<URL>();
@@ -219,7 +161,6 @@
         urlSet = new HashSet<URL>();
         urlSet.add(url);
         
EasyMock.expect(context.getResources("/WEB-INF/tiles-two.xml")).andReturn(urlSet);
-        
EasyMock.expect(context.getInitParameterNames()).andReturn(v.elements()).anyTimes();
         EasyMock.replay(context);
         KeyedDefinitionsFactoryTilesContainerFactory factory =
             (KeyedDefinitionsFactoryTilesContainerFactory)
@@ -232,7 +173,7 @@
         assertNull(container.getProperDefinitionsFactory("one"));
         assertNull(container.getProperDefinitionsFactory("two"));
 
-        Map<String, String> initParams = new HashMap<String, String>();
+        initParams = new HashMap<String, String>();
         initParams.put(DefinitionsFactory.DEFINITIONS_CONFIG,
                 "/WEB-INF/tiles-one.xml");
         DefinitionsFactory defsFactory = 
factory.createDefinitionsFactory(context);
@@ -294,25 +235,4 @@
         assertFalse(container.isValidDefinition("test.def.one", request));
         assertTrue(container.isValidDefinition("test.def.two", request));
     }
-
-    /**
-     * Extends [EMAIL PROTECTED] TilesApplicationContext} to act like a 
ServletContext.
-     */
-    private static interface ContextLikeTilesApplicationContext extends 
TilesApplicationContext {
-
-        /**
-         * Returns an initialization parameter.
-         *
-         * @param parameterName The name of the parameter.
-         * @return The value of the parameter.
-         */
-        String getInitParameter(String parameterName);
-
-        /**
-         * Returns the init parameter names.
-         *
-         * @return The parameter names.
-         */
-        Enumeration<String> getInitParameterNames();
-    }
 }

Modified: 
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/mock/RepeaterTilesApplicationContextFactory.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/mock/RepeaterTilesApplicationContextFactory.java?rev=722062&r1=722061&r2=722062&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/mock/RepeaterTilesApplicationContextFactory.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/mock/RepeaterTilesApplicationContextFactory.java
 Mon Dec  1 05:09:09 2008
@@ -26,7 +26,7 @@
 import java.util.Set;
 
 import org.apache.tiles.TilesApplicationContext;
-import org.apache.tiles.context.TilesApplicationContextFactory;
+import org.apache.tiles.context.AbstractTilesApplicationContextFactory;
 
 /**
  * "Repeats" (i.e. returns back) the context as a
@@ -34,8 +34,8 @@
  *
  * @version $Rev$ $Date$
  */
-public class RepeaterTilesApplicationContextFactory implements
-        TilesApplicationContextFactory {
+public class RepeaterTilesApplicationContextFactory extends
+        AbstractTilesApplicationContextFactory {
 
     /**
      * The application context.

Modified: 
tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/definition/InitContainerTag.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/definition/InitContainerTag.java?rev=722062&r1=722061&r2=722062&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/definition/InitContainerTag.java
 (original)
+++ 
tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/definition/InitContainerTag.java
 Mon Dec  1 05:09:09 2008
@@ -24,12 +24,15 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.tiles.TilesApplicationContext;
 import org.apache.tiles.TilesContainer;
 import org.apache.tiles.access.TilesAccess;
+import org.apache.tiles.context.AbstractTilesApplicationContextFactory;
 import org.apache.tiles.factory.AbstractTilesContainerFactory;
 import org.apache.tiles.factory.TilesContainerFactory;
 import org.apache.tiles.jsp.taglib.PutAttributeTag;
 import org.apache.tiles.jsp.taglib.PutAttributeTagParent;
+import org.apache.tiles.servlet.context.ServletTilesApplicationContext;
 
 import javax.servlet.RequestDispatcher;
 import javax.servlet.Servlet;
@@ -163,8 +166,15 @@
             context.setInitParameter(entry.getKey(), entry.getValue());
         }
 
+        TilesApplicationContext applicationContext = new 
ServletTilesApplicationContext(
+                context);
+        AbstractTilesApplicationContextFactory acFactory = 
AbstractTilesApplicationContextFactory
+                .createFactory(applicationContext);
+        applicationContext = acFactory.createApplicationContext(context);
+
         TilesContainer mutableContainer = AbstractTilesContainerFactory
-                .getTilesContainerFactory(context).createContainer(context);
+                .getTilesContainerFactory(applicationContext).createContainer(
+                        applicationContext);
         TilesAccess.setContainer(context, mutableContainer, containerKey);
 
         return EVAL_PAGE;

Modified: 
tiles/framework/trunk/tiles-portlet/src/main/java/org/apache/tiles/portlet/context/PortletTilesApplicationContextFactory.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-portlet/src/main/java/org/apache/tiles/portlet/context/PortletTilesApplicationContextFactory.java?rev=722062&r1=722061&r2=722062&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-portlet/src/main/java/org/apache/tiles/portlet/context/PortletTilesApplicationContextFactory.java
 (original)
+++ 
tiles/framework/trunk/tiles-portlet/src/main/java/org/apache/tiles/portlet/context/PortletTilesApplicationContextFactory.java
 Mon Dec  1 05:09:09 2008
@@ -26,7 +26,7 @@
 import javax.portlet.PortletContext;
 
 import org.apache.tiles.TilesApplicationContext;
-import org.apache.tiles.context.TilesApplicationContextFactory;
+import org.apache.tiles.context.AbstractTilesApplicationContextFactory;
 
 /**
  * Creates an instance of the appropriate [EMAIL PROTECTED] 
TilesApplicationContext}
@@ -35,8 +35,8 @@
  * @version $Rev$ $Date$
  * @since 2.1.1
  */
-public class PortletTilesApplicationContextFactory implements
-        TilesApplicationContextFactory {
+public class PortletTilesApplicationContextFactory extends
+        AbstractTilesApplicationContextFactory {
 
     /** [EMAIL PROTECTED] */
     public void init(Map<String, String> configParameters) {

Modified: 
tiles/framework/trunk/tiles-servlet/src/main/java/org/apache/tiles/servlet/context/ServletTilesApplicationContextFactory.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-servlet/src/main/java/org/apache/tiles/servlet/context/ServletTilesApplicationContextFactory.java?rev=722062&r1=722061&r2=722062&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-servlet/src/main/java/org/apache/tiles/servlet/context/ServletTilesApplicationContextFactory.java
 (original)
+++ 
tiles/framework/trunk/tiles-servlet/src/main/java/org/apache/tiles/servlet/context/ServletTilesApplicationContextFactory.java
 Mon Dec  1 05:09:09 2008
@@ -22,7 +22,7 @@
 package org.apache.tiles.servlet.context;
 
 import org.apache.tiles.TilesApplicationContext;
-import org.apache.tiles.context.TilesApplicationContextFactory;
+import org.apache.tiles.context.AbstractTilesApplicationContextFactory;
 
 import javax.servlet.ServletContext;
 import java.util.Map;
@@ -34,8 +34,8 @@
  * @version $Rev$ $Date$
  * @since 2.1.1
  */
-public class ServletTilesApplicationContextFactory implements
-        TilesApplicationContextFactory {
+public class ServletTilesApplicationContextFactory extends
+        AbstractTilesApplicationContextFactory {
 
     /** [EMAIL PROTECTED] */
     public void init(Map<String, String> configParameters) {

Modified: 
tiles/framework/trunk/tiles-servlet/src/main/java/org/apache/tiles/servlet/context/ServletTilesContextFactory.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-servlet/src/main/java/org/apache/tiles/servlet/context/ServletTilesContextFactory.java?rev=722062&r1=722061&r2=722062&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-servlet/src/main/java/org/apache/tiles/servlet/context/ServletTilesContextFactory.java
 (original)
+++ 
tiles/framework/trunk/tiles-servlet/src/main/java/org/apache/tiles/servlet/context/ServletTilesContextFactory.java
 Mon Dec  1 05:09:09 2008
@@ -21,8 +21,9 @@
 
 package org.apache.tiles.servlet.context;
 
+import org.apache.tiles.Initializable;
 import org.apache.tiles.TilesApplicationContext;
-import org.apache.tiles.context.TilesApplicationContextFactory;
+import org.apache.tiles.context.AbstractTilesApplicationContextFactory;
 import org.apache.tiles.context.TilesContextFactory;
 import org.apache.tiles.context.TilesRequestContext;
 import org.apache.tiles.context.TilesRequestContextFactory;
@@ -56,7 +57,7 @@
     /**
      * The application context factory.
      */
-    private TilesApplicationContextFactory contextFactory;
+    private AbstractTilesApplicationContextFactory contextFactory;
 
     /**
      * The request context factory.
@@ -76,7 +77,9 @@
 
     /** [EMAIL PROTECTED] */
     public void init(Map<String, String> configParameters) {
-        contextFactory.init(configParameters);
+        if (contextFactory instanceof Initializable) {
+            ((Initializable) contextFactory).init(configParameters);
+        }
         requestContextFactory.init(configParameters);
     }
 

Modified: 
tiles/framework/trunk/tiles-servlet/src/main/java/org/apache/tiles/servlet/context/wildcard/WildcardServletTilesApplicationContextFactory.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-servlet/src/main/java/org/apache/tiles/servlet/context/wildcard/WildcardServletTilesApplicationContextFactory.java?rev=722062&r1=722061&r2=722062&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-servlet/src/main/java/org/apache/tiles/servlet/context/wildcard/WildcardServletTilesApplicationContextFactory.java
 (original)
+++ 
tiles/framework/trunk/tiles-servlet/src/main/java/org/apache/tiles/servlet/context/wildcard/WildcardServletTilesApplicationContextFactory.java
 Mon Dec  1 05:09:09 2008
@@ -26,7 +26,7 @@
 import javax.servlet.ServletContext;
 
 import org.apache.tiles.TilesApplicationContext;
-import org.apache.tiles.context.TilesApplicationContextFactory;
+import org.apache.tiles.context.AbstractTilesApplicationContextFactory;
 
 /**
  * In the [EMAIL PROTECTED] #createApplicationContext(Object)} method creates 
an instance
@@ -35,7 +35,8 @@
  * @version $Rev$ $Date$
  * @since 2.1.1
  */
-public class WildcardServletTilesApplicationContextFactory implements 
TilesApplicationContextFactory {
+public class WildcardServletTilesApplicationContextFactory extends
+        AbstractTilesApplicationContextFactory {
 
     /** [EMAIL PROTECTED] */
     public void init(Map<String, String> params) {

Modified: 
tiles/framework/trunk/tiles-servlet/src/main/java/org/apache/tiles/web/startup/TilesListener.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-servlet/src/main/java/org/apache/tiles/web/startup/TilesListener.java?rev=722062&r1=722061&r2=722062&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-servlet/src/main/java/org/apache/tiles/web/startup/TilesListener.java
 (original)
+++ 
tiles/framework/trunk/tiles-servlet/src/main/java/org/apache/tiles/web/startup/TilesListener.java
 Mon Dec  1 05:09:09 2008
@@ -22,10 +22,14 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.tiles.Initializable;
+import org.apache.tiles.TilesApplicationContext;
 import org.apache.tiles.TilesContainer;
 import org.apache.tiles.TilesException;
 import org.apache.tiles.access.TilesAccess;
+import org.apache.tiles.context.AbstractTilesApplicationContextFactory;
 import org.apache.tiles.factory.AbstractTilesContainerFactory;
+import org.apache.tiles.servlet.context.ServletTilesApplicationContext;
 
 import javax.servlet.ServletContext;
 import javax.servlet.ServletContextEvent;
@@ -89,9 +93,17 @@
      * @return The created container
      */
     protected TilesContainer createContainer(ServletContext context) {
-        AbstractTilesContainerFactory factory =
-            AbstractTilesContainerFactory.getTilesContainerFactory(context);
-        return factory.createContainer(context);
+        TilesApplicationContext applicationContext = new 
ServletTilesApplicationContext(
+                context);
+        AbstractTilesApplicationContextFactory acFactory = 
AbstractTilesApplicationContextFactory
+                .createFactory(applicationContext);
+        if (acFactory instanceof Initializable) {
+            ((Initializable) 
acFactory).init(applicationContext.getInitParams());
+        }
+        applicationContext = acFactory.createApplicationContext(context);
+        AbstractTilesContainerFactory factory = AbstractTilesContainerFactory
+                .getTilesContainerFactory(applicationContext);
+        return factory.createContainer(applicationContext);
     }
 
 }

Modified: 
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/factory/TestAlternateTilesContainerFactory.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/factory/TestAlternateTilesContainerFactory.java?rev=722062&r1=722061&r2=722062&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/factory/TestAlternateTilesContainerFactory.java
 (original)
+++ 
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/factory/TestAlternateTilesContainerFactory.java
 Mon Dec  1 05:09:09 2008
@@ -48,8 +48,7 @@
 
     /** [EMAIL PROTECTED] */
     @Override
-    protected List<URL> getSourceURLs(Object context,
-            TilesApplicationContext applicationContext,
+    protected List<URL> getSourceURLs(TilesApplicationContext 
applicationContext,
             TilesRequestContextFactory contextFactory) {
         List<URL> urls = new ArrayList<URL>(URL_COUNT);
         try {
@@ -64,7 +63,7 @@
     /** [EMAIL PROTECTED] */
     @Override
     protected LocaleDefinitionsFactory instantiateDefinitionsFactory(
-            Object context, TilesApplicationContext applicationContext,
+            TilesApplicationContext applicationContext,
             TilesRequestContextFactory contextFactory, LocaleResolver 
resolver) {
         return new LocaleDefinitionsFactory();
    }
@@ -72,7 +71,7 @@
     /** [EMAIL PROTECTED] */
     @Override
     protected BaseLocaleUrlDefinitionDAO instantiateLocaleDefinitionDao(
-            Object context, TilesApplicationContext applicationContext,
+            TilesApplicationContext applicationContext,
             TilesRequestContextFactory contextFactory, LocaleResolver 
resolver) {
         return new CachingLocaleUrlDefinitionDAO();
     }

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=722062&r1=722061&r2=722062&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
 Mon Dec  1 05:09:09 2008
@@ -42,9 +42,9 @@
 
     /** [EMAIL PROTECTED] */
     @Override
-    protected DefinitionDAO<Locale> createLocaleDefinitionDao(Object context,
-            TilesApplicationContext applicationContext,
-            TilesRequestContextFactory contextFactory, LocaleResolver 
resolver) {
+    protected DefinitionDAO<Locale> 
createLocaleDefinitionDao(TilesApplicationContext applicationContext,
+            TilesRequestContextFactory contextFactory,
+            LocaleResolver resolver) {
         LocaleDbDefinitionDAO definitionDao = new LocaleDbDefinitionDAO();
         definitionDao.setDataSource((DataSource) applicationContext
                 .getApplicationScope().get("dataSource"));
@@ -54,8 +54,8 @@
     /** [EMAIL PROTECTED] */
     @Override
     protected LocaleDefinitionsFactory instantiateDefinitionsFactory(
-            Object context, TilesApplicationContext applicationContext,
-            TilesRequestContextFactory contextFactory, LocaleResolver 
resolver) {
+            TilesApplicationContext applicationContext, 
TilesRequestContextFactory contextFactory,
+            LocaleResolver resolver) {
         return new LocaleDefinitionsFactory();
    }
 }

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=722062&r1=722061&r2=722062&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
 Mon Dec  1 05:09:09 2008
@@ -36,8 +36,6 @@
 import org.apache.tiles.TilesApplicationContext;
 import org.apache.tiles.TilesContainer;
 import 
org.apache.tiles.compat.definition.digester.CompatibilityDigesterDefinitionsReader;
-import org.apache.tiles.context.ChainedTilesApplicationContextFactory;
-import org.apache.tiles.context.TilesApplicationContextFactory;
 import org.apache.tiles.context.TilesRequestContextFactory;
 import org.apache.tiles.definition.DefinitionsFactoryException;
 import org.apache.tiles.definition.DefinitionsReader;
@@ -50,7 +48,6 @@
 import org.apache.tiles.impl.mgmt.CachingTilesContainer;
 import org.apache.tiles.locale.LocaleResolver;
 import org.apache.tiles.renderer.impl.BasicRendererFactory;
-import 
org.apache.tiles.servlet.context.wildcard.WildcardServletTilesApplicationContextFactory;
 import org.apache.tiles.test.evaluator.el.MultiversionExpressionFactoryFactory;
 import org.apache.tiles.test.renderer.ReverseStringAttributeRenderer;
 
@@ -62,40 +59,25 @@
 public class TestTilesContainerFactory extends BasicTilesContainerFactory {
 
     /**
-     * The count of elements in the Tiles context factory chain.
-     */
-    private static final int CONTEXT_FACTORY_CHAIN_COUNT = 2;
-
-    /**
      * The number of URLs to load..
      */
     private static final int URL_COUNT = 3;
 
     /** [EMAIL PROTECTED] */
     @Override
-    protected BasicTilesContainer instantiateContainer(Object context) {
+    protected BasicTilesContainer instantiateContainer(
+            TilesApplicationContext applicationContext) {
         return new CachingTilesContainer();
     }
 
     /** [EMAIL PROTECTED] */
     @Override
-    protected void registerChainedApplicationContextFactories(Object context,
-            ChainedTilesApplicationContextFactory contextFactory) {
-        List<TilesApplicationContextFactory> factories = new 
ArrayList<TilesApplicationContextFactory>(
-                CONTEXT_FACTORY_CHAIN_COUNT);
-        factories.add(new WildcardServletTilesApplicationContextFactory());
-        contextFactory.setFactories(factories);
-    }
-
-    /** [EMAIL PROTECTED] */
-    @Override
     protected void registerAttributeRenderers(
-            BasicRendererFactory rendererFactory, Object context,
-            TilesApplicationContext applicationContext,
-            TilesRequestContextFactory contextFactory, TilesContainer 
container,
-            AttributeEvaluator evaluator) {
-        super.registerAttributeRenderers(rendererFactory, context, 
applicationContext,
-                contextFactory, container, evaluator);
+            BasicRendererFactory rendererFactory, TilesApplicationContext 
applicationContext,
+            TilesRequestContextFactory contextFactory,
+            TilesContainer container, AttributeEvaluator evaluator) {
+        super.registerAttributeRenderers(rendererFactory, applicationContext, 
contextFactory,
+                container, evaluator);
         ReverseStringAttributeRenderer renderer = new 
ReverseStringAttributeRenderer();
         renderer.setApplicationContext(applicationContext);
         renderer.setRequestContextFactory(contextFactory);
@@ -105,9 +87,9 @@
 
     /** [EMAIL PROTECTED] */
     @Override
-    protected AttributeEvaluator createEvaluator(Object context,
-            TilesApplicationContext applicationContext,
-            TilesRequestContextFactory contextFactory, LocaleResolver 
resolver) {
+    protected AttributeEvaluator createEvaluator(TilesApplicationContext 
applicationContext,
+            TilesRequestContextFactory contextFactory,
+            LocaleResolver resolver) {
         ELAttributeEvaluator evaluator = new ELAttributeEvaluator();
         evaluator.setApplicationContext(applicationContext);
         MultiversionExpressionFactoryFactory efFactory = new 
MultiversionExpressionFactoryFactory();
@@ -130,8 +112,7 @@
 
     /** [EMAIL PROTECTED] */
     @Override
-    protected List<URL> getSourceURLs(Object context,
-            TilesApplicationContext applicationContext,
+    protected List<URL> getSourceURLs(TilesApplicationContext 
applicationContext,
             TilesRequestContextFactory contextFactory) {
         List<URL> urls = new ArrayList<URL>(URL_COUNT);
         try {
@@ -154,8 +135,7 @@
 
     /** [EMAIL PROTECTED] */
     @Override
-    protected DefinitionsReader createDefinitionsReader(Object context,
-            TilesApplicationContext applicationContext,
+    protected DefinitionsReader 
createDefinitionsReader(TilesApplicationContext applicationContext,
             TilesRequestContextFactory contextFactory) {
         return new CompatibilityDigesterDefinitionsReader();
     }

Modified: tiles/framework/trunk/tiles-test/src/main/webapp/WEB-INF/web-24.xml
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-test/src/main/webapp/WEB-INF/web-24.xml?rev=722062&r1=722061&r2=722062&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-test/src/main/webapp/WEB-INF/web-24.xml 
(original)
+++ tiles/framework/trunk/tiles-test/src/main/webapp/WEB-INF/web-24.xml Mon Dec 
 1 05:09:09 2008
@@ -71,6 +71,10 @@
             
<param-name>org.apache.tiles.factory.AbstractTilesContainerFactory</param-name>
             
<param-value>org.apache.tiles.test.factory.TestTilesContainerFactory</param-value>
         </init-param>
+        <init-param>
+            
<param-name>org.apache.tiles.context.AbstractTilesApplicationContextFactory</param-name>
+            
<param-value>org.apache.tiles.servlet.context.wildcard.WildcardServletTilesApplicationContextFactory</param-value>
+        </init-param>
         <load-on-startup>2</load-on-startup>
     </servlet>
     <servlet>

Modified: tiles/framework/trunk/tiles-test/src/main/webapp/WEB-INF/web.xml
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-test/src/main/webapp/WEB-INF/web.xml?rev=722062&r1=722061&r2=722062&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-test/src/main/webapp/WEB-INF/web.xml (original)
+++ tiles/framework/trunk/tiles-test/src/main/webapp/WEB-INF/web.xml Mon Dec  1 
05:09:09 2008
@@ -71,6 +71,10 @@
             
<param-name>org.apache.tiles.factory.AbstractTilesContainerFactory</param-name>
             
<param-value>org.apache.tiles.test.factory.TestTilesContainerFactory</param-value>
         </init-param>
+        <init-param>
+            
<param-name>org.apache.tiles.context.AbstractTilesApplicationContextFactory</param-name>
+            
<param-value>org.apache.tiles.servlet.context.wildcard.WildcardServletTilesApplicationContextFactory</param-value>
+        </init-param>
         <load-on-startup>2</load-on-startup>
     </servlet>
     <servlet>


Reply via email to