Author: apetrelli
Date: Tue Nov 10 20:05:33 2009
New Revision: 834638
URL: http://svn.apache.org/viewvc?rev=834638&view=rev
Log:
TILESSB-12
Preparing tiles-freemarker for the separation.
Added:
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerRequestUtil.java
(with props)
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerRequestUtilTest.java
(with props)
Modified:
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerTilesRequestContextFactory.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/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerRequestUtil.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerRequestUtil.java?rev=834638&view=auto
==============================================================================
---
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerRequestUtil.java
(added)
+++
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerRequestUtil.java
Tue Nov 10 20:05:33 2009
@@ -0,0 +1,32 @@
+package org.apache.tiles.freemarker.context;
+
+import org.apache.tiles.freemarker.FreeMarkerTilesException;
+
+import freemarker.core.Environment;
+import freemarker.ext.servlet.FreemarkerServlet;
+import freemarker.ext.servlet.HttpRequestHashModel;
+import freemarker.template.TemplateModelException;
+
+public final class FreeMarkerRequestUtil {
+
+ private FreeMarkerRequestUtil() {
+ }
+
+ /**
+ * Returns the HTTP request hash model.
+ *
+ * @param env The current FreeMarker environment.
+ * @return The request hash model.
+ * @since 2.2.0
+ */
+ public static HttpRequestHashModel getRequestHashModel(Environment env)
{
+ try {
+ return (HttpRequestHashModel) env.getDataModel().get(
+ FreemarkerServlet.KEY_REQUEST);
+ } catch (TemplateModelException e) {
+ throw new FreeMarkerTilesException(
+ "Exception got when obtaining the request hash model",
e);
+ }
+ }
+
+}
Propchange:
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerRequestUtil.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerRequestUtil.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Modified:
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerTilesRequestContextFactory.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerTilesRequestContextFactory.java?rev=834638&r1=834637&r2=834638&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerTilesRequestContextFactory.java
(original)
+++
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerTilesRequestContextFactory.java
Tue Nov 10 20:05:33 2009
@@ -68,7 +68,7 @@
Environment env = (Environment) requestItems[0];
HttpRequestHashModel requestModel;
try {
- requestModel = FreeMarkerUtil.getRequestHashModel(env);
+ requestModel = FreeMarkerRequestUtil.getRequestHashModel(env);
} catch (FreeMarkerTilesException e) {
log.warn("Cannot evaluate as a FreeMarker in Servlet
Environment, skipping", e);
return null;
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=834638&r1=834637&r2=834638&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
Tue Nov 10 20:05:33 2009
@@ -36,7 +36,6 @@
import freemarker.core.Environment;
import freemarker.ext.servlet.FreemarkerServlet;
-import freemarker.ext.servlet.HttpRequestHashModel;
import freemarker.ext.servlet.ServletContextHashModel;
import freemarker.template.TemplateDirectiveBody;
import freemarker.template.TemplateException;
@@ -72,7 +71,7 @@
*/
public static boolean isForceInclude(Environment env) {
return org.apache.tiles.request.servlet.ServletUtil
- .isForceInclude(getRequestHashModel(env).getRequest());
+
.isForceInclude(FreeMarkerRequestUtil.getRequestHashModel(env).getRequest());
}
/**
@@ -85,7 +84,7 @@
*/
public static void setForceInclude(Environment env, boolean forceInclude) {
org.apache.tiles.request.servlet.ServletUtil.setForceInclude(
- getRequestHashModel(env).getRequest(),
forceInclude);
+
FreeMarkerRequestUtil.getRequestHashModel(env).getRequest(), forceInclude);
}
/**
@@ -115,7 +114,7 @@
public static void setCurrentContainer(Environment env, String key) {
TilesContainer container = getContainer(env, key);
if (container != null) {
- getRequestHashModel(env).getRequest().setAttribute(
+
FreeMarkerRequestUtil.getRequestHashModel(env).getRequest().setAttribute(
ServletUtil.CURRENT_CONTAINER_ATTRIBUTE_NAME, container);
} else {
throw new NoSuchContainerException("The container with the key '"
@@ -132,7 +131,7 @@
*/
public static void setCurrentContainer(Environment env,
TilesContainer container) {
- ServletUtil.setCurrentContainer(getRequestHashModel(env).getRequest(),
+
ServletUtil.setCurrentContainer(FreeMarkerRequestUtil.getRequestHashModel(env).getRequest(),
getServletContextHashModel(env).getServlet()
.getServletContext(), container);
}
@@ -145,29 +144,12 @@
* @since 2.2.0
*/
public static TilesContainer getCurrentContainer(Environment env) {
- return ServletUtil.getCurrentContainer(getRequestHashModel(env)
+ return
ServletUtil.getCurrentContainer(FreeMarkerRequestUtil.getRequestHashModel(env)
.getRequest(), getServletContextHashModel(env).getServlet()
.getServletContext());
}
/**
- * Returns the HTTP request hash model.
- *
- * @param env The current FreeMarker environment.
- * @return The request hash model.
- * @since 2.2.0
- */
- public static HttpRequestHashModel getRequestHashModel(Environment env) {
- try {
- return (HttpRequestHashModel) env.getDataModel().get(
- FreemarkerServlet.KEY_REQUEST);
- } catch (TemplateModelException e) {
- throw new FreeMarkerTilesException(
- "Exception got when obtaining the request hash model", e);
- }
- }
-
- /**
* Returns the servlet context hash model.
*
* @param env The current FreeMarker environment.
@@ -257,9 +239,9 @@
"Error when wrapping an object", e);
}
} else if ("request".equals(scope)) {
- getRequestHashModel(env).getRequest().setAttribute(name, obj);
+
FreeMarkerRequestUtil.getRequestHashModel(env).getRequest().setAttribute(name,
obj);
} else if ("session".equals(scope)) {
- getRequestHashModel(env).getRequest().getSession().setAttribute(
+
FreeMarkerRequestUtil.getRequestHashModel(env).getRequest().getSession().setAttribute(
name, obj);
} else if ("application".equals(scope)) {
getServletContextHashModel(env).getServlet().getServletContext()
@@ -276,7 +258,7 @@
*/
@SuppressWarnings("unchecked")
public static ArrayStack<Object> getComposeStack(Environment env) {
- HttpServletRequest request = getRequestHashModel(env).getRequest();
+ HttpServletRequest request =
FreeMarkerRequestUtil.getRequestHashModel(env).getRequest();
ArrayStack<Object> composeStack = (ArrayStack<Object>) request
.getAttribute(COMPOSE_STACK_ATTRIBUTE_NAME);
if (composeStack == null) {
Added:
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerRequestUtilTest.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerRequestUtilTest.java?rev=834638&view=auto
==============================================================================
---
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerRequestUtilTest.java
(added)
+++
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerRequestUtilTest.java
Tue Nov 10 20:05:33 2009
@@ -0,0 +1,88 @@
+/**
+ *
+ */
+package org.apache.tiles.freemarker.context;
+
+import static org.easymock.EasyMock.*;
+import static org.easymock.classextension.EasyMock.*;
+import static org.junit.Assert.*;
+
+import java.io.StringWriter;
+import java.util.HashMap;
+import java.util.Locale;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import freemarker.core.Environment;
+import freemarker.ext.servlet.HttpRequestHashModel;
+import freemarker.template.ObjectWrapper;
+import freemarker.template.Template;
+import freemarker.template.TemplateHashModel;
+import freemarker.template.TemplateModelException;
+
+/**
+ * Tests {...@link FreeMarkerRequestUtil}.
+ *
+ */
+public class FreeMarkerRequestUtilTest {
+
+ /**
+ * A string writer.
+ */
+ private StringWriter writer;
+
+ /**
+ * The FreeMarker environment.
+ */
+ private Environment env;
+
+ /**
+ * The locale object.
+ */
+ private Locale locale;
+
+ /**
+ * The template.
+ */
+ private Template template;
+
+ /**
+ * The template model.
+ */
+ private TemplateHashModel model;
+
+ /**
+ * @throws java.lang.Exception If something goes wrong.
+ */
+ @Before
+ public void setUp() throws Exception {
+ template = createMock(Template.class);
+ model = createMock(TemplateHashModel.class);
+ writer = new StringWriter();
+ expect(template.getMacros()).andReturn(new HashMap<Object, Object>());
+ }
+
+ /**
+ * Test method for {...@link
org.apache.tiles.freemarker.context.FreeMarkerRequestUtil#getRequestHashModel(freemarker.core.Environment)}.
+ * @throws TemplateModelException If something goes wrong.
+ */
+ @Test
+ public void testGetRequestHashModel() throws TemplateModelException {
+ HttpServletRequest request = createMock(HttpServletRequest.class);
+ ObjectWrapper objectWrapper = createMock(ObjectWrapper.class);
+ HttpRequestHashModel requestModel = new HttpRequestHashModel(request,
objectWrapper);
+
+ expect(model.get("Request")).andReturn(requestModel);
+
+ replay(template, model, request, objectWrapper);
+ env = new Environment(template, model, writer);
+ locale = Locale.ITALY;
+ env.setLocale(locale);
+ assertEquals(requestModel,
FreeMarkerRequestUtil.getRequestHashModel(env));
+ verify(template, model, request, objectWrapper);
+ }
+
+}
Propchange:
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerRequestUtilTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerRequestUtilTest.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
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=834638&r1=834637&r2=834638&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
Tue Nov 10 20:05:33 2009
@@ -21,27 +21,10 @@
package org.apache.tiles.freemarker.context;
-import static
org.apache.tiles.freemarker.context.FreeMarkerUtil.COMPOSE_STACK_ATTRIBUTE_NAME;
-import static org.apache.tiles.freemarker.context.FreeMarkerUtil.evaluateBody;
-import static
org.apache.tiles.freemarker.context.FreeMarkerUtil.getComposeStack;
-import static org.apache.tiles.freemarker.context.FreeMarkerUtil.getContainer;
-import static
org.apache.tiles.freemarker.context.FreeMarkerUtil.getCurrentContainer;
-import static
org.apache.tiles.freemarker.context.FreeMarkerUtil.getRequestHashModel;
-import static
org.apache.tiles.freemarker.context.FreeMarkerUtil.getServletContextHashModel;
-import static
org.apache.tiles.freemarker.context.FreeMarkerUtil.isForceInclude;
-import static
org.apache.tiles.freemarker.context.FreeMarkerUtil.renderAsString;
-import static org.apache.tiles.freemarker.context.FreeMarkerUtil.setAttribute;
-import static
org.apache.tiles.freemarker.context.FreeMarkerUtil.setCurrentContainer;
-import static
org.apache.tiles.freemarker.context.FreeMarkerUtil.setForceInclude;
-import static org.easymock.EasyMock.eq;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.classextension.EasyMock.createMock;
-import static org.easymock.classextension.EasyMock.replay;
-import static org.easymock.classextension.EasyMock.verify;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.apache.tiles.freemarker.context.FreeMarkerUtil.*;
+import static org.easymock.EasyMock.*;
+import static org.easymock.classextension.EasyMock.*;
+import static org.junit.Assert.*;
import java.io.IOException;
import java.io.StringWriter;
@@ -314,27 +297,6 @@
/**
* Test method for {...@link
org.apache.tiles.freemarker.context.FreeMarkerUtil
- * #getRequestHashModel(freemarker.core.Environment)}.
- * @throws TemplateModelException If something goes wrong.
- */
- @Test
- public void testGetRequestHashModel() throws TemplateModelException {
- HttpServletRequest request = createMock(HttpServletRequest.class);
- ObjectWrapper objectWrapper = createMock(ObjectWrapper.class);
- HttpRequestHashModel requestModel = new HttpRequestHashModel(request,
objectWrapper);
-
- expect(model.get("Request")).andReturn(requestModel);
-
- replay(template, model, request, objectWrapper);
- env = new Environment(template, model, writer);
- locale = Locale.ITALY;
- env.setLocale(locale);
- assertEquals(requestModel, getRequestHashModel(env));
- verify(template, model, request, objectWrapper);
- }
-
- /**
- * Test method for {...@link
org.apache.tiles.freemarker.context.FreeMarkerUtil
* #getServletContextHashModel(freemarker.core.Environment)}.
* @throws TemplateModelException If something goes wrong.
*/