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