Author: apetrelli
Date: Sun Sep 12 19:28:30 2010
New Revision: 996372
URL: http://svn.apache.org/viewvc?rev=996372&view=rev
Log:
TILESSB-35
Created FreemarkerRenderer and used it instead of FreemarkerAttributeRenderer.
Added:
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/AttributeValueFreemarkerServlet.java
(with props)
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/FreemarkerRenderer.java
- copied, changed from r996298,
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/renderer/FreeMarkerAttributeRenderer.java
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/FreemarkerRendererBuilder.java
(with props)
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/InitParamsServletConfig.java
(with props)
Modified:
tiles/sandbox/trunk/tiles3/tiles-extras/src/main/java/org/apache/tiles/extras/complete/CompleteAutoloadTilesContainerFactory.java
tiles/sandbox/trunk/tiles3/tiles-extras/src/test/java/org/apache/tiles/extras/complete/CompleteAutoloadTilesContainerFactoryTest.java
Added:
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/AttributeValueFreemarkerServlet.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/AttributeValueFreemarkerServlet.java?rev=996372&view=auto
==============================================================================
---
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/AttributeValueFreemarkerServlet.java
(added)
+++
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/AttributeValueFreemarkerServlet.java
Sun Sep 12 19:28:30 2010
@@ -0,0 +1,34 @@
+package org.apache.tiles.request.freemarker.render;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.tiles.request.freemarker.servlet.TilesFreemarkerServlet;
+
+/**
+ * Extends {...@link TilesFreemarkerServlet} to use the attribute value as the
template name.
+ */
+public class AttributeValueFreemarkerServlet extends TilesFreemarkerServlet {
+
+ private static final long serialVersionUID = 5412169082301451211L;
+
+ /**
+ * Holds the value that should be used as the template name.
+ */
+ private ThreadLocal<String> valueHolder = new ThreadLocal<String>();
+
+ /**
+ * Sets the value to use as the template name.
+ *
+ * @param value The template name.
+ * @since 2.2.0
+ */
+ public void setValue(String value) {
+ valueHolder.set(value);
+ }
+
+ /** {...@inheritdoc} */
+ @Override
+ protected String requestUrlToTemplatePath(HttpServletRequest request) {
+ return valueHolder.get();
+ }
+}
\ No newline at end of file
Propchange:
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/AttributeValueFreemarkerServlet.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/AttributeValueFreemarkerServlet.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Copied:
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/FreemarkerRenderer.java
(from r996298,
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/renderer/FreeMarkerAttributeRenderer.java)
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/FreemarkerRenderer.java?p2=tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/FreemarkerRenderer.java&p1=tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/renderer/FreeMarkerAttributeRenderer.java&r1=996298&r2=996372&rev=996372&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/renderer/FreeMarkerAttributeRenderer.java
(original)
+++
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/FreemarkerRenderer.java
Sun Sep 12 19:28:30 2010
@@ -19,30 +19,20 @@
* under the License.
*/
-package org.apache.tiles.freemarker.renderer;
+package org.apache.tiles.request.freemarker.render;
import java.io.IOException;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Map;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.apache.tiles.Attribute;
-import org.apache.tiles.freemarker.FreeMarkerTilesException;
-import org.apache.tiles.impl.InvalidTemplateException;
-import org.apache.tiles.renderer.impl.AbstractTypeDetectingAttributeRenderer;
-import org.apache.tiles.request.ApplicationContext;
import org.apache.tiles.request.Request;
-import org.apache.tiles.request.collection.IteratorEnumeration;
+import org.apache.tiles.request.freemarker.FreemarkerRequestException;
import org.apache.tiles.request.freemarker.servlet.TilesFreemarkerServlet;
+import org.apache.tiles.request.render.TypeDetectingRenderer;
import org.apache.tiles.request.servlet.ExternalWriterHttpServletResponse;
import org.apache.tiles.request.servlet.ServletRequest;
-import org.apache.tiles.request.util.ApplicationContextAware;
/**
* FreeMarker renderer for rendering FreeMarker templates as Tiles attributes.
@@ -54,157 +44,38 @@ import org.apache.tiles.request.util.App
* @version $Rev$ $Date$
* @since 2.2.0
*/
-public class FreeMarkerAttributeRenderer extends
- AbstractTypeDetectingAttributeRenderer implements
- ApplicationContextAware {
+public class FreemarkerRenderer implements TypeDetectingRenderer {
/**
* The servlet that is used to forward the request to.
*/
private AttributeValueFreemarkerServlet servlet;
- /**
- * The initialization parameters.
- */
- private Map<String, String> params = new HashMap<String, String>();
-
- /**
- * The application context.
- *
- * @since 3.0.0
- */
- private ApplicationContext applicationContext;
-
- /**
- * Sets a parameter for the internal servlet.
- *
- * @param key The name of the parameter.
- * @param value The value of the parameter.
- * @since 2.2.0
- */
- public void setParameter(String key, String value) {
- params.put(key, value);
- }
-
- /**
- * Sets the application context.
- *
- * @param applicationContext The application context.
- * @since 3.0.0
- */
- public void setApplicationContext(ApplicationContext applicationContext) {
- this.applicationContext = applicationContext;
- }
-
- /**
- * Commits the parameters and makes this renderer ready for the use.
- *
- * @since 2.2.0
- */
- public void commit() {
- servlet = new AttributeValueFreemarkerServlet();
- try {
- servlet.init(new InitParamsServletConfig());
- } catch (ServletException e) {
- throw new FreeMarkerTilesException(
- "Cannot initialize internal servlet", e);
- }
+ public FreemarkerRenderer(AttributeValueFreemarkerServlet servlet) {
+ this.servlet = servlet;
}
/** {...@inheritdoc} */
@Override
- public void write(Object value, Attribute attribute,
- Request request) throws IOException {
- if (value != null) {
- if (value instanceof String) {
- ServletRequest servletRequest =
org.apache.tiles.request.servlet.ServletUtil.getServletRequest(request);
- HttpServletRequest httpRequest = servletRequest.getRequest();
- HttpServletResponse httpResponse =
servletRequest.getResponse();
- servlet.setValue((String) value);
- try {
- servlet.doGet(httpRequest,
- new ExternalWriterHttpServletResponse(httpResponse,
- request.getPrintWriter()));
- } catch (ServletException e) {
- throw new FreeMarkerTilesException("Exception when
rendering a FreeMarker attribute", e);
- }
- } else {
- throw new InvalidTemplateException(
- "Cannot render a template that is not a string: "
- + value.toString());
- }
- } else {
- throw new InvalidTemplateException("Cannot render a null
template");
+ public void render(String path, Request request) throws IOException {
+ if (path == null) {
+ throw new
org.apache.tiles.request.render.InvalidTemplateException("Cannot dispatch a
null path");
+ }
+ ServletRequest servletRequest =
org.apache.tiles.request.servlet.ServletUtil.getServletRequest(request);
+ HttpServletRequest httpRequest = servletRequest.getRequest();
+ HttpServletResponse httpResponse = servletRequest.getResponse();
+ servlet.setValue(path);
+ try {
+ servlet.doGet(httpRequest,
+ new ExternalWriterHttpServletResponse(httpResponse,
+ request.getPrintWriter()));
+ } catch (ServletException e) {
+ throw new FreemarkerRequestException("Exception when rendering a
FreeMarker attribute", e);
}
}
/** {...@inheritdoc} */
- public boolean isRenderable(Object value, Attribute attribute,
- Request request) {
- if (value instanceof String) {
- String string = (String) value;
- return string.startsWith("/") && string.endsWith(".ftl");
- }
- return false;
- }
-
- /**
- * Extends {...@link TilesFreemarkerServlet} to use the attribute value as
the template name.
- *
- * @since 2.2.0
- */
- private static class AttributeValueFreemarkerServlet extends
TilesFreemarkerServlet {
-
- /**
- * Holds the value that should be used as the template name.
- */
- private ThreadLocal<String> valueHolder = new ThreadLocal<String>();
-
- /**
- * Sets the value to use as the template name.
- *
- * @param value The template name.
- * @since 2.2.0
- */
- public void setValue(String value) {
- valueHolder.set(value);
- }
-
- /** {...@inheritdoc} */
- @Override
- protected String requestUrlToTemplatePath(HttpServletRequest request) {
- return valueHolder.get();
- }
- }
-
- /**
- * Implements {...@link ServletConfig} to initialize the internal servlet
using parameters
- * set through {...@link FreeMarkerAttributeRenderer#setParameter(String,
String)}.
- *
- * @version $Rev$ $Date$
- * @since 2.2.0
- */
- private class InitParamsServletConfig implements ServletConfig {
-
- /** {...@inheritdoc} */
- public String getInitParameter(String name) {
- return params.get(name);
- }
-
- /** {...@inheritdoc} */
- @SuppressWarnings("unchecked")
- public Enumeration getInitParameterNames() {
- return new IteratorEnumeration(params.keySet().iterator());
- }
-
- /** {...@inheritdoc} */
- public ServletContext getServletContext() {
- return
org.apache.tiles.request.servlet.ServletUtil.getServletContext(applicationContext);
- }
-
- /** {...@inheritdoc} */
- public String getServletName() {
- return "FreeMarker Attribute Renderer";
- }
+ public boolean isRenderable(String path, Request request) {
+ return path != null && path.startsWith("/") && path.endsWith(".ftl");
}
}
Added:
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/FreemarkerRendererBuilder.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/FreemarkerRendererBuilder.java?rev=996372&view=auto
==============================================================================
---
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/FreemarkerRendererBuilder.java
(added)
+++
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/FreemarkerRendererBuilder.java
Sun Sep 12 19:28:30 2010
@@ -0,0 +1,67 @@
+package org.apache.tiles.request.freemarker.render;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.servlet.ServletException;
+
+import org.apache.tiles.request.ApplicationContext;
+import org.apache.tiles.request.freemarker.FreemarkerRequestException;
+
+public class FreemarkerRendererBuilder {
+
+ /**
+ * The initialization parameters.
+ */
+ private Map<String, String> params = new HashMap<String, String>();
+
+ /**
+ * The application context.
+ *
+ * @since 3.0.0
+ */
+ private ApplicationContext applicationContext;
+
+ private FreemarkerRendererBuilder() {
+ }
+
+ public static FreemarkerRendererBuilder createInstance() {
+ return new FreemarkerRendererBuilder();
+ }
+
+ /**
+ * Sets a parameter for the internal servlet.
+ *
+ * @param key The name of the parameter.
+ * @param value The value of the parameter.
+ * @since 2.2.0
+ */
+ public FreemarkerRendererBuilder setParameter(String key, String value) {
+ params.put(key, value);
+ return this;
+ }
+
+ /**
+ * Sets the application context.
+ *
+ * @param applicationContext The application context.
+ * @since 3.0.0
+ */
+ public FreemarkerRendererBuilder setApplicationContext(ApplicationContext
applicationContext) {
+ this.applicationContext = applicationContext;
+ return this;
+ }
+
+ public FreemarkerRenderer build() {
+ AttributeValueFreemarkerServlet servlet = new
AttributeValueFreemarkerServlet();
+ try {
+ servlet.init(new InitParamsServletConfig(params,
applicationContext));
+ return new FreemarkerRenderer(servlet);
+ } catch (ServletException e) {
+ throw new FreemarkerRequestException(
+ "Cannot initialize internal servlet", e);
+ }
+
+ }
+
+}
Propchange:
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/FreemarkerRendererBuilder.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/FreemarkerRendererBuilder.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added:
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/InitParamsServletConfig.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/InitParamsServletConfig.java?rev=996372&view=auto
==============================================================================
---
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/InitParamsServletConfig.java
(added)
+++
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/InitParamsServletConfig.java
Sun Sep 12 19:28:30 2010
@@ -0,0 +1,59 @@
+package org.apache.tiles.request.freemarker.render;
+
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletContext;
+
+import org.apache.tiles.request.ApplicationContext;
+import org.apache.tiles.request.collection.IteratorEnumeration;
+
+/**
+ * Implements {...@link ServletConfig} to initialize the internal servlet
using parameters
+ * set through {...@link FreemarkerRenderer#setParameter(String, String)}.
+ *
+ * @version $Rev$ $Date$
+ * @since 2.2.0
+ */
+public class InitParamsServletConfig implements ServletConfig {
+
+ /**
+ * The initialization parameters.
+ */
+ private Map<String, String> params = new HashMap<String, String>();
+
+ /**
+ * The application context.
+ *
+ * @since 3.0.0
+ */
+ private ApplicationContext applicationContext;
+
+ public InitParamsServletConfig(Map<String, String> params,
ApplicationContext applicationContext) {
+ this.params = params;
+ this.applicationContext = applicationContext;
+ }
+
+ /** {...@inheritdoc} */
+ public String getInitParameter(String name) {
+ return params.get(name);
+ }
+
+ /** {...@inheritdoc} */
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ public Enumeration getInitParameterNames() {
+ return new IteratorEnumeration(params.keySet().iterator());
+ }
+
+ /** {...@inheritdoc} */
+ public ServletContext getServletContext() {
+ return
org.apache.tiles.request.servlet.ServletUtil.getServletContext(applicationContext);
+ }
+
+ /** {...@inheritdoc} */
+ public String getServletName() {
+ return "FreeMarker Attribute Renderer";
+ }
+}
\ No newline at end of file
Propchange:
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/InitParamsServletConfig.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/render/InitParamsServletConfig.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Modified:
tiles/sandbox/trunk/tiles3/tiles-extras/src/main/java/org/apache/tiles/extras/complete/CompleteAutoloadTilesContainerFactory.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-extras/src/main/java/org/apache/tiles/extras/complete/CompleteAutoloadTilesContainerFactory.java?rev=996372&r1=996371&r2=996372&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles3/tiles-extras/src/main/java/org/apache/tiles/extras/complete/CompleteAutoloadTilesContainerFactory.java
(original)
+++
tiles/sandbox/trunk/tiles3/tiles-extras/src/main/java/org/apache/tiles/extras/complete/CompleteAutoloadTilesContainerFactory.java
Sun Sep 12 19:28:30 2010
@@ -59,7 +59,6 @@ import org.apache.tiles.evaluator.BasicA
import org.apache.tiles.factory.BasicTilesContainerFactory;
import org.apache.tiles.factory.TilesContainerFactoryException;
import org.apache.tiles.freemarker.TilesSharedVariableFactory;
-import org.apache.tiles.freemarker.renderer.FreeMarkerAttributeRenderer;
import org.apache.tiles.impl.mgmt.CachingTilesContainer;
import org.apache.tiles.locale.LocaleResolver;
import org.apache.tiles.mvel.MVELAttributeEvaluator;
@@ -81,6 +80,8 @@ import org.apache.tiles.renderer.impl.Ch
import org.apache.tiles.renderer.impl.DelegateAttributeRenderer;
import org.apache.tiles.request.ApplicationContext;
import org.apache.tiles.request.Request;
+import org.apache.tiles.request.freemarker.render.FreemarkerRenderer;
+import org.apache.tiles.request.freemarker.render.FreemarkerRendererBuilder;
import org.apache.tiles.request.freemarker.servlet.TilesFreemarkerServlet;
import org.apache.tiles.request.velocity.render.VelocityRenderer;
import org.apache.tiles.request.velocity.render.VelocityRendererBuilder;
@@ -133,20 +134,22 @@ public class CompleteAutoloadTilesContai
super.registerAttributeRenderers(rendererFactory, applicationContext,
container,
attributeEvaluatorFactory);
- FreeMarkerAttributeRenderer freemarkerRenderer = new
FreeMarkerAttributeRenderer();
- freemarkerRenderer.setApplicationContext(applicationContext);
-
freemarkerRenderer.setAttributeEvaluatorFactory(attributeEvaluatorFactory);
- freemarkerRenderer.setParameter("TemplatePath", "/");
- freemarkerRenderer.setParameter("NoCache", "true");
- freemarkerRenderer.setParameter("ContentType", "text/html");
- freemarkerRenderer.setParameter("template_update_delay", "0");
- freemarkerRenderer.setParameter("default_encoding", "ISO-8859-1");
- freemarkerRenderer.setParameter("number_format", "0.##########");
- freemarkerRenderer.setParameter(
-
TilesFreemarkerServlet.CUSTOM_SHARED_VARIABLE_FACTORIES_INIT_PARAM,
- "tiles," + TilesSharedVariableFactory.class.getName());
- freemarkerRenderer.commit();
- rendererFactory.registerRenderer(FREEMARKER_RENDERER_NAME,
freemarkerRenderer);
+ FreemarkerRenderer freemarkerRenderer = FreemarkerRendererBuilder
+ .createInstance()
+ .setApplicationContext(applicationContext)
+ .setParameter("TemplatePath", "/")
+ .setParameter("NoCache", "true")
+ .setParameter("ContentType", "text/html")
+ .setParameter("template_update_delay", "0")
+ .setParameter("default_encoding", "ISO-8859-1")
+ .setParameter("number_format", "0.##########")
+ .setParameter(
+
TilesFreemarkerServlet.CUSTOM_SHARED_VARIABLE_FACTORIES_INIT_PARAM,
+ "tiles," + TilesSharedVariableFactory.class.getName())
+ .build();
+ rendererFactory.registerRenderer(FREEMARKER_RENDERER_NAME,
+ new DelegateAttributeRenderer(freemarkerRenderer,
+ attributeEvaluatorFactory));
VelocityRenderer velocityRenderer = VelocityRendererBuilder
.createInstance().setApplicationContext(applicationContext)
Modified:
tiles/sandbox/trunk/tiles3/tiles-extras/src/test/java/org/apache/tiles/extras/complete/CompleteAutoloadTilesContainerFactoryTest.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-extras/src/test/java/org/apache/tiles/extras/complete/CompleteAutoloadTilesContainerFactoryTest.java?rev=996372&r1=996371&r2=996372&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles3/tiles-extras/src/test/java/org/apache/tiles/extras/complete/CompleteAutoloadTilesContainerFactoryTest.java
(original)
+++
tiles/sandbox/trunk/tiles3/tiles-extras/src/test/java/org/apache/tiles/extras/complete/CompleteAutoloadTilesContainerFactoryTest.java
Sun Sep 12 19:28:30 2010
@@ -21,18 +21,9 @@
package org.apache.tiles.extras.complete;
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.eq;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.expectLastCall;
-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.assertSame;
-import static org.junit.Assert.assertTrue;
+import static org.easymock.EasyMock.*;
+import static org.easymock.classextension.EasyMock.*;
+import static org.junit.Assert.*;
import java.io.IOException;
import java.net.URL;
@@ -55,7 +46,6 @@ import org.apache.tiles.definition.patte
import org.apache.tiles.definition.pattern.PrefixedPatternDefinitionResolver;
import org.apache.tiles.evaluator.AttributeEvaluatorFactory;
import org.apache.tiles.evaluator.BasicAttributeEvaluatorFactory;
-import org.apache.tiles.freemarker.renderer.FreeMarkerAttributeRenderer;
import org.apache.tiles.impl.mgmt.CachingTilesContainer;
import org.apache.tiles.locale.LocaleResolver;
import org.apache.tiles.renderer.AttributeRenderer;
@@ -130,7 +120,7 @@ public class CompleteAutoloadTilesContai
rendererFactory.registerRenderer(eq("definition"),
isA(DelegateAttributeRenderer.class));
rendererFactory.registerRenderer(eq("freemarker"),
- isA(FreeMarkerAttributeRenderer.class));
+ isA(DelegateAttributeRenderer.class));
rendererFactory.registerRenderer(eq("velocity"),
isA(DelegateAttributeRenderer.class));