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>
