Author: apetrelli
Date: Thu Nov 25 20:07:17 2010
New Revision: 1039162
URL: http://svn.apache.org/viewvc?rev=1039162&view=rev
Log:
TILESSB-11
Completed tests for tiles-autotag-freemarker (and runtime too).
Added:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerUtil.java
- copied, changed from r982374,
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/FreeMarkerUtil.java
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/BodyFMModelTest.java
(with props)
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/BodylessFMModelTest.java
(with props)
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerAutotagExceptionTest.java
(with props)
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerModelBodyTest.java
(with props)
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerUtilTest.java
(with props)
Removed:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/FreeMarkerUtil.java
Modified:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/model/TemplateClass.java
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/model/TemplateClassTest.java
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/pom.xml
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/BodyFMModel.java
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/BodylessFMModel.java
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/main/resources/org/apache/tiles/autotag/freemarker/fmModel.vm
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/main/resources/org/apache/tiles/autotag/freemarker/repository.vm
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/resources/org/apache/tiles/autotag/freemarker/test/DoStuffFMModel.javat
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/resources/org/apache/tiles/autotag/freemarker/test/DoStuffNoBodyFMModel.javat
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/resources/org/apache/tiles/autotag/freemarker/test/TldtestFMModelRepository.javat
tiles/sandbox/trunk/tiles3/src/site/apt/tutorial/extension/template.apt
Modified:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/model/TemplateClass.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/model/TemplateClass.java?rev=1039162&r1=1039161&r2=1039162&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/model/TemplateClass.java
(original)
+++
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/model/TemplateClass.java
Thu Nov 25 20:07:17 2010
@@ -32,6 +32,14 @@ public class TemplateClass {
return name;
}
+ public String getSimpleName() {
+ int pos = name.lastIndexOf('.');
+ if (pos >= 0) {
+ return name.substring(pos + 1);
+ }
+ return name;
+ }
+
public String getTagName() {
return tagName;
}
Modified:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/model/TemplateClassTest.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/model/TemplateClassTest.java?rev=1039162&r1=1039161&r2=1039162&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/model/TemplateClassTest.java
(original)
+++
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/model/TemplateClassTest.java
Thu Nov 25 20:07:17 2010
@@ -51,6 +51,17 @@ public class TemplateClassTest {
}
/**
+ * Test method for {...@link
org.apache.tiles.autotag.model.TemplateClass#getSimpleName()}.
+ */
+ @Test
+ public void testGetSimpleName() {
+ TemplateClass templateClass = new TemplateClass("name");
+ assertEquals("name", templateClass.getSimpleName());
+ templateClass = new TemplateClass("org.whatever.Hello");
+ assertEquals("Hello", templateClass.getSimpleName());
+ }
+
+ /**
* Test method for {...@link
org.apache.tiles.autotag.model.TemplateClass#setDocumentation(java.lang.String)}.
*/
@Test
Modified:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/pom.xml
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/pom.xml?rev=1039162&r1=1039161&r2=1039162&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/pom.xml
(original)
+++ tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/pom.xml
Thu Nov 25 20:07:17 2010
@@ -26,5 +26,23 @@
<artifactId>tiles-request-freemarker</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.8.2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.easymock</groupId>
+ <artifactId>easymock</artifactId>
+ <version>3.0</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.5</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
Modified:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/BodyFMModel.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/BodyFMModel.java?rev=1039162&r1=1039161&r2=1039162&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/BodyFMModel.java
(original)
+++
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/BodyFMModel.java
Thu Nov 25 20:07:17 2010
@@ -17,7 +17,7 @@ public abstract class BodyFMModel implem
@SuppressWarnings("unchecked")
@Override
- public void execute(Environment env, Map params, TemplateModel[] loopVars,
+ public void execute(Environment env, @SuppressWarnings("rawtypes") Map
params, TemplateModel[] loopVars,
TemplateDirectiveBody body) throws IOException {
Request request = FreemarkerRequest.createServletFreemarkerRequest(
FreemarkerRequestUtil.getApplicationContext(env), env);
Modified:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/BodylessFMModel.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/BodylessFMModel.java?rev=1039162&r1=1039161&r2=1039162&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/BodylessFMModel.java
(original)
+++
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/BodylessFMModel.java
Thu Nov 25 20:07:17 2010
@@ -16,7 +16,7 @@ public abstract class BodylessFMModel im
@SuppressWarnings("unchecked")
@Override
- public void execute(Environment env, Map params, TemplateModel[] loopVars,
+ public void execute(Environment env, @SuppressWarnings("rawtypes") Map
params, TemplateModel[] loopVars,
TemplateDirectiveBody body) throws IOException {
Request request = FreemarkerRequest.createServletFreemarkerRequest(
FreemarkerRequestUtil.getApplicationContext(env), env);
Copied:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerUtil.java
(from r982374,
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/FreeMarkerUtil.java)
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerUtil.java?p2=tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerUtil.java&p1=tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/FreeMarkerUtil.java&r1=982374&r2=1039162&rev=1039162&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/FreeMarkerUtil.java
(original)
+++
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerUtil.java
Thu Nov 25 20:07:17 2010
@@ -29,14 +29,14 @@ import freemarker.template.utility.DeepU
* Utilities for FreeMarker usage in Tiles.
*
* @version $Rev$ $Date$
- * @since 2.2.0
+ * @since 3.0.0
*/
-public final class FreeMarkerUtil {
+public final class FreemarkerUtil {
/**
* Private constructor to avoid instantiation.
*/
- private FreeMarkerUtil() {
+ private FreemarkerUtil() {
}
/**
Added:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/BodyFMModelTest.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/BodyFMModelTest.java?rev=1039162&view=auto
==============================================================================
---
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/BodyFMModelTest.java
(added)
+++
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/BodyFMModelTest.java
Thu Nov 25 20:07:17 2010
@@ -0,0 +1,99 @@
+/**
+ *
+ */
+package org.apache.tiles.autotag.freemarker.runtime;
+
+import static org.easymock.EasyMock.*;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.servlet.GenericServlet;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.tiles.request.ApplicationContext;
+import org.apache.tiles.request.freemarker.FreemarkerRequest;
+import org.apache.tiles.request.util.ApplicationAccess;
+import org.junit.Test;
+
+import freemarker.core.Environment;
+import freemarker.core.Macro;
+import freemarker.ext.servlet.FreemarkerServlet;
+import freemarker.ext.servlet.HttpRequestHashModel;
+import freemarker.ext.servlet.ServletContextHashModel;
+import freemarker.template.ObjectWrapper;
+import freemarker.template.Template;
+import freemarker.template.TemplateDirectiveBody;
+import freemarker.template.TemplateHashModel;
+import freemarker.template.TemplateModel;
+import freemarker.template.TemplateModelException;
+
+/**
+ * Tests {...@link BodyFMModel}.
+ *
+ * @version $Rev$ $Date$
+ */
+public class BodyFMModelTest {
+
+ /**
+ * Test method for
+ * {...@link
org.apache.tiles.autotag.freemarker.runtime.BodyFMModel#execute(freemarker.core.Environment,
java.util.Map, freemarker.template.TemplateModel[],
freemarker.template.TemplateDirectiveBody)}
+ * .
+ *
+ * @throws IOException If something goes wrong.
+ * @throws TemplateModelException If something goes wrong.
+ */
+ @Test
+ public void testExecute() throws IOException, TemplateModelException {
+ BodyFMModel model = createMockBuilder(BodyFMModel.class).createMock();
+ @SuppressWarnings("unchecked")
+ Map<String, TemplateModel> params = createMock(Map.class);
+ Template template = createMock(Template.class);
+ TemplateHashModel rootDataModel = createMock(TemplateHashModel.class);
+ Writer out = createMock(Writer.class);
+ TemplateDirectiveBody body = createMock(TemplateDirectiveBody.class);
+ GenericServlet servlet = createMock(GenericServlet.class);
+ ObjectWrapper wrapper = createMock(ObjectWrapper.class);
+ ServletContext servletContext = createMock(ServletContext.class);
+ ApplicationContext applicationContext =
createMock(ApplicationContext.class);
+ HttpServletRequest httpServletRequest =
createMock(HttpServletRequest.class);
+ HttpServletResponse httpServletResponse =
createMock(HttpServletResponse.class);
+
+ expect(template.getMacros()).andReturn(new HashMap<String, Macro>());
+ expect(servlet.getServletContext()).andReturn(servletContext)
+ .anyTimes();
+ expect(
+ servletContext
+
.getAttribute(ApplicationAccess.APPLICATION_CONTEXT_ATTRIBUTE))
+ .andReturn(applicationContext);
+
+ replay(servlet, wrapper, servletContext, applicationContext,
+ httpServletRequest, httpServletResponse);
+ ServletContextHashModel servletContextHashModel = new
ServletContextHashModel(
+ servlet, wrapper);
+ HttpRequestHashModel httpRequestHashModel = new HttpRequestHashModel(
+ httpServletRequest, httpServletResponse, wrapper);
+
+ expect(rootDataModel.get(FreemarkerServlet.KEY_APPLICATION)).andReturn(
+ servletContextHashModel);
+ expect(rootDataModel.get(FreemarkerServlet.KEY_REQUEST)).andReturn(
+ httpRequestHashModel);
+
+ replay(template, rootDataModel, out);
+ Environment env = new Environment(template, rootDataModel, out);
+
+ model.execute(eq(params), isA(FreemarkerRequest.class),
+ isA(FreemarkerModelBody.class));
+
+ replay(model, params, body);
+ model.execute(env, params, new TemplateModel[0], body);
+ verify(model, params, template, rootDataModel, out, servlet, wrapper,
+ servletContext, httpServletRequest, httpServletResponse, body,
+ applicationContext);
+ }
+
+}
Propchange:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/BodyFMModelTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/BodyFMModelTest.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/BodylessFMModelTest.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/BodylessFMModelTest.java?rev=1039162&view=auto
==============================================================================
---
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/BodylessFMModelTest.java
(added)
+++
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/BodylessFMModelTest.java
Thu Nov 25 20:07:17 2010
@@ -0,0 +1,96 @@
+/**
+ *
+ */
+package org.apache.tiles.autotag.freemarker.runtime;
+
+import static org.easymock.EasyMock.*;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.servlet.GenericServlet;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.tiles.request.ApplicationContext;
+import org.apache.tiles.request.freemarker.FreemarkerRequest;
+import org.apache.tiles.request.util.ApplicationAccess;
+import org.junit.Test;
+
+import freemarker.core.Environment;
+import freemarker.core.Macro;
+import freemarker.ext.servlet.FreemarkerServlet;
+import freemarker.ext.servlet.HttpRequestHashModel;
+import freemarker.ext.servlet.ServletContextHashModel;
+import freemarker.template.ObjectWrapper;
+import freemarker.template.Template;
+import freemarker.template.TemplateHashModel;
+import freemarker.template.TemplateModel;
+import freemarker.template.TemplateModelException;
+
+/**
+ * Tests {...@link BodyFMModel}.
+ *
+ * @version $Rev$ $Date$
+ */
+public class BodylessFMModelTest {
+
+ /**
+ * Test method for
+ * {...@link
org.apache.tiles.autotag.freemarker.runtime.BodylessFMModel#execute(freemarker.core.Environment,
java.util.Map, freemarker.template.TemplateModel[],
freemarker.template.TemplateDirectiveBody)}
+ * .
+ *
+ * @throws IOException If something goes wrong.
+ * @throws TemplateModelException If something goes wrong.
+ */
+ @Test
+ public void testExecute() throws IOException, TemplateModelException {
+ BodylessFMModel model =
createMockBuilder(BodylessFMModel.class).createMock();
+ @SuppressWarnings("unchecked")
+ Map<String, TemplateModel> params = createMock(Map.class);
+ Template template = createMock(Template.class);
+ TemplateHashModel rootDataModel = createMock(TemplateHashModel.class);
+ Writer out = createMock(Writer.class);
+ GenericServlet servlet = createMock(GenericServlet.class);
+ ObjectWrapper wrapper = createMock(ObjectWrapper.class);
+ ServletContext servletContext = createMock(ServletContext.class);
+ ApplicationContext applicationContext =
createMock(ApplicationContext.class);
+ HttpServletRequest httpServletRequest =
createMock(HttpServletRequest.class);
+ HttpServletResponse httpServletResponse =
createMock(HttpServletResponse.class);
+
+ expect(template.getMacros()).andReturn(new HashMap<String, Macro>());
+ expect(servlet.getServletContext()).andReturn(servletContext)
+ .anyTimes();
+ expect(
+ servletContext
+
.getAttribute(ApplicationAccess.APPLICATION_CONTEXT_ATTRIBUTE))
+ .andReturn(applicationContext);
+
+ replay(servlet, wrapper, servletContext, applicationContext,
+ httpServletRequest, httpServletResponse);
+ ServletContextHashModel servletContextHashModel = new
ServletContextHashModel(
+ servlet, wrapper);
+ HttpRequestHashModel httpRequestHashModel = new HttpRequestHashModel(
+ httpServletRequest, httpServletResponse, wrapper);
+
+ expect(rootDataModel.get(FreemarkerServlet.KEY_APPLICATION)).andReturn(
+ servletContextHashModel);
+ expect(rootDataModel.get(FreemarkerServlet.KEY_REQUEST)).andReturn(
+ httpRequestHashModel);
+
+ replay(template, rootDataModel, out);
+ Environment env = new Environment(template, rootDataModel, out);
+
+ model.execute(eq(params), isA(FreemarkerRequest.class));
+
+ replay(model, params);
+ model.execute(env, params, new TemplateModel[0], null);
+ verify(model, params, template, rootDataModel, out, servlet, wrapper,
+ servletContext, httpServletRequest, httpServletResponse,
+ applicationContext);
+ }
+
+}
Propchange:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/BodylessFMModelTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/BodylessFMModelTest.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerAutotagExceptionTest.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerAutotagExceptionTest.java?rev=1039162&view=auto
==============================================================================
---
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerAutotagExceptionTest.java
(added)
+++
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerAutotagExceptionTest.java
Thu Nov 25 20:07:17 2010
@@ -0,0 +1,77 @@
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tiles.autotag.freemarker.runtime;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+/**
+ * Tests {...@link FreemarkerAutotagException}.
+ *
+ * @version $Rev$ $Date$
+ */
+public class FreemarkerAutotagExceptionTest {
+
+ /**
+ * Test method for {...@link
FreemarkerAutotagException#FreemarkerAutotagException()}.
+ */
+ @Test
+ public void testFreemarkerAutotagException() {
+ FreemarkerAutotagException exception = new
FreemarkerAutotagException();
+ assertNull(exception.getMessage());
+ assertNull(exception.getCause());
+ }
+
+ /**
+ * Test method for {...@link
FreemarkerAutotagException#FreemarkerAutotagException(java.lang.String)}.
+ */
+ @Test
+ public void testFreemarkerAutotagExceptionString() {
+ FreemarkerAutotagException exception = new
FreemarkerAutotagException("my message");
+ assertEquals("my message", exception.getMessage());
+ assertNull(exception.getCause());
+ }
+
+ /**
+ * Test method for {...@link
FreemarkerAutotagException#FreemarkerAutotagException(java.lang.Throwable)}.
+ */
+ @Test
+ public void testFreemarkerAutotagExceptionThrowable() {
+ Throwable cause = new Throwable();
+ FreemarkerAutotagException exception = new
FreemarkerAutotagException(cause);
+ assertEquals(cause.toString(), exception.getMessage());
+ assertEquals(cause, exception.getCause());
+ }
+
+ /**
+ * Test method for {...@link
FreemarkerAutotagException#FreemarkerAutotagException(java.lang.String,
java.lang.Throwable)}.
+ */
+ @Test
+ public void testFreemarkerAutotagExceptionStringThrowable() {
+ Throwable cause = new Throwable();
+ FreemarkerAutotagException exception = new
FreemarkerAutotagException("my message", cause);
+ assertEquals("my message", exception.getMessage());
+ assertEquals(cause, exception.getCause());
+ }
+
+}
Propchange:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerAutotagExceptionTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerAutotagExceptionTest.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerModelBodyTest.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerModelBodyTest.java?rev=1039162&view=auto
==============================================================================
---
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerModelBodyTest.java
(added)
+++
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerModelBodyTest.java
Thu Nov 25 20:07:17 2010
@@ -0,0 +1,77 @@
+/**
+ *
+ */
+package org.apache.tiles.autotag.freemarker.runtime;
+
+import static org.easymock.EasyMock.*;
+
+import java.io.IOException;
+import java.io.Writer;
+
+import org.junit.Test;
+
+import freemarker.template.TemplateDirectiveBody;
+import freemarker.template.TemplateException;
+
+/**
+ * Tests {...@link FreemarkerModelBody}.
+ *
+ * @version $Rev$ $Date$
+ */
+public class FreemarkerModelBodyTest {
+
+ /**
+ * Test method for {...@link
org.apache.tiles.autotag.freemarker.runtime.FreemarkerModelBody#evaluate(java.io.Writer)}.
+ * @throws IOException If something goes wrong.
+ * @throws TemplateException If something goes wrong.
+ */
+ @Test
+ public void testEvaluateWriter() throws TemplateException, IOException {
+ TemplateDirectiveBody body = createMock(TemplateDirectiveBody.class);
+ Writer writer = createMock(Writer.class);
+
+ body.render(writer);
+
+ replay(body, writer);
+ FreemarkerModelBody modelBody = new FreemarkerModelBody(null, body);
+ modelBody.evaluate(writer);
+ verify(body, writer);
+ }
+
+ /**
+ * Test method for {...@link
org.apache.tiles.autotag.freemarker.runtime.FreemarkerModelBody#evaluate(java.io.Writer)}.
+ * @throws IOException If something goes wrong.
+ * @throws TemplateException If something goes wrong.
+ */
+ @Test
+ public void testEvaluateWriterNull() throws TemplateException, IOException
{
+ Writer writer = createMock(Writer.class);
+
+ replay(writer);
+ FreemarkerModelBody modelBody = new FreemarkerModelBody(null, null);
+ modelBody.evaluate(writer);
+ verify(writer);
+ }
+
+ /**
+ * Test method for {...@link
org.apache.tiles.autotag.freemarker.runtime.FreemarkerModelBody#evaluate(java.io.Writer)}.
+ * @throws IOException If something goes wrong.
+ * @throws TemplateException If something goes wrong.
+ */
+ @Test(expected=IOException.class)
+ public void testEvaluateWriterException() throws TemplateException,
IOException {
+ TemplateDirectiveBody body = createMock(TemplateDirectiveBody.class);
+ Writer writer = createMock(Writer.class);
+
+ body.render(writer);
+ expectLastCall().andThrow(new TemplateException(null));
+
+ replay(body, writer);
+ try {
+ FreemarkerModelBody modelBody = new FreemarkerModelBody(null,
body);
+ modelBody.evaluate(writer);
+ } finally {
+ verify(body, writer);
+ }
+ }
+}
Propchange:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerModelBodyTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerModelBodyTest.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerUtilTest.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerUtilTest.java?rev=1039162&view=auto
==============================================================================
---
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerUtilTest.java
(added)
+++
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerUtilTest.java
Thu Nov 25 20:07:17 2010
@@ -0,0 +1,94 @@
+/**
+ *
+ */
+package org.apache.tiles.autotag.freemarker.runtime;
+
+import static org.easymock.EasyMock.*;
+import static org.junit.Assert.*;
+
+import java.io.Writer;
+import java.util.HashMap;
+
+import org.junit.Test;
+
+import freemarker.core.Environment;
+import freemarker.core.Macro;
+import freemarker.template.Template;
+import freemarker.template.TemplateHashModel;
+import freemarker.template.TemplateModelException;
+import freemarker.template.TemplateNumberModel;
+
+/**
+ * Tests {...@link FreemarkerUtil}.
+ *
+ * @version $Rev$ $Date$
+ */
+public class FreemarkerUtilTest {
+
+ /**
+ * Test method for {...@link
org.apache.tiles.autotag.freemarker.runtime.FreemarkerUtil#getAsObject(freemarker.template.TemplateModel,
java.lang.Object)}.
+ * @throws TemplateModelException If something goes wrong.
+ */
+ @Test
+ public void testGetAsObject() throws TemplateModelException {
+ TemplateNumberModel model = createMock(TemplateNumberModel.class);
+ Template template = createMock(Template.class);
+ TemplateHashModel rootDataModel = createMock(TemplateHashModel.class);
+ Writer out = createMock(Writer.class);
+
+ expect(model.getAsNumber()).andReturn(new Integer(42));
+ expect(template.getMacros()).andReturn(new HashMap<String, Macro>());
+
+ replay(template, rootDataModel, out);
+ new Environment(template, rootDataModel, out);
+
+ replay(model);
+ assertEquals(new Integer(42), FreemarkerUtil.getAsObject(model, new
Integer(1)));
+ verify(template, rootDataModel, out, model);
+ }
+
+ /**
+ * Test method for {...@link
org.apache.tiles.autotag.freemarker.runtime.FreemarkerUtil#getAsObject(freemarker.template.TemplateModel,
java.lang.Object)}.
+ * @throws TemplateModelException If something goes wrong.
+ */
+ @Test
+ public void testGetAsObjectDefault() throws TemplateModelException {
+ Template template = createMock(Template.class);
+ TemplateHashModel rootDataModel = createMock(TemplateHashModel.class);
+ Writer out = createMock(Writer.class);
+
+ expect(template.getMacros()).andReturn(new HashMap<String, Macro>());
+
+ replay(template, rootDataModel, out);
+ new Environment(template, rootDataModel, out);
+
+ assertEquals(new Integer(1), FreemarkerUtil.getAsObject(null, new
Integer(1)));
+ verify(template, rootDataModel, out);
+ }
+
+ /**
+ * Test method for {...@link
org.apache.tiles.autotag.freemarker.runtime.FreemarkerUtil#getAsObject(freemarker.template.TemplateModel,
java.lang.Object)}.
+ * @throws TemplateModelException If something goes wrong.
+ */
+ @Test(expected=FreemarkerAutotagException.class)
+ public void testGetAsObjectException() throws TemplateModelException {
+ TemplateNumberModel model = createMock(TemplateNumberModel.class);
+ Template template = createMock(Template.class);
+ TemplateHashModel rootDataModel = createMock(TemplateHashModel.class);
+ Writer out = createMock(Writer.class);
+
+ expect(model.getAsNumber()).andThrow(new TemplateModelException());
+ expect(template.getMacros()).andReturn(new HashMap<String, Macro>());
+
+ replay(template, rootDataModel, out);
+ new Environment(template, rootDataModel, out);
+
+ replay(model);
+ try {
+ assertEquals(new Integer(42), FreemarkerUtil.getAsObject(model,
new Integer(1)));
+ } finally {
+ verify(template, rootDataModel, out, model);
+ }
+ }
+
+}
Propchange:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerUtilTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerUtilTest.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Modified:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/main/resources/org/apache/tiles/autotag/freemarker/fmModel.vm
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/main/resources/org/apache/tiles/autotag/freemarker/fmModel.vm?rev=1039162&r1=1039161&r2=1039162&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/main/resources/org/apache/tiles/autotag/freemarker/fmModel.vm
(original)
+++
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/main/resources/org/apache/tiles/autotag/freemarker/fmModel.vm
Thu Nov 25 20:07:17 2010
@@ -26,7 +26,7 @@ import java.util.Map;
import org.apache.tiles.autotag.core.runtime.ModelBody;
#end
import
org.apache.tiles.autotag.freemarker.runtime.Body#if(!${clazz.hasBody()})less#{end}FMModel;
-import org.apache.tiles.autotag.freemarker.runtime.FreeMarkerUtil;
+import org.apache.tiles.autotag.freemarker.runtime.FreemarkerUtil;
import org.apache.tiles.request.Request;
import freemarker.template.TemplateModel;
@@ -58,7 +58,7 @@ public class ${clazz.tagClassPrefix}FMMo
public void execute(Map<String, TemplateModel> parms, Request
request#if(${clazz.hasBody()}), ModelBody modelBody#end) throws IOException {
model.execute(
#foreach($parameter in ${clazz.parameters})
- ($stringTool.getClassToCast(${parameter.type}))
FreeMarkerUtil.getAsObject(parms.get("${parameter.exportedName}"),
$stringTool.getDefaultValue(${parameter.type}, ${parameter.defaultValue})),
+ ($stringTool.getClassToCast(${parameter.type}))
FreemarkerUtil.getAsObject(parms.get("${parameter.exportedName}"),
$stringTool.getDefaultValue(${parameter.type}, ${parameter.defaultValue})),
#end
request#if(${clazz.hasBody()}), modelBody#end
Modified:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/main/resources/org/apache/tiles/autotag/freemarker/repository.vm
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/main/resources/org/apache/tiles/autotag/freemarker/repository.vm?rev=1039162&r1=1039161&r2=1039162&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/main/resources/org/apache/tiles/autotag/freemarker/repository.vm
(original)
+++
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/main/resources/org/apache/tiles/autotag/freemarker/repository.vm
Thu Nov 25 20:07:17 2010
@@ -19,10 +19,6 @@ package ${packageName};
* specific language governing permissions and limitations
* under the License.
*#
-#foreach($clazz in ${suite.getTemplateClasses()})
-import ${clazz.name};
-#end
-
/**
#foreach($line in $stringTool.splitOnNewlines(${suite.documentation}))
* $line
Modified:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/resources/org/apache/tiles/autotag/freemarker/test/DoStuffFMModel.javat
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/resources/org/apache/tiles/autotag/freemarker/test/DoStuffFMModel.javat?rev=1039162&r1=1039161&r2=1039162&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/resources/org/apache/tiles/autotag/freemarker/test/DoStuffFMModel.javat
(original)
+++
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/resources/org/apache/tiles/autotag/freemarker/test/DoStuffFMModel.javat
Thu Nov 25 20:07:17 2010
@@ -5,7 +5,7 @@ import java.util.Map;
import org.apache.tiles.autotag.core.runtime.ModelBody;
import org.apache.tiles.autotag.freemarker.runtime.BodyFMModel;
-import org.apache.tiles.autotag.freemarker.runtime.FreeMarkerUtil;
+import org.apache.tiles.autotag.freemarker.runtime.FreemarkerUtil;
import org.apache.tiles.request.Request;
import freemarker.template.TemplateModel;
@@ -34,9 +34,9 @@ public class DoStuffFMModel extends Body
@Override
public void execute(Map<String, TemplateModel> parms, Request request,
ModelBody modelBody) throws IOException {
model.execute(
- (java.lang.String) FreeMarkerUtil.getAsObject(parms.get("one"),
null),
- (java.lang.Integer) FreeMarkerUtil.getAsObject(parms.get("two"),
0),
- (java.lang.Boolean) FreeMarkerUtil.getAsObject(parms.get("three"),
false),
+ (java.lang.String) FreemarkerUtil.getAsObject(parms.get("one"),
null),
+ (java.lang.Integer) FreemarkerUtil.getAsObject(parms.get("two"),
0),
+ (java.lang.Boolean) FreemarkerUtil.getAsObject(parms.get("three"),
false),
request, modelBody
);
}
Modified:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/resources/org/apache/tiles/autotag/freemarker/test/DoStuffNoBodyFMModel.javat
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/resources/org/apache/tiles/autotag/freemarker/test/DoStuffNoBodyFMModel.javat?rev=1039162&r1=1039161&r2=1039162&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/resources/org/apache/tiles/autotag/freemarker/test/DoStuffNoBodyFMModel.javat
(original)
+++
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/resources/org/apache/tiles/autotag/freemarker/test/DoStuffNoBodyFMModel.javat
Thu Nov 25 20:07:17 2010
@@ -4,7 +4,7 @@ import java.io.IOException;
import java.util.Map;
import org.apache.tiles.autotag.freemarker.runtime.BodylessFMModel;
-import org.apache.tiles.autotag.freemarker.runtime.FreeMarkerUtil;
+import org.apache.tiles.autotag.freemarker.runtime.FreemarkerUtil;
import org.apache.tiles.request.Request;
import freemarker.template.TemplateModel;
@@ -33,9 +33,9 @@ public class DoStuffNoBodyFMModel extend
@Override
public void execute(Map<String, TemplateModel> parms, Request request)
throws IOException {
model.execute(
- (java.lang.Double) FreeMarkerUtil.getAsObject(parms.get("one"),
null),
- (java.lang.Float) FreeMarkerUtil.getAsObject(parms.get("two"),
0.0f),
- (java.util.Date) FreeMarkerUtil.getAsObject(parms.get("three"),
null),
+ (java.lang.Double) FreemarkerUtil.getAsObject(parms.get("one"),
null),
+ (java.lang.Float) FreemarkerUtil.getAsObject(parms.get("two"),
0.0f),
+ (java.util.Date) FreemarkerUtil.getAsObject(parms.get("three"),
null),
request
);
}
Modified:
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/resources/org/apache/tiles/autotag/freemarker/test/TldtestFMModelRepository.javat
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/resources/org/apache/tiles/autotag/freemarker/test/TldtestFMModelRepository.javat?rev=1039162&r1=1039161&r2=1039162&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/resources/org/apache/tiles/autotag/freemarker/test/TldtestFMModelRepository.javat
(original)
+++
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/resources/org/apache/tiles/autotag/freemarker/test/TldtestFMModelRepository.javat
Thu Nov 25 20:07:17 2010
@@ -1,8 +1,5 @@
package org.apache.tiles.autotag.freemarker.test;
-import org.apache.tiles.autotag.template.DoStuffTemplate;
-import org.apache.tiles.autotag.template.DoStuffNoBodyTemplate;
-
/**
* Test for TLD docs.
*/
Modified:
tiles/sandbox/trunk/tiles3/src/site/apt/tutorial/extension/template.apt
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/src/site/apt/tutorial/extension/template.apt?rev=1039162&r1=1039161&r2=1039162&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/src/site/apt/tutorial/extension/template.apt
(original)
+++ tiles/sandbox/trunk/tiles3/src/site/apt/tutorial/extension/template.apt Thu
Nov 25 20:07:17 2010
@@ -58,30 +58,30 @@ Supporting a template language
public void execute(Environment env, Map params, TemplateModel[] loopVars,
TemplateDirectiveBody body) throws TemplateException, IOException {
Map<String, TemplateModel> parms = (Map<String, TemplateModel>) params;
- TilesContainer container = FreeMarkerUtil.getCurrentContainer(env);
+ TilesContainer container = FreemarkerUtil.getCurrentContainer(env);
model.start(
- FreeMarkerUtil.getComposeStack(env),
+ FreemarkerUtil.getComposeStack(env),
container,
- FreeMarkerUtil.getAsBoolean(parms.get("ignore"), false),
- FreeMarkerUtil.getAsString(parms.get("preparer")),
- FreeMarkerUtil.getAsString(parms.get("role")),
- FreeMarkerUtil.getAsObject(parms.get("defaultValue")),
- FreeMarkerUtil.getAsString(parms
- .get("defaultValueRole")), FreeMarkerUtil
+ FreemarkerUtil.getAsBoolean(parms.get("ignore"), false),
+ FreemarkerUtil.getAsString(parms.get("preparer")),
+ FreemarkerUtil.getAsString(parms.get("role")),
+ FreemarkerUtil.getAsObject(parms.get("defaultValue")),
+ FreemarkerUtil.getAsString(parms
+ .get("defaultValueRole")), FreemarkerUtil
.getAsString(parms.get("defaultValueType")),
- FreeMarkerUtil.getAsString(parms.get("name")),
- (Attribute) FreeMarkerUtil.getAsObject(parms
+ FreemarkerUtil.getAsString(parms.get("name")),
+ (Attribute) FreemarkerUtil.getAsObject(parms
.get("value")), env);
- FreeMarkerUtil.evaluateBody(body);
- model.end(FreeMarkerUtil.getComposeStack(env), container,
- FreeMarkerUtil.getAsBoolean(parms.get("ignore"), false), env);
+ FreemarkerUtil.evaluateBody(body);
+ model.end(FreemarkerUtil.getComposeStack(env), container,
+ FreemarkerUtil.getAsBoolean(parms.get("ignore"), false), env);
}
------------------------
As you can see, the map of parameters at the call of the tag are converted
into
parameters of the template model. In JSP, private fields would have become
such
parameters.
- The <<<FreeMarkerUtil.evaluateBody(body)>>> is used to evaluate the body,
and all
+ The <<<FreemarkerUtil.evaluateBody(body)>>> is used to evaluate the body,
and all
of its tags, so the model can start and end correctly.
** The role of the compose stack