Author: apetrelli
Date: Fri Nov 20 19:41:52 2009
New Revision: 882693

URL: http://svn.apache.org/viewvc?rev=882693&view=rev
Log: (empty)

Added:
    
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/util/ApplicationContextUtil.java
   (with props)
    
tiles/sandbox/trunk/tiles-request/tiles-request-jsp/src/main/java/org/apache/tiles/request/
    
tiles/sandbox/trunk/tiles-request/tiles-request-jsp/src/main/java/org/apache/tiles/request/jsp/
    
tiles/sandbox/trunk/tiles-request/tiles-request-jsp/src/main/java/org/apache/tiles/request/jsp/JspUtil.java
   (with props)
Modified:
    
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerRequestUtil.java
    
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerRequestUtilTest.java
    
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/main/java/org/apache/tiles/portlet/context/PortletUtil.java
    
tiles/sandbox/trunk/tiles-request/tiles-request-servlet/src/main/java/org/apache/tiles/request/servlet/ServletUtil.java
    
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerUtil.java
    
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerUtilTest.java

Added: 
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/util/ApplicationContextUtil.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/util/ApplicationContextUtil.java?rev=882693&view=auto
==============================================================================
--- 
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/util/ApplicationContextUtil.java
 (added)
+++ 
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/util/ApplicationContextUtil.java
 Fri Nov 20 19:41:52 2009
@@ -0,0 +1,17 @@
+package org.apache.tiles.request.util;
+
+import org.apache.tiles.request.ApplicationContext;
+
+public final class ApplicationContextUtil {
+
+    public static final String APPLICATION_CONTEXT_ATTRIBUTE =
+        ApplicationContext.class.getName() + ".ATTRIBUTE";
+
+    private ApplicationContextUtil() {
+    }
+
+    public static void register(ApplicationContext applicationContext) {
+        applicationContext.getApplicationScope().put(
+                APPLICATION_CONTEXT_ATTRIBUTE, applicationContext);
+    }
+}

Propchange: 
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/util/ApplicationContextUtil.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/util/ApplicationContextUtil.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Modified: 
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerRequestUtil.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerRequestUtil.java?rev=882693&r1=882692&r2=882693&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerRequestUtil.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerRequestUtil.java
 Fri Nov 20 19:41:52 2009
@@ -1,8 +1,12 @@
 package org.apache.tiles.freemarker.context;
 
+import org.apache.tiles.request.ApplicationContext;
+import org.apache.tiles.request.servlet.ServletUtil;
+
 import freemarker.core.Environment;
 import freemarker.ext.servlet.FreemarkerServlet;
 import freemarker.ext.servlet.HttpRequestHashModel;
+import freemarker.ext.servlet.ServletContextHashModel;
 import freemarker.template.TemplateModelException;
 
 public final class FreeMarkerRequestUtil {
@@ -27,4 +31,30 @@
         }
     }
 
+    /**
+     * Returns the servlet context hash model.
+     *
+     * @param env The current FreeMarker environment.
+     * @return The servlet context hash model.
+     * @since 2.2.0
+     */
+    public static ServletContextHashModel getServletContextHashModel(
+            Environment env) {
+        try {
+            return (ServletContextHashModel) env.getDataModel().get(
+                    FreemarkerServlet.KEY_APPLICATION);
+        } catch (TemplateModelException e) {
+            throw new NotAvailableFreemarkerServletException(
+                    "Exception got when obtaining the application hash model",
+                    e);
+        }
+    }
+
+    public static ApplicationContext getApplicationContext(
+            Environment env) {
+        return ServletUtil
+                .getApplicationContext(getServletContextHashModel(env)
+                        .getServlet().getServletContext());
+    }
+
 }

Modified: 
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerRequestUtilTest.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerRequestUtilTest.java?rev=882693&r1=882692&r2=882693&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerRequestUtilTest.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerRequestUtilTest.java
 Fri Nov 20 19:41:52 2009
@@ -11,6 +11,8 @@
 import java.util.HashMap;
 import java.util.Locale;
 
+import javax.servlet.GenericServlet;
+import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
 
 import org.junit.Before;
@@ -18,6 +20,7 @@
 
 import freemarker.core.Environment;
 import freemarker.ext.servlet.HttpRequestHashModel;
+import freemarker.ext.servlet.ServletContextHashModel;
 import freemarker.template.ObjectWrapper;
 import freemarker.template.Template;
 import freemarker.template.TemplateHashModel;
@@ -55,10 +58,10 @@
     private TemplateHashModel model;
 
     /**
-     * @throws java.lang.Exception If something goes wrong.
+     * Sets up the model.
      */
     @Before
-    public void setUp() throws Exception {
+    public void setUp() {
         template = createMock(Template.class);
         model = createMock(TemplateHashModel.class);
         writer = new StringWriter();
@@ -85,4 +88,28 @@
         verify(template, model, request, objectWrapper);
     }
 
+
+    /**
+     * Test method for {...@link 
org.apache.tiles.freemarker.context.FreeMarkerRequestUtil
+     * #getServletContextHashModel(freemarker.core.Environment)}.
+     * @throws TemplateModelException If something goes wrong.
+     */
+    @Test
+    public void testGetServletContextHashModel() throws TemplateModelException 
{
+        GenericServlet servlet = createMock(GenericServlet.class);
+        ServletContext servletContext = createMock(ServletContext.class);
+        ObjectWrapper objectWrapper = createMock(ObjectWrapper.class);
+        expect(servlet.getServletContext()).andReturn(servletContext);
+        replay(servlet, objectWrapper);
+        ServletContextHashModel servletContextModel = new 
ServletContextHashModel(servlet, objectWrapper);
+
+        expect(model.get("Application")).andReturn(servletContextModel);
+
+        replay(template, model, servletContext);
+        env = new Environment(template, model, writer);
+        locale = Locale.ITALY;
+        env.setLocale(locale);
+        assertEquals(servletContextModel, 
FreeMarkerRequestUtil.getServletContextHashModel(env));
+        verify(template, model, servlet, servletContext, objectWrapper);
+    }
 }

Added: 
tiles/sandbox/trunk/tiles-request/tiles-request-jsp/src/main/java/org/apache/tiles/request/jsp/JspUtil.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-jsp/src/main/java/org/apache/tiles/request/jsp/JspUtil.java?rev=882693&view=auto
==============================================================================
--- 
tiles/sandbox/trunk/tiles-request/tiles-request-jsp/src/main/java/org/apache/tiles/request/jsp/JspUtil.java
 (added)
+++ 
tiles/sandbox/trunk/tiles-request/tiles-request-jsp/src/main/java/org/apache/tiles/request/jsp/JspUtil.java
 Fri Nov 20 19:41:52 2009
@@ -0,0 +1,19 @@
+package org.apache.tiles.request.jsp;
+
+import javax.servlet.jsp.JspContext;
+import javax.servlet.jsp.PageContext;
+
+import org.apache.tiles.request.ApplicationContext;
+import org.apache.tiles.request.util.ApplicationContextUtil;
+
+public final class JspUtil {
+
+    private JspUtil() {
+    }
+
+    public static ApplicationContext getApplicationContext(JspContext 
jspContext) {
+        return (ApplicationContext) jspContext.getAttribute(
+                ApplicationContextUtil.APPLICATION_CONTEXT_ATTRIBUTE,
+                PageContext.APPLICATION_SCOPE);
+    }
+}

Propchange: 
tiles/sandbox/trunk/tiles-request/tiles-request-jsp/src/main/java/org/apache/tiles/request/jsp/JspUtil.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tiles/sandbox/trunk/tiles-request/tiles-request-jsp/src/main/java/org/apache/tiles/request/jsp/JspUtil.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Modified: 
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/main/java/org/apache/tiles/portlet/context/PortletUtil.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/main/java/org/apache/tiles/portlet/context/PortletUtil.java?rev=882693&r1=882692&r2=882693&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/main/java/org/apache/tiles/portlet/context/PortletUtil.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/main/java/org/apache/tiles/portlet/context/PortletUtil.java
 Fri Nov 20 19:41:52 2009
@@ -21,8 +21,12 @@
 
 package org.apache.tiles.portlet.context;
 
+import javax.portlet.PortletContext;
 import javax.portlet.PortletRequest;
 
+import org.apache.tiles.request.ApplicationContext;
+import org.apache.tiles.request.util.ApplicationContextUtil;
+
 
 /**
  * Utilities for Tiles portlet support.
@@ -67,4 +71,10 @@
                         
org.apache.tiles.request.servlet.ServletUtil.FORCE_INCLUDE_ATTRIBUTE_NAME,
                         retValue);
     }
+
+    public static ApplicationContext getApplicationContext(
+            PortletContext portletContext) {
+        return (ApplicationContext) portletContext
+                
.getAttribute(ApplicationContextUtil.APPLICATION_CONTEXT_ATTRIBUTE);
+    }
 }

Modified: 
tiles/sandbox/trunk/tiles-request/tiles-request-servlet/src/main/java/org/apache/tiles/request/servlet/ServletUtil.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-servlet/src/main/java/org/apache/tiles/request/servlet/ServletUtil.java?rev=882693&r1=882692&r2=882693&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-request/tiles-request-servlet/src/main/java/org/apache/tiles/request/servlet/ServletUtil.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-request/tiles-request-servlet/src/main/java/org/apache/tiles/request/servlet/ServletUtil.java
 Fri Nov 20 19:41:52 2009
@@ -23,9 +23,13 @@
 
 import java.io.IOException;
 
+import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 
+import org.apache.tiles.request.ApplicationContext;
+import org.apache.tiles.request.util.ApplicationContextUtil;
+
 /**
  * Utilities for Tiles request servlet support.
  *
@@ -92,4 +96,9 @@
                 ServletUtil.FORCE_INCLUDE_ATTRIBUTE_NAME,
                 retValue);
     }
+
+    public static ApplicationContext getApplicationContext(ServletContext 
servletContext) {
+        return (ApplicationContext) servletContext
+                
.getAttribute(ApplicationContextUtil.APPLICATION_CONTEXT_ATTRIBUTE);
+    }
 }

Modified: 
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerUtil.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerUtil.java?rev=882693&r1=882692&r2=882693&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerUtil.java
 (original)
+++ 
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerUtil.java
 Fri Nov 20 19:41:52 2009
@@ -35,8 +35,6 @@
 import org.apache.tiles.servlet.context.ServletUtil;
 
 import freemarker.core.Environment;
-import freemarker.ext.servlet.FreemarkerServlet;
-import freemarker.ext.servlet.ServletContextHashModel;
 import freemarker.template.TemplateDirectiveBody;
 import freemarker.template.TemplateException;
 import freemarker.template.TemplateModel;
@@ -100,7 +98,7 @@
         if (key == null) {
             key = TilesAccess.CONTAINER_ATTRIBUTE;
         }
-        return (TilesContainer) getServletContextHashModel(env).getServlet()
+        return (TilesContainer) 
FreeMarkerRequestUtil.getServletContextHashModel(env).getServlet()
                 .getServletContext().getAttribute(key);
     }
 
@@ -144,30 +142,11 @@
      */
     public static TilesContainer getCurrentContainer(Environment env) {
         return 
ServletUtil.getCurrentContainer(FreeMarkerRequestUtil.getRequestHashModel(env)
-                .getRequest(), getServletContextHashModel(env).getServlet()
+                .getRequest(), 
FreeMarkerRequestUtil.getServletContextHashModel(env).getServlet()
                 .getServletContext());
     }
 
     /**
-     * Returns the servlet context hash model.
-     *
-     * @param env The current FreeMarker environment.
-     * @return The servlet context hash model.
-     * @since 2.2.0
-     */
-    public static ServletContextHashModel getServletContextHashModel(
-            Environment env) {
-        try {
-            return (ServletContextHashModel) env.getDataModel().get(
-                    FreemarkerServlet.KEY_APPLICATION);
-        } catch (TemplateModelException e) {
-            throw new FreeMarkerTilesException(
-                    "Exception got when obtaining the application hash model",
-                    e);
-        }
-    }
-
-    /**
      * Unwraps a TemplateModel to extract a string.
      *
      * @param model The TemplateModel to unwrap.
@@ -243,7 +222,7 @@
             
FreeMarkerRequestUtil.getRequestHashModel(env).getRequest().getSession().setAttribute(
                     name, obj);
         } else if ("application".equals(scope)) {
-            getServletContextHashModel(env).getServlet().getServletContext()
+            
FreeMarkerRequestUtil.getServletContextHashModel(env).getServlet().getServletContext()
                     .setAttribute(name, obj);
         }
     }

Modified: 
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerUtilTest.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerUtilTest.java?rev=882693&r1=882692&r2=882693&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerUtilTest.java
 (original)
+++ 
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerUtilTest.java
 Fri Nov 20 19:41:52 2009
@@ -93,10 +93,10 @@
     private TemplateHashModel model;
 
     /**
-     * @throws java.lang.Exception If something goes wrong.
+     * Sets up the model.
      */
     @Before
-    public void setUp() throws Exception {
+    public void setUp() {
         template = createMock(Template.class);
         model = createMock(TemplateHashModel.class);
         writer = new StringWriter();
@@ -297,30 +297,6 @@
 
     /**
      * Test method for {...@link 
org.apache.tiles.freemarker.context.FreeMarkerUtil
-     * #getServletContextHashModel(freemarker.core.Environment)}.
-     * @throws TemplateModelException If something goes wrong.
-     */
-    @Test
-    public void testGetServletContextHashModel() throws TemplateModelException 
{
-        GenericServlet servlet = createMock(GenericServlet.class);
-        ServletContext servletContext = createMock(ServletContext.class);
-        ObjectWrapper objectWrapper = createMock(ObjectWrapper.class);
-        expect(servlet.getServletContext()).andReturn(servletContext);
-        replay(servlet, objectWrapper);
-        ServletContextHashModel servletContextModel = new 
ServletContextHashModel(servlet, objectWrapper);
-
-        expect(model.get("Application")).andReturn(servletContextModel);
-
-        replay(template, model, servletContext);
-        env = new Environment(template, model, writer);
-        locale = Locale.ITALY;
-        env.setLocale(locale);
-        assertEquals(servletContextModel, getServletContextHashModel(env));
-        verify(template, model, servlet, servletContext, objectWrapper);
-    }
-
-    /**
-     * Test method for {...@link 
org.apache.tiles.freemarker.context.FreeMarkerUtil
      * #setAttribute(freemarker.core.Environment, java.lang.String, 
java.lang.Object, java.lang.String)}.
      * @throws TemplateModelException If something goes wrong.
      */


Reply via email to