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/24 21:38:14 UTC
svn commit: r797628 - in /tiles/framework/trunk:
tiles-api/src/main/java/org/apache/tiles/access/
tiles-core/src/test/java/org/apache/tiles/context/
tiles-core/src/test/java/org/apache/tiles/factory/
tiles-core/src/test/java/org/apache/tiles/impl/ tile...
Author: apetrelli
Date: Fri Jul 24 19:38:14 2009
New Revision: 797628
URL: http://svn.apache.org/viewvc?rev=797628&view=rev
Log:
TILES-430
Removed tests for deprecated classes.
Fixed minor bug in TilesAccess.
Added new test for AbstractTilesInitializer and DefaultTilesInitializer.
Added:
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/startup/AbstractTilesInitializerTest.java (with props)
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/startup/DefaultTilesInitializerTest.java (with props)
Removed:
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/context/ChainedTilesApplicationContextFactoryTest.java
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/factory/KeyedDefinitionsFactoryTilesContainerFactoryTest.java
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/factory/TilesContainerFactoryTest.java
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/startup/BasicTilesInitializerTest.java
tiles/framework/trunk/tiles-portlet/src/test/java/org/apache/tiles/portlet/context/wildcard/WildcardPortletTilesApplicationContextFactoryTest.java
tiles/framework/trunk/tiles-servlet/src/test/java/org/apache/tiles/servlet/context/wildcard/WildcardServletTilesApplicationContextFactoryTest.java
Modified:
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/access/TilesAccess.java
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/impl/BasicTilesContainerTest.java
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/impl/KeyedDefinitionsFactoryTilesContainerTest.java
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/mock/RepeaterTilesApplicationContextFactory.java
Modified: tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/access/TilesAccess.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/access/TilesAccess.java?rev=797628&r1=797627&r2=797628&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/access/TilesAccess.java (original)
+++ tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/access/TilesAccess.java Fri Jul 24 19:38:14 2009
@@ -108,11 +108,12 @@
log.info("Removing TilesContext for context: " + context.getClass().getName());
}
context.getApplicationScope().remove(key);
+ } else {
+ if (log.isInfoEnabled()) {
+ log.info("Publishing TilesContext for context: " + context.getClass().getName());
+ }
+ context.getApplicationScope().put(key, container);
}
- if (container != null && log.isInfoEnabled()) {
- log.info("Publishing TilesContext for context: " + context.getClass().getName());
- }
- context.getApplicationScope().put(key, container);
}
/**
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=797628&r1=797627&r2=797628&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 Fri Jul 24 19:38:14 2009
@@ -23,21 +23,19 @@
import java.io.IOException;
import java.io.StringWriter;
import java.net.URL;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
+import java.util.ArrayList;
+import java.util.List;
import junit.framework.TestCase;
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.context.TilesRequestContextFactory;
import org.apache.tiles.factory.AbstractTilesContainerFactory;
-import org.apache.tiles.mock.RepeaterTilesApplicationContextFactory;
+import org.apache.tiles.factory.BasicTilesContainerFactory;
import org.apache.tiles.mock.RepeaterTilesRequestContextFactory;
import org.easymock.EasyMock;
import org.slf4j.Logger;
@@ -70,29 +68,17 @@
public void setUp() {
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");
- initParams.put(
- ChainedTilesApplicationContextFactory.FACTORY_CLASS_NAMES,
- RepeaterTilesApplicationContextFactory.class.getName());
- initParams.put(
- ChainedTilesRequestContextFactory.FACTORY_CLASS_NAMES,
- RepeaterTilesRequestContextFactory.class.getName());
try {
- Set<URL> urls = new HashSet<URL>();
- urls.add(url);
- EasyMock.expect(context.getResources("/WEB-INF/tiles.xml"))
- .andReturn(urls);
+ EasyMock.expect(context.getResource("/WEB-INF/tiles.xml"))
+ .andReturn(url);
} 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);
+ AbstractTilesContainerFactory factory = new CustomTilesContainerFactory();
container = (BasicTilesContainer) factory.createContainer(context);
}
@@ -169,4 +155,24 @@
assertEquals("The attribute has not been evaluated correctly",
"This is the value", value);
}
+
+ /**
+ * A BasicTilesContainerFactory with overridden createRequestContextFactory
+ * method.
+ *
+ * @version $Rev$ $Date$
+ */
+ private static class CustomTilesContainerFactory extends BasicTilesContainerFactory {
+
+ /** {@inheritDoc} */
+ @Override
+ protected void registerChainedRequestContextFactories(
+ ChainedTilesRequestContextFactory contextFactory) {
+ List<TilesRequestContextFactory> factories = new ArrayList<TilesRequestContextFactory>(
+ 1);
+ factories.add(new RepeaterTilesRequestContextFactory());
+
+ contextFactory.setFactories(factories);
+ }
+ }
}
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=797628&r1=797627&r2=797628&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 Fri Jul 24 19:38:14 2009
@@ -47,6 +47,7 @@
/**
* @version $Rev$ $Date$
*/
+@SuppressWarnings("deprecation")
public class KeyedDefinitionsFactoryTilesContainerTest extends TestCase {
/**
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=797628&r1=797627&r2=797628&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 Fri Jul 24 19:38:14 2009
@@ -34,6 +34,7 @@
*
* @version $Rev$ $Date$
*/
+@SuppressWarnings("deprecation")
public class RepeaterTilesApplicationContextFactory extends
AbstractTilesApplicationContextFactory {
Added: tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/startup/AbstractTilesInitializerTest.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/startup/AbstractTilesInitializerTest.java?rev=797628&view=auto
==============================================================================
--- tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/startup/AbstractTilesInitializerTest.java (added)
+++ tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/startup/AbstractTilesInitializerTest.java Fri Jul 24 19:38:14 2009
@@ -0,0 +1,126 @@
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tiles.startup;
+
+import static org.junit.Assert.*;
+import static org.easymock.classextension.EasyMock.*;
+
+import java.util.Map;
+
+import org.apache.tiles.TilesApplicationContext;
+import org.apache.tiles.TilesContainer;
+import org.apache.tiles.access.TilesAccess;
+import org.apache.tiles.factory.AbstractTilesContainerFactory;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Tests {@link AbstractTilesInitializer}.
+ *
+ * @version $Rev$ $Date$
+ */
+public class AbstractTilesInitializerTest {
+
+ /**
+ * A mock Tiles container factory.
+ */
+ private AbstractTilesContainerFactory containerFactory;
+
+ /**
+ * The object to test.
+ */
+ private AbstractTilesInitializer initializer;
+
+ /**
+ * Sets up the test.
+ */
+ @Before
+ public void setUp() {
+ containerFactory = createMock(AbstractTilesContainerFactory.class);
+ initializer = new AbstractTilesInitializer() {
+
+ @Override
+ protected AbstractTilesContainerFactory createContainerFactory(
+ TilesApplicationContext context) {
+ return containerFactory;
+ }
+ };
+ }
+
+ /**
+ * Test method for {@link AbstractTilesInitializer#initialize(TilesApplicationContext)}.
+ */
+ @SuppressWarnings("unchecked")
+ @Test
+ public void testInitialize() {
+ TilesApplicationContext context = createMock(TilesApplicationContext.class);
+ TilesContainer container = createMock(TilesContainer.class);
+ Map<String, Object> scope = createMock(Map.class);
+
+ expect(containerFactory.createContainer(context)).andReturn(container);
+ expect(context.getApplicationScope()).andReturn(scope).times(2);
+ expect(scope.put(TilesAccess.CONTAINER_ATTRIBUTE, container)).andReturn(null);
+ expect(scope.remove(TilesAccess.CONTAINER_ATTRIBUTE)).andReturn(container);
+
+ replay(containerFactory, context, container, scope);
+ initializer.initialize(context);
+ initializer.destroy();
+ verify(containerFactory, context, container, scope);
+ }
+
+ /**
+ * Test method for {@link AbstractTilesInitializer#createTilesApplicationContext(TilesApplicationContext)}.
+ */
+ @Test
+ public void testCreateTilesApplicationContext() {
+ TilesApplicationContext context = createMock(TilesApplicationContext.class);
+ replay(containerFactory, context);
+ assertEquals(context, initializer.createTilesApplicationContext(context));
+ verify(containerFactory, context);
+ }
+
+ /**
+ * Test method for {@link AbstractTilesInitializer#getContainerKey(TilesApplicationContext)}.
+ */
+ @Test
+ public void testGetContainerKey() {
+ TilesApplicationContext context = createMock(TilesApplicationContext.class);
+ replay(containerFactory, context);
+ assertNull(initializer.getContainerKey(context));
+ verify(containerFactory, context);
+ }
+
+ /**
+ * Test method for {@link AbstractTilesInitializer#createContainer(TilesApplicationContext)}.
+ */
+ @Test
+ public void testCreateContainer() {
+ TilesApplicationContext context = createMock(TilesApplicationContext.class);
+ TilesContainer container = createMock(TilesContainer.class);
+
+ expect(containerFactory.createContainer(context)).andReturn(container);
+
+ replay(containerFactory, context, container);
+ assertEquals(container, initializer.createContainer(context));
+ verify(containerFactory, context, container);
+ }
+}
Propchange: tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/startup/AbstractTilesInitializerTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/startup/AbstractTilesInitializerTest.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added: tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/startup/DefaultTilesInitializerTest.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/startup/DefaultTilesInitializerTest.java?rev=797628&view=auto
==============================================================================
--- tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/startup/DefaultTilesInitializerTest.java (added)
+++ tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/startup/DefaultTilesInitializerTest.java Fri Jul 24 19:38:14 2009
@@ -0,0 +1,50 @@
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tiles.startup;
+
+import static org.junit.Assert.*;
+import static org.easymock.EasyMock.*;
+
+import org.apache.tiles.TilesApplicationContext;
+import org.apache.tiles.factory.BasicTilesContainerFactory;
+import org.junit.Test;
+
+/**
+ * Tests {@link DefaultTilesInitializer}.
+ *
+ * @version $Rev$ $Date$
+ */
+public class DefaultTilesInitializerTest {
+
+ /**
+ * Test method for {@link DefaultTilesInitializer#createContainerFactory(TilesApplicationContext)}.
+ */
+ @Test
+ public void testCreateContainerFactory() {
+ TilesApplicationContext context = createMock(TilesApplicationContext.class);
+
+ replay(context);
+ DefaultTilesInitializer initializer = new DefaultTilesInitializer();
+ assertTrue(initializer.createContainerFactory(context) instanceof BasicTilesContainerFactory);
+ verify(context);
+ }
+}
Propchange: tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/startup/DefaultTilesInitializerTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/startup/DefaultTilesInitializerTest.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL