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.
*/