You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tiles.apache.org by nl...@apache.org on 2012/04/30 15:20:16 UTC

svn commit: r1332186 - in /tiles/framework/trunk/tiles-request: tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/ tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/ tiles-request-velocity/src/main/java...

Author: nlebas
Date: Mon Apr 30 13:20:15 2012
New Revision: 1332186

URL: http://svn.apache.org/viewvc?rev=1332186&view=rev
Log:
Complements to r1332134 http://mail-archives.apache.org/mod_mbox/tiles-dev/201202.mbox/%3C4F43A891.4090401%40nlebas.net%3E

Modified:
    tiles/framework/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequest.java
    tiles/framework/trunk/tiles-request/tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/FreemarkerRequestTest.java
    tiles/framework/trunk/tiles-request/tiles-request-velocity/src/main/java/org/apache/tiles/request/velocity/VelocityRequest.java
    tiles/framework/trunk/tiles-request/tiles-request-velocity/src/test/java/org/apache/tiles/request/velocity/VelocityRequestTest.java

Modified: tiles/framework/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequest.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequest.java?rev=1332186&r1=1332185&r2=1332186&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequest.java (original)
+++ tiles/framework/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequest.java Mon Apr 30 13:20:15 2012
@@ -23,6 +23,7 @@ package org.apache.tiles.request.freemar
 
 import java.io.PrintWriter;
 import java.io.Writer;
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Locale;
@@ -49,7 +50,7 @@ public class FreemarkerRequest extends A
     /**
      * The natively available scopes. In fact, only "page".
      */
-    private static final List<String> SCOPES = Collections.singletonList("page");
+    private List<String> scopes;
 
     /**
      * The FreeMarker current environment.
@@ -90,6 +91,10 @@ public class FreemarkerRequest extends A
     public FreemarkerRequest(DispatchRequest enclosedRequest,
             Environment env) {
         super(enclosedRequest);
+        List<String> scopes = new ArrayList<String>();
+        scopes.addAll(enclosedRequest.getAvailableScopes());
+        scopes.add("page");
+        this.scopes = Collections.unmodifiableList(scopes);
         this.env = env;
     }
 
@@ -122,7 +127,7 @@ public class FreemarkerRequest extends A
 
     @Override
     public List<String> getAvailableScopes() {
-        return SCOPES;
+        return scopes;
     }
 
     /** {@inheritDoc} */

Modified: tiles/framework/trunk/tiles-request/tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/FreemarkerRequestTest.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-request/tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/FreemarkerRequestTest.java?rev=1332186&r1=1332185&r2=1332186&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-request/tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/FreemarkerRequestTest.java (original)
+++ tiles/framework/trunk/tiles-request/tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/FreemarkerRequestTest.java Mon Apr 30 13:20:15 2012
@@ -22,12 +22,12 @@
 package org.apache.tiles.request.freemarker;
 
 import static org.easymock.EasyMock.*;
-import static org.easymock.classextension.EasyMock.*;
 import static org.junit.Assert.*;
 
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.io.StringWriter;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Locale;
 import java.util.Map;
@@ -36,10 +36,8 @@ import javax.servlet.http.HttpServletReq
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.tiles.request.ApplicationContext;
-import org.apache.tiles.request.Request;
 import org.apache.tiles.request.DispatchRequest;
 import org.apache.tiles.request.servlet.ServletRequest;
-import org.apache.tiles.request.ApplicationAccess;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -137,9 +135,10 @@ public class FreemarkerRequestTest {
         Map<String, Object> requestScope = new HashMap<String, Object>();
 
         enclosedRequest.include(path);
-        context = new FreemarkerRequest(enclosedRequest, env);
+        expect(enclosedRequest.getAvailableScopes()).andReturn(Collections.singletonList("parent"));
         expect(enclosedRequest.getContext("request")).andReturn(requestScope);
         replay(enclosedRequest, applicationContext);
+        context = new FreemarkerRequest(enclosedRequest, env);
         context.dispatch(path);
         verify(enclosedRequest, applicationContext);
     }
@@ -150,6 +149,7 @@ public class FreemarkerRequestTest {
     @Test
     public void testGetPageScope() {
         DispatchRequest enclosedRequest = createMock(DispatchRequest.class);
+        expect(enclosedRequest.getAvailableScopes()).andReturn(Collections.singletonList("parent"));
         replay(enclosedRequest);
         context = new FreemarkerRequest(enclosedRequest, env);
         assertTrue(context.getPageScope() instanceof EnvironmentScopeMap);
@@ -157,11 +157,26 @@ public class FreemarkerRequestTest {
     }
 
     /**
+     * Tests {@link FreemarkerRequest#getNativeScopes()}.
+     */
+    @Test
+    public void testGetAvailableScopes() {
+        DispatchRequest enclosedRequest = createMock(DispatchRequest.class);
+        expect(enclosedRequest.getAvailableScopes()).andReturn(Collections.singletonList("parent"));
+        replay(enclosedRequest);
+        context = new FreemarkerRequest(enclosedRequest, env);
+        assertArrayEquals(new String[] { "parent", "page" }, //
+                context.getAvailableScopes().toArray());
+        verify(enclosedRequest);
+    }
+
+    /**
      * Tests {@link FreemarkerRequest#getRequestLocale()}.
      */
     @Test
     public void testGetRequestLocale() {
         DispatchRequest enclosedRequest = createMock(DispatchRequest.class);
+        expect(enclosedRequest.getAvailableScopes()).andReturn(Collections.singletonList("parent"));
         replay(enclosedRequest);
         context = new FreemarkerRequest(enclosedRequest, env);
         assertEquals(locale, context.getRequestLocale());
@@ -174,6 +189,7 @@ public class FreemarkerRequestTest {
     @Test
     public void testGetRequest() {
         DispatchRequest enclosedRequest = createMock(DispatchRequest.class);
+        expect(enclosedRequest.getAvailableScopes()).andReturn(Collections.singletonList("parent"));
         replay(enclosedRequest);
         context = new FreemarkerRequest(enclosedRequest, env);
         assertEquals(env, context.getEnvironment());
@@ -186,6 +202,7 @@ public class FreemarkerRequestTest {
     @Test
     public void testGetResponse() {
         DispatchRequest enclosedRequest = createMock(DispatchRequest.class);
+        expect(enclosedRequest.getAvailableScopes()).andReturn(Collections.singletonList("parent"));
         replay(enclosedRequest);
         context = new FreemarkerRequest(enclosedRequest, env);
         assertEquals(env, context.getEnvironment());
@@ -198,7 +215,7 @@ public class FreemarkerRequestTest {
     @Test
     public void testGetPrintWriter() {
         DispatchRequest enclosedRequest = createMock(DispatchRequest.class);
-
+        expect(enclosedRequest.getAvailableScopes()).andReturn(Collections.singletonList("parent"));
         replay(enclosedRequest);
         context = new FreemarkerRequest(enclosedRequest, env);
         assertEquals(env, context.getEnvironment());
@@ -220,7 +237,7 @@ public class FreemarkerRequestTest {
         Locale locale = Locale.ITALY;
         env.setLocale(locale);
         DispatchRequest enclosedRequest = createMock(DispatchRequest.class);
-
+        expect(enclosedRequest.getAvailableScopes()).andReturn(Collections.singletonList("parent"));
         replay(enclosedRequest);
         context = new FreemarkerRequest(enclosedRequest, env);
         assertSame(writer, context.getPrintWriter());
@@ -234,7 +251,7 @@ public class FreemarkerRequestTest {
     @Test
     public void testGetWriter() {
         DispatchRequest enclosedRequest = createMock(DispatchRequest.class);
-
+        expect(enclosedRequest.getAvailableScopes()).andReturn(Collections.singletonList("parent"));
         replay(enclosedRequest);
         context = new FreemarkerRequest(enclosedRequest, env);
         assertEquals(env, context.getEnvironment());

Modified: tiles/framework/trunk/tiles-request/tiles-request-velocity/src/main/java/org/apache/tiles/request/velocity/VelocityRequest.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-request/tiles-request-velocity/src/main/java/org/apache/tiles/request/velocity/VelocityRequest.java?rev=1332186&r1=1332185&r2=1332186&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-request/tiles-request-velocity/src/main/java/org/apache/tiles/request/velocity/VelocityRequest.java (original)
+++ tiles/framework/trunk/tiles-request/tiles-request-velocity/src/main/java/org/apache/tiles/request/velocity/VelocityRequest.java Mon Apr 30 13:20:15 2012
@@ -24,6 +24,7 @@ package org.apache.tiles.request.velocit
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.io.Writer;
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
@@ -51,7 +52,7 @@ public class VelocityRequest extends Abs
     /**
      * The native available scopes, in fact only "page".
      */
-    private static final List<String> SCOPES = Collections.singletonList("page");
+    private final List<String> scopes;
 
     /**
      * The Velocity current context.
@@ -98,13 +99,17 @@ public class VelocityRequest extends Abs
     public VelocityRequest(
             DispatchRequest enclosedRequest, Context ctx, Writer writer) {
         super(enclosedRequest);
+        List<String> scopes = new ArrayList<String>();
+        scopes.addAll(enclosedRequest.getAvailableScopes());
+        scopes.add("page");
+        this.scopes = Collections.unmodifiableList(scopes);
         this.ctx = ctx;
         this.writer = writer;
     }
 
     @Override
     public List<String> getAvailableScopes() {
-        return SCOPES;
+        return scopes;
     }
 
     /** {@inheritDoc} */

Modified: tiles/framework/trunk/tiles-request/tiles-request-velocity/src/test/java/org/apache/tiles/request/velocity/VelocityRequestTest.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-request/tiles-request-velocity/src/test/java/org/apache/tiles/request/velocity/VelocityRequestTest.java?rev=1332186&r1=1332185&r2=1332186&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-request/tiles-request-velocity/src/test/java/org/apache/tiles/request/velocity/VelocityRequestTest.java (original)
+++ tiles/framework/trunk/tiles-request/tiles-request-velocity/src/test/java/org/apache/tiles/request/velocity/VelocityRequestTest.java Mon Apr 30 13:20:15 2012
@@ -28,6 +28,7 @@ import static org.junit.Assert.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.io.StringWriter;
+import java.util.Collections;
 
 import javax.servlet.RequestDispatcher;
 import javax.servlet.ServletException;
@@ -91,6 +92,19 @@ public class VelocityRequestTest {
     }
 
     /**
+      * Tests {@link FreemarkerRequest#getNativeScopes()}.
+      */
+    @Test
+    public void testGetAvailableScopes() {
+        DispatchRequest enclosedRequest = createMock(DispatchRequest.class);
+        expect(enclosedRequest.getAvailableScopes()).andReturn(Collections.singletonList("parent"));
+        replay(enclosedRequest);
+        context = new VelocityRequest(enclosedRequest, velocityContext, writer);
+        assertArrayEquals(new String[] {"parent", "page"}, context.getAvailableScopes().toArray());
+        verify(enclosedRequest);
+    }
+
+    /**
      * Tests {@link VelocityRequest#doInclude(String)}.
      *
      * @throws IOException If something goes wrong.
@@ -110,6 +124,7 @@ public class VelocityRequestTest {
 
         expect(enclosedRequest.getRequest()).andReturn(servletRequest);
         expect(enclosedRequest.getResponse()).andReturn(response);
+        expect(enclosedRequest.getAvailableScopes()).andReturn(Collections.singletonList("parent"));
 
         replay(velocityContext, enclosedRequest);
         context = new VelocityRequest(enclosedRequest, velocityContext, writer);
@@ -134,6 +149,7 @@ public class VelocityRequestTest {
 
         expect(enclosedRequest.getRequest()).andReturn(servletRequest);
         expect(enclosedRequest.getResponse()).andReturn(response);
+        expect(enclosedRequest.getAvailableScopes()).andReturn(Collections.singletonList("parent"));
 
         replay(velocityContext, enclosedRequest);
         context = new VelocityRequest(enclosedRequest, velocityContext, writer);
@@ -162,6 +178,7 @@ public class VelocityRequestTest {
 
         expect(enclosedRequest.getRequest()).andReturn(servletRequest);
         expect(enclosedRequest.getResponse()).andReturn(response);
+        expect(enclosedRequest.getAvailableScopes()).andReturn(Collections.singletonList("parent"));
 
         replay(velocityContext, enclosedRequest);
         context = new VelocityRequest(enclosedRequest, velocityContext, writer);
@@ -175,6 +192,7 @@ public class VelocityRequestTest {
     @Test
     public void testGetPrintWriter() {
         DispatchRequest enclosedRequest = createMock(DispatchRequest.class);
+        expect(enclosedRequest.getAvailableScopes()).andReturn(Collections.singletonList("parent"));
 
         replay(velocityContext, enclosedRequest);
         context = new VelocityRequest(enclosedRequest, velocityContext, writer);
@@ -188,6 +206,7 @@ public class VelocityRequestTest {
     @Test
     public void testGetPrintWriterPrintWriter() {
         DispatchRequest enclosedRequest = createMock(DispatchRequest.class);
+        expect(enclosedRequest.getAvailableScopes()).andReturn(Collections.singletonList("parent"));
 
         PrintWriter printWriter = new PrintWriter(writer);
         replay(velocityContext, enclosedRequest);
@@ -202,6 +221,7 @@ public class VelocityRequestTest {
     @Test(expected = IllegalStateException.class)
     public void testGetPrintWriterNoWriter() {
         DispatchRequest enclosedRequest = createMock(DispatchRequest.class);
+        expect(enclosedRequest.getAvailableScopes()).andReturn(Collections.singletonList("parent"));
 
         replay(velocityContext, enclosedRequest);
         context = new VelocityRequest(enclosedRequest, velocityContext, null);
@@ -215,6 +235,7 @@ public class VelocityRequestTest {
     @Test
     public void testGetWriter() {
         DispatchRequest enclosedRequest = createMock(DispatchRequest.class);
+        expect(enclosedRequest.getAvailableScopes()).andReturn(Collections.singletonList("parent"));
 
         replay(velocityContext, enclosedRequest);
         context = new VelocityRequest(enclosedRequest, velocityContext, writer);
@@ -228,6 +249,7 @@ public class VelocityRequestTest {
     @Test(expected = IllegalStateException.class)
     public void testGetWriterNoWriter() {
         DispatchRequest enclosedRequest = createMock(DispatchRequest.class);
+        expect(enclosedRequest.getAvailableScopes()).andReturn(Collections.singletonList("parent"));
 
         replay(velocityContext, enclosedRequest);
         context = new VelocityRequest(enclosedRequest, velocityContext, null);
@@ -241,6 +263,7 @@ public class VelocityRequestTest {
     @Test
     public void testGetPageScope() {
         DispatchRequest enclosedRequest = createMock(DispatchRequest.class);
+        expect(enclosedRequest.getAvailableScopes()).andReturn(Collections.singletonList("parent"));
 
         replay(velocityContext, enclosedRequest);
         context = new VelocityRequest(enclosedRequest, velocityContext, writer);