merged the autotag-runtime projects into the matching request implementations, as discussed here: http://mail-archives.apache.org/mod_mbox/tiles-dev/201110.mbox/%3CCAHTRnew8sEF+GrT_4PC7_OQcoaJo8zpo592bJSgTTdCo3edE0Q@mail.gmail.com%3E

git-svn-id: https://svn.apache.org/repos/asf/tiles/framework/trunk/tiles-autotag@1305546 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/pom.xml b/pom.xml
index 8fc8cdb..6442943 100644
--- a/pom.xml
+++ b/pom.xml
@@ -57,10 +57,7 @@
         <module>tiles-autotag-core-runtime</module>
         <module>tiles-autotag-core</module>
         <module>tiles-autotag-jsp</module>
-        <module>tiles-autotag-jsp-runtime</module>
-        <module>tiles-autotag-freemarker-runtime</module>
         <module>tiles-autotag-freemarker</module>
-        <module>tiles-autotag-velocity-runtime</module>
         <module>tiles-autotag-velocity</module>
         <module>maven-autotag-plugin</module>
     </modules>
diff --git a/tiles-autotag-freemarker-runtime/pom.xml b/tiles-autotag-freemarker-runtime/pom.xml
deleted file mode 100644
index 2faf426..0000000
--- a/tiles-autotag-freemarker-runtime/pom.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-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.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <artifactId>tiles-autotag</artifactId>
-    <groupId>org.apache.tiles</groupId>
-    <version>1.0-SNAPSHOT</version>
-  </parent>
-  <groupId>org.apache.tiles</groupId>
-  <artifactId>tiles-autotag-freemarker-runtime</artifactId>
-  <version>1.0-SNAPSHOT</version>
-  <name>Autotag - Freemarker runtime classes</name>
-  <description>Runtime classes for Autotag-Freemarker support.</description>
-  <dependencies>
-  	<dependency>
-  		<groupId>org.apache.tiles</groupId>
-  		<artifactId>tiles-autotag-core-runtime</artifactId>
-  		<version>1.0-SNAPSHOT</version>
-  	</dependency>
-  	<dependency>
-  		<groupId>org.freemarker</groupId>
-  		<artifactId>freemarker</artifactId>
-  		<version>2.3.16</version>
-  	</dependency>
-  	<dependency>
-  		<groupId>org.apache.tiles</groupId>
-  		<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>
diff --git a/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerAutotagException.java b/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerAutotagException.java
deleted file mode 100644
index 6f11f10..0000000
--- a/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerAutotagException.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * $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;
-
-/**
- * Thrown when a Freemarker problem under Autotag runtime part happens.
- *
- * @version $Rev$ $Date$
- */
-public class FreemarkerAutotagException extends RuntimeException {
-
-    /**
-     * Constructor.
-     */
-    public FreemarkerAutotagException() {
-    }
-
-    /**
-     * Constructor.
-     *
-     * @param message The message of the exception.
-     */
-    public FreemarkerAutotagException(String message) {
-        super(message);
-    }
-
-    /**
-     * Constructor.
-     *
-     * @param cause The cause.
-     */
-    public FreemarkerAutotagException(Throwable cause) {
-        super(cause);
-    }
-
-    /**
-     * Constructor.
-     *
-     * @param message The message of the exception.
-     * @param cause The cause.
-     */
-    public FreemarkerAutotagException(String message, Throwable cause) {
-        super(message, cause);
-    }
-
-}
diff --git a/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerAutotagRuntime.java b/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerAutotagRuntime.java
deleted file mode 100644
index 64ada57..0000000
--- a/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerAutotagRuntime.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * $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 java.util.Map;
-
-import org.apache.tiles.autotag.core.runtime.ModelBody;
-import org.apache.tiles.autotag.core.runtime.AutotagRuntime;
-import org.apache.tiles.request.Request;
-import org.apache.tiles.request.freemarker.FreemarkerRequest;
-import org.apache.tiles.request.freemarker.FreemarkerRequestUtil;
-
-import freemarker.core.Environment;
-import freemarker.template.TemplateDirectiveBody;
-import freemarker.template.TemplateDirectiveModel;
-import freemarker.template.TemplateModel;
-
-/**
- * A Runtime for implementing a Freemarker Template Directive.   
- */
-public class FreemarkerAutotagRuntime implements AutotagRuntime, TemplateDirectiveModel {
-
-    private Environment env;
-    private TemplateDirectiveBody body;
-    private Map<String, TemplateModel> params;
-    
-    /** {@inheritDoc} */
-    @SuppressWarnings("unchecked")
-    @Override
-    public void execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body) {
-        this.env = env;
-        this.body = body;
-        this.params = params;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public Request createRequest() {
-        return FreemarkerRequest.createServletFreemarkerRequest(FreemarkerRequestUtil.getApplicationContext(env), env);
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public ModelBody createModelBody() {
-        return new FreemarkerModelBody(env.getOut(), body);
-    }
-    
-    /** {@inheritDoc} */
-    @Override
-    public Object getParameter(String name, Object defaultValue) {
-        return FreemarkerUtil.getAsObject((TemplateModel)params.get(name), defaultValue);
-    }
-}
diff --git a/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerModelBody.java b/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerModelBody.java
deleted file mode 100644
index 13c5e84..0000000
--- a/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerModelBody.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * $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 java.io.IOException;
-import java.io.Writer;
-
-import org.apache.tiles.autotag.core.runtime.AbstractModelBody;
-
-import freemarker.template.TemplateDirectiveBody;
-import freemarker.template.TemplateException;
-
-/**
- * Body implementation of a Freemarker model body.
- *
- * @version $Rev$ $Date$
- */
-public class FreemarkerModelBody extends AbstractModelBody {
-
-    /**
-     * The real body.
-     */
-    private TemplateDirectiveBody templateDirectiveBody;
-
-    /**
-     * Constructor.
-     *
-     * @param defaultWriter The default writer.
-     * @param templateDirectiveBody The real body.
-     */
-    public FreemarkerModelBody(Writer defaultWriter, TemplateDirectiveBody templateDirectiveBody) {
-        super(defaultWriter);
-        this.templateDirectiveBody = templateDirectiveBody;
-    }
-
-    @Override
-    public void evaluate(Writer writer) throws IOException {
-        if (templateDirectiveBody == null) {
-            return;
-        }
-
-        try {
-            templateDirectiveBody.render(writer);
-        } catch (TemplateException e) {
-            throw new IOException("TemplateException when rendering body", e);
-        }
-    }
-
-}
diff --git a/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerUtil.java b/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerUtil.java
deleted file mode 100644
index c3a9cbd..0000000
--- a/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerUtil.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * $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 freemarker.template.TemplateModel;
-import freemarker.template.TemplateModelException;
-import freemarker.template.utility.DeepUnwrap;
-
-/**
- * Utilities for FreeMarker usage in Tiles.
- *
- * @version $Rev$ $Date$
- * @since 3.0.0
- */
-public final class FreemarkerUtil {
-
-    /**
-     * Private constructor to avoid instantiation.
-     */
-    private FreemarkerUtil() {
-    }
-
-    /**
-     * Unwraps a TemplateModel to extract an object.
-     *
-     * @param model The TemplateModel to unwrap.
-     * @param defaultValue The default value, as specified in the template
-     * model, or null if not specified.
-     * @return The unwrapped object.
-     * @since 3.0.0
-     */
-    public static Object getAsObject(TemplateModel model, Object defaultValue) {
-        try {
-            Object retValue = defaultValue;
-            if (model != null) {
-                Object value = DeepUnwrap.unwrap(model);
-                if (value != null) {
-                    retValue = value;
-                }
-            }
-            return retValue;
-        } catch (TemplateModelException e) {
-            throw new FreemarkerAutotagException("Cannot unwrap a model", e);
-        }
-    }
-}
diff --git a/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/package-info.java b/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/package-info.java
deleted file mode 100644
index 0cb0f7e..0000000
--- a/tiles-autotag-freemarker-runtime/src/main/java/org/apache/tiles/autotag/freemarker/runtime/package-info.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * $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.
- */
-/**
- * Runtime part of Autotag support for Freemarker.
- */
-package org.apache.tiles.autotag.freemarker.runtime;
diff --git a/tiles-autotag-freemarker-runtime/src/site/site.xml b/tiles-autotag-freemarker-runtime/src/site/site.xml
deleted file mode 100644
index b2c2751..0000000
--- a/tiles-autotag-freemarker-runtime/src/site/site.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-/*
- * $Id: site.xml 1081442 2011-03-14 16:21:08Z apetrelli $
- *
- * 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.
- */
--->
-<project name="Apache - Tiles Autotags">
-    <bannerLeft>
-        <name>Apache Software Foundation</name>
-        <src>http://www.apache.org/images/asf-logo.gif</src>
-        <href>http://www.apache.org</href>
-    </bannerLeft>
-    <bannerRight>
-        <name>Apache Tiles&#8482;</name>
-        <src>http://tiles.apache.org/images/logo.png</src>
-        <href>http://tiles.apache.org</href>
-    </bannerRight>
-    <body>
-
-        <links>
-            <item name="Apache" href="http://www.apache.org" />
-            <item name="Tiles" href="http://tiles.apache.org" />
-        </links>
-
-
-        <menu name="Apache Tiles&#8482;">
-            <item
-                   name="Tiles Home"
-                   href="../../index.html"/>
-            <item
-                   name="Tiles Autotags"
-                   href="../index.html"/>
-        </menu>
-
-        <menu ref="modules" />
-        <menu ref="reports" />
-
-    </body>
-</project>
diff --git a/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerAutotagExceptionTest.java b/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerAutotagExceptionTest.java
deleted file mode 100644
index df54c3b..0000000
--- a/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerAutotagExceptionTest.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * $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(String, 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());
-    }
-
-}
diff --git a/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerAutotagRuntimeTest.java b/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerAutotagRuntimeTest.java
deleted file mode 100644
index 39fc1a4..0000000
--- a/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerAutotagRuntimeTest.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * $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.easymock.EasyMock.*;
-import static org.junit.Assert.*;
-
-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.autotag.core.runtime.ModelBody;
-import org.apache.tiles.request.ApplicationAccess;
-import org.apache.tiles.request.ApplicationContext;
-import org.apache.tiles.request.Request;
-import org.apache.tiles.request.freemarker.FreemarkerRequest;
-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;
-import freemarker.template.TemplateNumberModel;
-
-/**
- * Tests {@link FreemarkerAutotagRuntime}.
- *
- * @version $Rev$ $Date$
- */
-public class FreemarkerAutotagRuntimeTest {
-
-    @Test
-    public void testCreateRequest() throws IOException, TemplateModelException{
-        @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);
-
-        replay(params, body);
-        FreemarkerAutotagRuntime runtime = new FreemarkerAutotagRuntime();
-
-        runtime.execute(env, params, new TemplateModel[0], body);
-        Request request = runtime.createRequest();
-        assertTrue(request instanceof FreemarkerRequest);
-        verify(servlet, wrapper, servletContext, applicationContext,
-                httpServletRequest, httpServletResponse,
-                template, rootDataModel, out,
-                params, body);
-    }
-
-    @Test
-    public void testCreateModelBody() {
-        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);
-        Environment env = new Environment(template, rootDataModel, out);
-        @SuppressWarnings("unchecked")
-        Map<String, TemplateModel> params = createMock(Map.class);
-        TemplateDirectiveBody body = createMock(TemplateDirectiveBody.class);
-        replay(params, body);
-        FreemarkerAutotagRuntime runtime = new FreemarkerAutotagRuntime();
-        runtime.execute(env, params, new TemplateModel[0], body);
-        ModelBody modelBody = runtime.createModelBody();
-        assertTrue(modelBody instanceof FreemarkerModelBody);
-        verify(template, rootDataModel, out, params, body);
-    }
-
-    @Test
-    public void testGetParameter() 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);
-        Environment env = new Environment(template, rootDataModel, out);
-        TemplateNumberModel model = createMock(TemplateNumberModel.class);
-        expect(model.getAsNumber()).andReturn(new Integer(42)).anyTimes();
-        @SuppressWarnings("unchecked")
-        Map<String, TemplateModel> params = createMock(Map.class);
-        TemplateDirectiveBody body = createMock(TemplateDirectiveBody.class);
-        expect(params.get(eq("notnullParam"))).andReturn(model).anyTimes();
-        expect(params.get(eq("nullParam"))).andReturn(null).anyTimes();
-        replay(model, params, body);
-        FreemarkerAutotagRuntime runtime = new FreemarkerAutotagRuntime();
-        runtime.execute(env, params, new TemplateModel[0], body);
-        Object notnullParam = runtime.getParameter("notnullParam", null);
-        Object nullParam = runtime.getParameter("nullParam", null);
-        Object notnullParamDefault = runtime.getParameter("notnullParam", new Integer(24));
-        Object nullParamDefault = runtime.getParameter("nullParam", new Integer(24));
-        assertEquals(42, notnullParam);
-        assertEquals(null, nullParam);
-        assertEquals(42, notnullParamDefault);
-        assertEquals(24, nullParamDefault);
-        verify(template, rootDataModel, out, model, params, body);
-    }
-}
diff --git a/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerModelBodyTest.java b/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerModelBodyTest.java
deleted file mode 100644
index cae2448..0000000
--- a/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerModelBodyTest.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * $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.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);
-        }
-    }
-}
diff --git a/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerUtilTest.java b/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerUtilTest.java
deleted file mode 100644
index 627346e..0000000
--- a/tiles-autotag-freemarker-runtime/src/test/java/org/apache/tiles/autotag/freemarker/runtime/FreemarkerUtilTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * $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.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 FreemarkerUtil#getAsObject(TemplateModel, 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 FreemarkerUtil#getAsObject(TemplateModel, 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 FreemarkerUtil#getAsObject(TemplateModel, 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);
-        }
-    }
-
-}
diff --git a/tiles-autotag-jsp-runtime/pom.xml b/tiles-autotag-jsp-runtime/pom.xml
deleted file mode 100644
index c3883e7..0000000
--- a/tiles-autotag-jsp-runtime/pom.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-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.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <artifactId>tiles-autotag</artifactId>
-    <groupId>org.apache.tiles</groupId>
-    <version>1.0-SNAPSHOT</version>
-  </parent>
-  <groupId>org.apache.tiles</groupId>
-  <artifactId>tiles-autotag-jsp-runtime</artifactId>
-  <version>1.0-SNAPSHOT</version>
-  <name>Autotag - JSP runtime code</name>
-  <description>Contains classes used by code generated by Autotag - JSP.</description>
-  <dependencies>
-  	<dependency>
-  		<groupId>javax.servlet.jsp</groupId>
-  		<artifactId>jsp-api</artifactId>
-  		<version>2.1</version>
-  		<scope>provided</scope>
-  	</dependency>
-  	<dependency>
-  		<groupId>org.apache.tiles</groupId>
-  		<artifactId>tiles-autotag-core-runtime</artifactId>
-  		<version>1.0-SNAPSHOT</version>
-  	</dependency>
-  	<dependency>
-  		<groupId>org.apache.tiles</groupId>
-  		<artifactId>tiles-request-jsp</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>
diff --git a/tiles-autotag-jsp-runtime/src/main/java/org/apache/tiles/autotag/jsp/runtime/JspAutotagRuntime.java b/tiles-autotag-jsp-runtime/src/main/java/org/apache/tiles/autotag/jsp/runtime/JspAutotagRuntime.java
deleted file mode 100644
index c7e74cf..0000000
--- a/tiles-autotag-jsp-runtime/src/main/java/org/apache/tiles/autotag/jsp/runtime/JspAutotagRuntime.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * $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.jsp.runtime;
-
-import javax.servlet.jsp.JspContext;
-import javax.servlet.jsp.PageContext;
-import javax.servlet.jsp.tagext.SimpleTagSupport;
-import org.apache.tiles.autotag.core.runtime.ModelBody;
-import org.apache.tiles.autotag.core.runtime.AutotagRuntime;
-import org.apache.tiles.request.Request;
-import org.apache.tiles.request.jsp.JspRequest;
-
-/**
- * A Runtime for implementing JSP tag libraries.
- */
-public class JspAutotagRuntime extends SimpleTagSupport implements AutotagRuntime {
-    /** {@inheritDoc} */
-    @Override
-    public void doTag() {
-        // do nothing like the parent implementation, 
-        // but don't throw exceptions either
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public Request createRequest() {
-        JspContext pageContext = getJspContext();
-        return JspRequest.createServletJspRequest(org.apache.tiles.request.jsp.JspUtil.getApplicationContext(pageContext),
-                                                  (PageContext) pageContext);
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public ModelBody createModelBody() {
-        return new JspModelBody(getJspBody(), getJspContext());
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public Object getParameter(String name, Object defaultValue) {
-        throw new UnsupportedOperationException("the parameters are injected into the tag itself, no need to fetch them");
-    }
-}
diff --git a/tiles-autotag-jsp-runtime/src/main/java/org/apache/tiles/autotag/jsp/runtime/JspModelBody.java b/tiles-autotag-jsp-runtime/src/main/java/org/apache/tiles/autotag/jsp/runtime/JspModelBody.java
deleted file mode 100644
index 66a7f5c..0000000
--- a/tiles-autotag-jsp-runtime/src/main/java/org/apache/tiles/autotag/jsp/runtime/JspModelBody.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * $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.jsp.runtime;
-
-import java.io.IOException;
-import java.io.Writer;
-
-import javax.servlet.jsp.JspContext;
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.tagext.JspFragment;
-
-import org.apache.tiles.autotag.core.runtime.AbstractModelBody;
-
-/**
- * The body abstraction in a JSP tag.
- *
- * @version $Rev$ $Date$
- */
-public class JspModelBody extends AbstractModelBody {
-
-    /**
-     * The real body.
-     */
-    private JspFragment jspFragment;
-
-    /**
-     * Constructor.
-     *
-     * @param jspFragment The real body.
-     * @param jspContext The page context.
-     */
-    public JspModelBody(JspFragment jspFragment, JspContext jspContext) {
-        super(jspContext.getOut());
-        this.jspFragment = jspFragment;
-    }
-
-    @Override
-    public void evaluate(Writer writer) throws IOException {
-        if (jspFragment == null) {
-            return;
-        }
-
-        try {
-            jspFragment.invoke(writer);
-        } catch (JspException e) {
-            throw new IOException("JspException when evaluating the body", e);
-        }
-    }
-
-}
diff --git a/tiles-autotag-jsp-runtime/src/main/java/org/apache/tiles/autotag/jsp/runtime/package-info.java b/tiles-autotag-jsp-runtime/src/main/java/org/apache/tiles/autotag/jsp/runtime/package-info.java
deleted file mode 100644
index 170589e..0000000
--- a/tiles-autotag-jsp-runtime/src/main/java/org/apache/tiles/autotag/jsp/runtime/package-info.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * $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.
- */
-/**
- * Runtime part of Autotag support for JavaServer pages.
- */
-package org.apache.tiles.autotag.jsp.runtime;
diff --git a/tiles-autotag-jsp-runtime/src/site/site.xml b/tiles-autotag-jsp-runtime/src/site/site.xml
deleted file mode 100644
index b2c2751..0000000
--- a/tiles-autotag-jsp-runtime/src/site/site.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-/*
- * $Id: site.xml 1081442 2011-03-14 16:21:08Z apetrelli $
- *
- * 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.
- */
--->
-<project name="Apache - Tiles Autotags">
-    <bannerLeft>
-        <name>Apache Software Foundation</name>
-        <src>http://www.apache.org/images/asf-logo.gif</src>
-        <href>http://www.apache.org</href>
-    </bannerLeft>
-    <bannerRight>
-        <name>Apache Tiles&#8482;</name>
-        <src>http://tiles.apache.org/images/logo.png</src>
-        <href>http://tiles.apache.org</href>
-    </bannerRight>
-    <body>
-
-        <links>
-            <item name="Apache" href="http://www.apache.org" />
-            <item name="Tiles" href="http://tiles.apache.org" />
-        </links>
-
-
-        <menu name="Apache Tiles&#8482;">
-            <item
-                   name="Tiles Home"
-                   href="../../index.html"/>
-            <item
-                   name="Tiles Autotags"
-                   href="../index.html"/>
-        </menu>
-
-        <menu ref="modules" />
-        <menu ref="reports" />
-
-    </body>
-</project>
diff --git a/tiles-autotag-jsp-runtime/src/test/java/org/apache/tiles/autotag/jsp/runtime/JspAutotagRuntimeTest.java b/tiles-autotag-jsp-runtime/src/test/java/org/apache/tiles/autotag/jsp/runtime/JspAutotagRuntimeTest.java
deleted file mode 100644
index 42df5d2..0000000
--- a/tiles-autotag-jsp-runtime/src/test/java/org/apache/tiles/autotag/jsp/runtime/JspAutotagRuntimeTest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.apache.tiles.autotag.jsp.runtime;
-
-import static org.easymock.EasyMock.*;
-import static org.junit.Assert.*;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.jsp.JspContext;
-import javax.servlet.jsp.JspWriter;
-import javax.servlet.jsp.PageContext;
-import javax.servlet.jsp.tagext.JspFragment;
-import javax.servlet.jsp.tagext.JspTag;
-
-import org.apache.tiles.autotag.core.runtime.ModelBody;
-import org.apache.tiles.request.ApplicationAccess;
-import org.apache.tiles.request.ApplicationContext;
-import org.apache.tiles.request.Request;
-import org.apache.tiles.request.jsp.JspRequest;
-import org.junit.Test;
-
-public class JspAutotagRuntimeTest {
-    @Test
-    public void testCreateRequest() {
-        JspFragment jspBody = createMock(JspFragment.class);
-        PageContext pageContext = createMock(PageContext.class);
-        JspTag parent = createMock(JspTag.class);
-        ApplicationContext applicationContext = createMock(ApplicationContext.class);
-        HttpServletRequest httpServletRequest = createMock(HttpServletRequest.class);
-        HttpServletResponse httpServletResponse = createMock(HttpServletResponse.class);
-        expect(pageContext.getAttribute(
-                ApplicationAccess.APPLICATION_CONTEXT_ATTRIBUTE,
-                PageContext.APPLICATION_SCOPE)).andReturn(applicationContext);
-        expect(pageContext.getRequest()).andReturn(httpServletRequest);
-        expect(pageContext.getResponse()).andReturn(httpServletResponse);
-        replay(jspBody, pageContext, parent, applicationContext, httpServletRequest, httpServletResponse);
-        JspAutotagRuntime runtime = new JspAutotagRuntime();
-        runtime.setJspBody(jspBody);
-        runtime.setJspContext(pageContext);
-        runtime.setParent(parent);
-        runtime.doTag();
-        Request jspRequest = runtime.createRequest();
-        assertTrue(jspRequest instanceof JspRequest);
-        verify(jspBody, pageContext, parent, applicationContext, httpServletRequest, httpServletResponse);
-    }
-
-    @Test
-    public void testCreateModelBody() {
-        JspFragment jspBody = createMock(JspFragment.class);
-        JspContext jspContext = createMock(JspContext.class);
-        JspTag parent = createMock(JspTag.class);
-        JspWriter writer = createMock(JspWriter.class);
-        expect(jspContext.getOut()).andReturn(writer);
-        replay(jspBody, jspContext, parent, writer);
-        JspAutotagRuntime runtime = new JspAutotagRuntime();
-        runtime.setJspBody(jspBody);
-        runtime.setJspContext(jspContext);
-        runtime.setParent(parent);
-        runtime.doTag();
-        ModelBody jspModelBody = runtime.createModelBody();
-        assertTrue(jspModelBody instanceof JspModelBody);
-        verify(jspBody, jspContext, parent, writer);
-    }
-
-    @Test(expected = UnsupportedOperationException.class)
-    public void testGetParameter() {
-        JspFragment jspBody = createMock(JspFragment.class);
-        JspContext jspContext = createMock(JspContext.class);
-        JspTag parent = createMock(JspTag.class);
-        replay(jspBody, jspContext, parent);
-        JspAutotagRuntime runtime = new JspAutotagRuntime();
-        runtime.setJspBody(jspBody);
-        runtime.setJspContext(jspContext);
-        runtime.setParent(parent);
-        runtime.doTag();
-        runtime.getParameter("test", null);
-        verify(jspBody, jspContext, parent);
-    }
-}
diff --git a/tiles-autotag-jsp-runtime/src/test/java/org/apache/tiles/autotag/jsp/runtime/JspModelBodyTest.java b/tiles-autotag-jsp-runtime/src/test/java/org/apache/tiles/autotag/jsp/runtime/JspModelBodyTest.java
deleted file mode 100644
index ddcdc57..0000000
--- a/tiles-autotag-jsp-runtime/src/test/java/org/apache/tiles/autotag/jsp/runtime/JspModelBodyTest.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * $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.jsp.runtime;
-
-import static org.easymock.EasyMock.*;
-
-import java.io.IOException;
-import java.io.Writer;
-
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.JspWriter;
-import javax.servlet.jsp.PageContext;
-import javax.servlet.jsp.tagext.JspFragment;
-
-import org.junit.Test;
-
-/**
- * Tests {@link JspModelBody}.
- *
- * @version $Rev$ $Date$
- */
-public class JspModelBodyTest {
-
-    /**
-     * Test method for {@link org.apache.tiles.autotag.freemarker.runtime.JspModelBody#evaluate(java.io.Writer)}.
-     * @throws IOException If something goes wrong.
-     * @throws JspException If something goes wrong.
-     */
-    @Test
-    public void testEvaluateWriter() throws JspException, IOException {
-        JspFragment body = createMock(JspFragment.class);
-        PageContext pageContext = createMock(PageContext.class);
-        JspWriter writer = createMock(JspWriter.class);
-
-        expect(pageContext.getOut()).andReturn(null);
-        body.invoke(writer);
-
-        replay(body, pageContext, writer);
-        JspModelBody modelBody = new JspModelBody(body, pageContext);
-        modelBody.evaluate(writer);
-        verify(body, pageContext, writer);
-    }
-
-    /**
-     * Test method for {@link org.apache.tiles.autotag.freemarker.runtime.JspModelBody#evaluate(java.io.Writer)}.
-     * @throws IOException If something goes wrong.
-     * @throws JspException If something goes wrong.
-     */
-    @Test
-    public void testEvaluateWriterNull() throws JspException, IOException {
-        PageContext pageContext = createMock(PageContext.class);
-        Writer writer = createMock(Writer.class);
-
-        expect(pageContext.getOut()).andReturn(null);
-
-        replay(writer, pageContext);
-        JspModelBody modelBody = new JspModelBody(null, pageContext);
-        modelBody.evaluate(writer);
-        verify(writer, pageContext);
-    }
-
-    /**
-     * Test method for {@link org.apache.tiles.autotag.freemarker.runtime.JspModelBody#evaluate(java.io.Writer)}.
-     * @throws IOException If something goes wrong.
-     * @throws JspException If something goes wrong.
-     */
-    @Test(expected = IOException.class)
-    public void testEvaluateWriterException() throws JspException, IOException {
-        PageContext pageContext = createMock(PageContext.class);
-        JspFragment body = createMock(JspFragment.class);
-        JspWriter writer = createMock(JspWriter.class);
-
-        expect(pageContext.getOut()).andReturn(null);
-        body.invoke(writer);
-        expectLastCall().andThrow(new JspException());
-
-        replay(body, pageContext, writer);
-        try {
-            JspModelBody modelBody = new JspModelBody(body, pageContext);
-            modelBody.evaluate(writer);
-        } finally {
-            verify(body, pageContext, writer);
-        }
-    }
-}
diff --git a/tiles-autotag-velocity-runtime/pom.xml b/tiles-autotag-velocity-runtime/pom.xml
deleted file mode 100644
index 2a6e062..0000000
--- a/tiles-autotag-velocity-runtime/pom.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-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.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <artifactId>tiles-autotag</artifactId>
-    <groupId>org.apache.tiles</groupId>
-    <version>1.0-SNAPSHOT</version>
-  </parent>
-  <groupId>org.apache.tiles</groupId>
-  <artifactId>tiles-autotag-velocity-runtime</artifactId>
-  <version>1.0-SNAPSHOT</version>
-  <name>Autotag - Velocity runtime classes</name>
-  <description>Runtime code for Velocity directives using template models.</description>
-  <dependencies>
-  	<dependency>
-  		<groupId>org.apache.velocity</groupId>
-  		<artifactId>velocity</artifactId>
-  		<version>1.6.3</version>
-  	</dependency>
-  	<dependency>
-  		<groupId>org.apache.tiles</groupId>
-  		<artifactId>tiles-autotag-core-runtime</artifactId>
-  		<version>1.0-SNAPSHOT</version>
-  	</dependency>
-  	<dependency>
-  		<groupId>org.apache.velocity</groupId>
-  		<artifactId>velocity-tools</artifactId>
-  		<version>2.0</version>
-  	</dependency>
-  	<dependency>
-  		<groupId>org.apache.tiles</groupId>
-  		<artifactId>tiles-request-velocity</artifactId>
-  		<version>1.0-SNAPSHOT</version>
-  	</dependency>
-  	<dependency>
-  		<groupId>org.easymock</groupId>
-  		<artifactId>easymock</artifactId>
-  		<version>3.0</version>
-  		<scope>test</scope>
-  	</dependency>
-  	<dependency>
-  		<groupId>junit</groupId>
-  		<artifactId>junit</artifactId>
-  		<version>4.8.2</version>
-  		<scope>test</scope>
-  	</dependency>
-  </dependencies>
-</project>
diff --git a/tiles-autotag-velocity-runtime/src/main/java/org/apache/tiles/autotag/velocity/runtime/VelocityAutotagRuntime.java b/tiles-autotag-velocity-runtime/src/main/java/org/apache/tiles/autotag/velocity/runtime/VelocityAutotagRuntime.java
deleted file mode 100644
index 4ed71ce..0000000
--- a/tiles-autotag-velocity-runtime/src/main/java/org/apache/tiles/autotag/velocity/runtime/VelocityAutotagRuntime.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * $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.velocity.runtime;
-
-import java.io.Writer;
-import java.util.Map;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.apache.tiles.autotag.core.runtime.ModelBody;
-import org.apache.tiles.autotag.core.runtime.AutotagRuntime;
-import org.apache.tiles.request.Request;
-import org.apache.tiles.request.servlet.ServletUtil;
-import org.apache.tiles.request.velocity.VelocityRequest;
-import org.apache.velocity.context.InternalContextAdapter;
-import org.apache.velocity.runtime.directive.Directive;
-import org.apache.velocity.runtime.parser.node.ASTBlock;
-import org.apache.velocity.runtime.parser.node.ASTMap;
-import org.apache.velocity.runtime.parser.node.Node;
-import org.apache.velocity.tools.view.ViewContext;
-
-/**
- * A Runtime for implementing Velocity Directives.
- */
-public class VelocityAutotagRuntime extends Directive implements AutotagRuntime {
-    private InternalContextAdapter context;
-    private Writer                 writer;
-    private Node                   node;
-    private Map<String, Object>    params;
-
-    /** {@inheritDoc} */
-    @Override
-    public Request createRequest() {
-        ViewContext viewContext = (ViewContext) context.getInternalUserContext();
-        HttpServletRequest request = viewContext.getRequest();
-        HttpServletResponse response = viewContext.getResponse();
-        ServletContext servletContext = viewContext.getServletContext();
-        return VelocityRequest.createVelocityRequest(ServletUtil.getApplicationContext(servletContext),
-                                                     request,
-                                                     response,
-                                                     context,
-                                                     writer);
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public ModelBody createModelBody() {
-        ASTBlock block = (ASTBlock) node.jjtGetChild(1);
-        return new VelocityModelBody(context, block, writer);
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    @SuppressWarnings("unchecked")
-    public Object getParameter(String name, Object defaultValue) {
-        if (params == null) {
-            ASTMap astMap = (ASTMap) node.jjtGetChild(0);
-            params = (Map<String, Object>) astMap.value(context);
-        }
-        Object result = params.get(name);
-        if (result == null) {
-            result = defaultValue;
-        }
-        return result;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public String getName() {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public int getType() {
-        return 0;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public boolean render(InternalContextAdapter context, Writer writer, Node node) {
-        this.context = context;
-        this.writer = writer;
-        this.node = node;
-        return false;
-    }
-
-}
diff --git a/tiles-autotag-velocity-runtime/src/main/java/org/apache/tiles/autotag/velocity/runtime/VelocityModelBody.java b/tiles-autotag-velocity-runtime/src/main/java/org/apache/tiles/autotag/velocity/runtime/VelocityModelBody.java
deleted file mode 100644
index 5770547..0000000
--- a/tiles-autotag-velocity-runtime/src/main/java/org/apache/tiles/autotag/velocity/runtime/VelocityModelBody.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * $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.velocity.runtime;
-
-import java.io.IOException;
-import java.io.Writer;
-
-import org.apache.tiles.autotag.core.runtime.AbstractModelBody;
-import org.apache.velocity.context.InternalContextAdapter;
-import org.apache.velocity.runtime.parser.node.ASTBlock;
-
-/**
- * Body abstraction for a Velocity directive body.
- *
- * @version $Rev$ $Date$
- */
-public class VelocityModelBody extends AbstractModelBody {
-
-    /**
-     * The real body.
-     */
-    private ASTBlock body;
-
-    /**
-     * The Velocity context.
-     */
-    private InternalContextAdapter context;
-
-    /**
-     * Constructor.
-     *
-     * @param context The Velocity context.
-     * @param body The real body.
-     * @param defaultWriter The default writer.
-     */
-    public VelocityModelBody(InternalContextAdapter context, ASTBlock body, Writer defaultWriter) {
-        super(defaultWriter);
-        this.context = context;
-        this.body = body;
-    }
-
-    @Override
-    public void evaluate(Writer writer) throws IOException {
-        body.render(context, writer);
-    }
-
-}
diff --git a/tiles-autotag-velocity-runtime/src/main/java/org/apache/tiles/autotag/velocity/runtime/VelocityUtil.java b/tiles-autotag-velocity-runtime/src/main/java/org/apache/tiles/autotag/velocity/runtime/VelocityUtil.java
deleted file mode 100644
index 8546f59..0000000
--- a/tiles-autotag-velocity-runtime/src/main/java/org/apache/tiles/autotag/velocity/runtime/VelocityUtil.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * $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.velocity.runtime;
-
-import java.util.Map;
-
-import org.apache.velocity.context.InternalContextAdapter;
-import org.apache.velocity.runtime.parser.node.ASTMap;
-import org.apache.velocity.runtime.parser.node.Node;
-
-/**
- * Utilities for Velocity usage in Tiles.
- *
- * @version $Rev$ $Date$
- * @since 3.0.0
- */
-public final class VelocityUtil {
-
-    /**
-     * Private constructor to avoid instantiation.
-     */
-    private VelocityUtil() {
-    }
-
-    /**
-     * Extracts the parameters from the directives, by getting the child at
-     * position 0 supposing it is a map.
-     *
-     * @param context The Velocity context.
-     * @param node The node to use.
-     * @return The extracted parameters.
-     * @since 3.0.0
-     */
-    @SuppressWarnings("unchecked")
-    public static Map<String, Object> getParameters(InternalContextAdapter context,
-            Node node) {
-        ASTMap astMap = (ASTMap) node.jjtGetChild(0);
-        Map<String, Object> params = (Map<String, Object>) astMap
-                .value(context);
-        return params;
-    }
-
-    /**
-     * Returns the "value" parameter if it is not null, otherwise returns
-     * "defaultValue".
-     *
-     * @param value The value to return, if it is not null.
-     * @param defaultValue The value to return, if <code>value</code> is null.
-     * @return The value, defaulted if necessary.
-     * @since 3.0.0
-     */
-    public static Object getObject(Object value, Object defaultValue) {
-        if (value == null) {
-            value = defaultValue;
-        }
-        return value;
-    }
-}
diff --git a/tiles-autotag-velocity-runtime/src/main/java/org/apache/tiles/autotag/velocity/runtime/package-info.java b/tiles-autotag-velocity-runtime/src/main/java/org/apache/tiles/autotag/velocity/runtime/package-info.java
deleted file mode 100644
index 1b67358..0000000
--- a/tiles-autotag-velocity-runtime/src/main/java/org/apache/tiles/autotag/velocity/runtime/package-info.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * $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.
- */
-/**
- * Runtime part of Autotag support for Velocity.
- */
-package org.apache.tiles.autotag.velocity.runtime;
diff --git a/tiles-autotag-velocity-runtime/src/site/site.xml b/tiles-autotag-velocity-runtime/src/site/site.xml
deleted file mode 100644
index b2c2751..0000000
--- a/tiles-autotag-velocity-runtime/src/site/site.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-/*
- * $Id: site.xml 1081442 2011-03-14 16:21:08Z apetrelli $
- *
- * 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.
- */
--->
-<project name="Apache - Tiles Autotags">
-    <bannerLeft>
-        <name>Apache Software Foundation</name>
-        <src>http://www.apache.org/images/asf-logo.gif</src>
-        <href>http://www.apache.org</href>
-    </bannerLeft>
-    <bannerRight>
-        <name>Apache Tiles&#8482;</name>
-        <src>http://tiles.apache.org/images/logo.png</src>
-        <href>http://tiles.apache.org</href>
-    </bannerRight>
-    <body>
-
-        <links>
-            <item name="Apache" href="http://www.apache.org" />
-            <item name="Tiles" href="http://tiles.apache.org" />
-        </links>
-
-
-        <menu name="Apache Tiles&#8482;">
-            <item
-                   name="Tiles Home"
-                   href="../../index.html"/>
-            <item
-                   name="Tiles Autotags"
-                   href="../index.html"/>
-        </menu>
-
-        <menu ref="modules" />
-        <menu ref="reports" />
-
-    </body>
-</project>
diff --git a/tiles-autotag-velocity-runtime/src/test/java/org/apache/tiles/autotag/velocity/runtime/VelocityAutotagRuntimeTest.java b/tiles-autotag-velocity-runtime/src/test/java/org/apache/tiles/autotag/velocity/runtime/VelocityAutotagRuntimeTest.java
deleted file mode 100644
index 41f7595..0000000
--- a/tiles-autotag-velocity-runtime/src/test/java/org/apache/tiles/autotag/velocity/runtime/VelocityAutotagRuntimeTest.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.apache.tiles.autotag.velocity.runtime;
-
-import static org.easymock.EasyMock.*;
-import static org.junit.Assert.*;
-import java.io.Writer;
-import java.util.Map;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.apache.tiles.autotag.core.runtime.ModelBody;
-import org.apache.tiles.request.ApplicationAccess;
-import org.apache.tiles.request.ApplicationContext;
-import org.apache.tiles.request.Request;
-import org.apache.tiles.request.velocity.VelocityRequest;
-import org.apache.velocity.context.InternalContextAdapter;
-import org.apache.velocity.runtime.parser.node.ASTBlock;
-import org.apache.velocity.runtime.parser.node.ASTMap;
-import org.apache.velocity.runtime.parser.node.Node;
-import org.apache.velocity.tools.view.ViewToolContext;
-import org.junit.Test;
-
-public class VelocityAutotagRuntimeTest {
-    @Test
-    public void testCreateRequest() {
-        InternalContextAdapter context = createMock(InternalContextAdapter.class);
-        Writer writer = createMock(Writer.class);
-        Node node = createMock(Node.class);
-        ViewToolContext viewContext = createMock(ViewToolContext.class);
-        HttpServletRequest request = createMock(HttpServletRequest.class);
-        HttpServletResponse response = createMock(HttpServletResponse.class);
-        ServletContext servletContext = createMock(ServletContext.class);
-        ApplicationContext applicationContext = createMock(ApplicationContext.class);
-
-        expect(context.getInternalUserContext()).andReturn(viewContext);
-        expect(viewContext.getRequest()).andReturn(request);
-        expect(viewContext.getResponse()).andReturn(response);
-        expect(viewContext.getServletContext()).andReturn(servletContext);
-        expect(servletContext.getAttribute(ApplicationAccess.APPLICATION_CONTEXT_ATTRIBUTE)).andReturn(applicationContext);
-
-        replay(context, writer, node, viewContext, request, response, servletContext, applicationContext);
-        VelocityAutotagRuntime runtime = new VelocityAutotagRuntime();
-        runtime.render(context, writer, node);
-        Request velocityRequest = runtime.createRequest();
-        assertTrue(velocityRequest instanceof VelocityRequest);
-        verify(context, writer, node, viewContext, request, response, servletContext, applicationContext);
-    }
-
-    @Test
-    public void testCreateModelBody() {
-        InternalContextAdapter context = createMock(InternalContextAdapter.class);
-        Writer writer = createMock(Writer.class);
-        Node node = createMock(Node.class);
-        ASTBlock block = createMock(ASTBlock.class);
-        expect(node.jjtGetChild(1)).andReturn(block);
-        replay(context, writer, node, block);
-        VelocityAutotagRuntime runtime = new VelocityAutotagRuntime();
-        runtime.render(context, writer, node);
-        ModelBody modelBody = runtime.createModelBody();
-        assertTrue(modelBody instanceof VelocityModelBody);
-        verify(context, writer, node, block);
-    }
-
-    @Test
-    public void testGetParameter() {
-        InternalContextAdapter context = createMock(InternalContextAdapter.class);
-        Writer writer = createMock(Writer.class);
-        Node node = createMock(Node.class);
-        ASTMap astMap = createMock(ASTMap.class);
-        @SuppressWarnings("unchecked")
-        Map<String, Object> params = createMock(Map.class);
-        expect(node.jjtGetChild(0)).andReturn(astMap);
-        expect(astMap.value(context)).andReturn(params);
-        expect(params.get(eq("notnullParam"))).andReturn(new Integer(42)).anyTimes();
-        expect(params.get(eq("nullParam"))).andReturn(null).anyTimes();
-        replay(context, writer, node, astMap, params);
-        VelocityAutotagRuntime runtime = new VelocityAutotagRuntime();
-        runtime.render(context, writer, node);
-        Object notnullParam = runtime.getParameter("notnullParam", null);
-        Object nullParam = runtime.getParameter("nullParam", null);
-        Object notnullParamDefault = runtime.getParameter("notnullParam", new Integer(24));
-        Object nullParamDefault = runtime.getParameter("nullParam", new Integer(24));
-        assertEquals(42, notnullParam);
-        assertEquals(null, nullParam);
-        assertEquals(42, notnullParamDefault);
-        assertEquals(24, nullParamDefault);
-        verify(context, writer, node, astMap, params);
-    }
-}
diff --git a/tiles-autotag-velocity-runtime/src/test/java/org/apache/tiles/autotag/velocity/runtime/VelocityModelBodyTest.java b/tiles-autotag-velocity-runtime/src/test/java/org/apache/tiles/autotag/velocity/runtime/VelocityModelBodyTest.java
deleted file mode 100644
index 39d1d02..0000000
--- a/tiles-autotag-velocity-runtime/src/test/java/org/apache/tiles/autotag/velocity/runtime/VelocityModelBodyTest.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * $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.velocity.runtime;
-
-import static org.easymock.EasyMock.*;
-
-import java.io.IOException;
-import java.io.Writer;
-
-import org.apache.velocity.context.InternalContextAdapter;
-import org.apache.velocity.runtime.parser.node.ASTBlock;
-import org.junit.Test;
-
-/**
- * Tests {@link VelocityModelBody}.
- *
- * @version $Rev$ $Date$
- */
-public class VelocityModelBodyTest {
-
-    /**
-     * Test method for {@link org.apache.tiles.autotag.velocity.runtime.VelocityModelBody#evaluate(java.io.Writer)}.
-     * @throws IOException If something goes wrong.
-     */
-    @Test
-    public void testEvaluateWriter() throws IOException {
-        InternalContextAdapter internalContextAdapter = createMock(InternalContextAdapter.class);
-        ASTBlock body = createMock(ASTBlock.class);
-        Writer writer = createMock(Writer.class);
-        expect(body.render(internalContextAdapter, writer)).andReturn(true);
-
-        replay(internalContextAdapter, body, writer);
-        VelocityModelBody modelBody = createMockBuilder(VelocityModelBody.class)
-                .withConstructor(internalContextAdapter, body, writer)
-                .createMock();
-        replay(modelBody);
-        modelBody.evaluate(writer);
-        verify(internalContextAdapter, body, writer, modelBody);
-    }
-
-}
diff --git a/tiles-autotag-velocity-runtime/src/test/java/org/apache/tiles/autotag/velocity/runtime/VelocityUtilTest.java b/tiles-autotag-velocity-runtime/src/test/java/org/apache/tiles/autotag/velocity/runtime/VelocityUtilTest.java
deleted file mode 100644
index 1b70909..0000000
--- a/tiles-autotag-velocity-runtime/src/test/java/org/apache/tiles/autotag/velocity/runtime/VelocityUtilTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * $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.velocity.runtime;
-
-import static org.easymock.EasyMock.*;
-import static org.junit.Assert.*;
-
-import java.util.Map;
-
-import org.apache.velocity.context.InternalContextAdapter;
-import org.apache.velocity.runtime.parser.node.ASTMap;
-import org.apache.velocity.runtime.parser.node.Node;
-import org.junit.Test;
-
-/**
- * Tests {@link VelocityUtil}.
- *
- * @version $Rev$ $Date$
- */
-public class VelocityUtilTest {
-
-    /**
-     * Test method for {@link VelocityUtil#getParameters(InternalContextAdapter, Node)}.
-     */
-    @Test
-    public void testGetParameters() {
-        InternalContextAdapter context = createMock(InternalContextAdapter.class);
-        Node node = createMock(Node.class);
-        ASTMap astMap = createMock(ASTMap.class);
-        @SuppressWarnings("unchecked")
-        Map<String, Object> params = createMock(Map.class);
-
-        expect(node.jjtGetChild(0)).andReturn(astMap);
-        expect(astMap.value(context)).andReturn(params);
-
-        replay(context, node, astMap, params);
-        assertSame(params, VelocityUtil.getParameters(context, node));
-        verify(context, node, astMap, params);
-    }
-
-    /**
-     * Test method for {@link VelocityUtil#getObject(Object, Object)}.
-     */
-    @Test
-    public void testGetObject() {
-        assertEquals(new Integer(1), VelocityUtil.getObject(new Integer(1), new Integer(2)));
-        assertEquals(new Integer(1), VelocityUtil.getObject(new Integer(1), null));
-        assertEquals(new Integer(2), VelocityUtil.getObject(null, new Integer(2)));
-        assertNull(VelocityUtil.getObject(null, null));
-    }
-
-}