Author: apetrelli
Date: Mon May 12 03:35:47 2008
New Revision: 655462
URL: http://svn.apache.org/viewvc?rev=655462&view=rev
Log:
TILES-268
Added a "tomcat5x" profile for Tomcat 5 version.
Fixed execution to be multiplatform.
Added:
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/evaluator/
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/evaluator/el/
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/evaluator/el/MultiversionExpressionFactoryFactory.java
(with props)
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/evaluator/el/package.html
(with props)
tiles/framework/trunk/tiles-test/src/main/webapp/WEB-INF/web-24.xml (with
props)
Modified:
tiles/framework/trunk/tiles-test/pom.xml
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/factory/TestTilesContainerFactory.java
tiles/framework/trunk/tiles-test/src/main/webapp/testinitcontainer.jsp
Modified: tiles/framework/trunk/tiles-test/pom.xml
URL:
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-test/pom.xml?rev=655462&r1=655461&r2=655462&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-test/pom.xml (original)
+++ tiles/framework/trunk/tiles-test/pom.xml Mon May 12 03:35:47 2008
@@ -60,21 +60,10 @@
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>jstl</artifactId>
- <version>1.2</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.freemarker</groupId>
- <artifactId>freemarker</artifactId>
- <version>2.3.10</version>
- </dependency>
- <dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>jasper-el</artifactId>
<version>6.0.16</version>
- <scope>optional</scope>
+ <scope>provided</scope>
<exclusions>
<exclusion>
<groupId>org.apache.tomcat</groupId>
@@ -82,6 +71,17 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>jstl</artifactId>
+ <version>1.2</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.freemarker</groupId>
+ <artifactId>freemarker</artifactId>
+ <version>2.3.10</version>
+ </dependency>
</dependencies>
<build>
@@ -287,7 +287,103 @@
</build>
</profile>
+ <profile>
+ <id>tomcat5</id>
+ <dependencies>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.4</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>jsp-api</artifactId>
+ <version>2.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>jstl</artifactId>
+ <version>1.1.2</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>taglibs</groupId>
+ <artifactId>standard</artifactId>
+ <version>1.1.2</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.el</groupId>
+ <artifactId>el-api</artifactId>
+ <version>1.0</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.tomcat</groupId>
+ <artifactId>jasper-el</artifactId>
+ <version>6.0.16</version>
+ <scope>runtime</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.tomcat</groupId>
+ <artifactId>el-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ <version>2.0.2</version>
+ <configuration>
+ <webXml>src/main/webapp/WEB-INF/web-24.xml</webXml>
+ <webResources>
+ <resource>
+ <directory>.</directory>
+ <targetPath>META-INF</targetPath>
+ <includes>
+ <include>LICENSE.txt</include>
+ <include>NOTICE.txt</include>
+ </includes>
+ </resource>
+ </webResources>
+
<warSourceExcludes>**/jstl-1.2.jar</warSourceExcludes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.cargo</groupId>
+ <artifactId>cargo-maven2-plugin</artifactId>
+ <configuration>
+ <container>
+ <containerId>tomcat5x</containerId>
+ <home>${cargo.tomcat5x.home}</home>
+
<log>${project.build.directory}/tomcat5x.log</log>
+
<output>${project.build.directory}/tomcat5x.out</output>
+ </container>
+ <configuration>
+
<home>${project.build.directory}/tomcat5x</home>
+ </configuration>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
</profiles>
+ <repositories>
+ <repository>
+ <id>dtddoc</id>
+ <url>http://dtddoc.sf.net/maven2</url>
+ </repository>
+ <repository>
+ <id>java_net</id>
+ <url>http://download.java.net/maven/1/</url>
+ <layout>legacy</layout>
+ </repository>
+ </repositories>
<pluginRepositories>
<pluginRepository>
<id>codehaus.snapshots</id>
Added:
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/evaluator/el/MultiversionExpressionFactoryFactory.java
URL:
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/evaluator/el/MultiversionExpressionFactoryFactory.java?rev=655462&view=auto
==============================================================================
---
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/evaluator/el/MultiversionExpressionFactoryFactory.java
(added)
+++
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/evaluator/el/MultiversionExpressionFactoryFactory.java
Mon May 12 03:35:47 2008
@@ -0,0 +1,64 @@
+/*
+ * $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.test.evaluator.el;
+
+import javax.el.ExpressionFactory;
+import javax.servlet.jsp.JspFactory;
+
+import org.apache.el.ExpressionFactoryImpl;
+import org.apache.tiles.evaluator.el.JspExpressionFactoryFactory;
+
+/**
+ * Tries to use JSP 2.1 expression factory first, then Tomcat one.
+ *
+ * @version $Rev$ $Date$
+ */
+public class MultiversionExpressionFactoryFactory extends
+ JspExpressionFactoryFactory {
+
+ /**
+ * Minimum servlet version major number.
+ */
+ private static final int MINIMUM_SERVLET_VERSION_MAJOR = 2;
+
+ /**
+ * Minimum servlet version minor number.
+ */
+ private static final int MINIMUM_SERVLET_VERSION_MINOR = 5;
+
+ /** [EMAIL PROTECTED] */
+ @Override
+ public ExpressionFactory getExpressionFactory() {
+ ExpressionFactory efFactory;
+ if (servletContext.getMajorVersion() > MINIMUM_SERVLET_VERSION_MAJOR
+ || (servletContext.getMajorVersion() ==
MINIMUM_SERVLET_VERSION_MAJOR && servletContext
+ .getMinorVersion() >= MINIMUM_SERVLET_VERSION_MINOR)) {
+ efFactory =
JspFactory.getDefaultFactory().getJspApplicationContext(
+ servletContext).getExpressionFactory();
+ } else {
+ efFactory = new ExpressionFactoryImpl();
+ }
+
+ return efFactory;
+ }
+
+}
Propchange:
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/evaluator/el/MultiversionExpressionFactoryFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/evaluator/el/MultiversionExpressionFactoryFactory.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added:
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/evaluator/el/package.html
URL:
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/evaluator/el/package.html?rev=655462&view=auto
==============================================================================
---
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/evaluator/el/package.html
(added)
+++
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/evaluator/el/package.html
Mon May 12 03:35:47 2008
@@ -0,0 +1,30 @@
+<!--
+/*
+ * $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.
+ */
+-->
+<html>
+<head>
+ <title>EL evaluator test classes.</title>
+</head>
+<body>
+Contains classes to test the EL support in the test web application.
+</body>
+</html>
\ No newline at end of file
Propchange:
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/evaluator/el/package.html
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/evaluator/el/package.html
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Modified:
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/factory/TestTilesContainerFactory.java
URL:
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/factory/TestTilesContainerFactory.java?rev=655462&r1=655461&r2=655462&view=diff
==============================================================================
---
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/factory/TestTilesContainerFactory.java
(original)
+++
tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/factory/TestTilesContainerFactory.java
Mon May 12 03:35:47 2008
@@ -41,7 +41,6 @@
import org.apache.tiles.definition.DefinitionsReader;
import org.apache.tiles.evaluator.AttributeEvaluator;
import org.apache.tiles.evaluator.el.ELAttributeEvaluator;
-import org.apache.tiles.evaluator.el.JspExpressionFactoryFactory;
import org.apache.tiles.evaluator.el.TilesContextBeanELResolver;
import org.apache.tiles.evaluator.el.TilesContextELResolver;
import org.apache.tiles.factory.BasicTilesContainerFactory;
@@ -49,6 +48,7 @@
import org.apache.tiles.impl.mgmt.CachingTilesContainer;
import org.apache.tiles.locale.LocaleResolver;
import org.apache.tiles.renderer.impl.BasicRendererFactory;
+import org.apache.tiles.test.evaluator.el.MultiversionExpressionFactoryFactory;
import org.apache.tiles.test.renderer.ReverseStringAttributeRenderer;
/**
@@ -100,7 +100,7 @@
TilesContextFactory contextFactory, LocaleResolver resolver) {
ELAttributeEvaluator evaluator = new ELAttributeEvaluator();
evaluator.setApplicationContext(applicationContext);
- JspExpressionFactoryFactory efFactory = new
JspExpressionFactoryFactory();
+ MultiversionExpressionFactoryFactory efFactory = new
MultiversionExpressionFactoryFactory();
efFactory.setApplicationContext(applicationContext);
evaluator.setExpressionFactory(efFactory.getExpressionFactory());
ELResolver elResolver = new CompositeELResolver() {
Added: tiles/framework/trunk/tiles-test/src/main/webapp/WEB-INF/web-24.xml
URL:
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-test/src/main/webapp/WEB-INF/web-24.xml?rev=655462&view=auto
==============================================================================
--- tiles/framework/trunk/tiles-test/src/main/webapp/WEB-INF/web-24.xml (added)
+++ tiles/framework/trunk/tiles-test/src/main/webapp/WEB-INF/web-24.xml Mon May
12 03:35:47 2008
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+/*
+ * $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.
+ */
+-->
+
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+ version="2.4">
+
+ <display-name>Tiles 2 Test Application</display-name>
+ <distributable/>
+
+ <context-param>
+
<param-name>org.apache.tiles.factory.AbstractTilesContainerFactory</param-name>
+
<param-value>org.apache.tiles.test.factory.TestTilesContainerFactory</param-value>
+ </context-param>
+
+ <filter>
+ <filter-name>Tiles Decoration Filter</filter-name>
+
<filter-class>org.apache.tiles.web.util.TilesDecorationFilter</filter-class>
+ <init-param>
+ <param-name>definition</param-name>
+ <param-value>test.definition</param-value>
+ </init-param>
+ <init-param>
+ <param-name>attribute-name</param-name>
+ <param-value>body</param-value>
+ </init-param>
+ </filter>
+
+ <filter>
+ <filter-name>Security Wrapping Filter</filter-name>
+
<filter-class>org.apache.tiles.test.filter.SecurityWrappingFilter</filter-class>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>Tiles Decoration Filter</filter-name>
+ <url-pattern>/testdecorationfilter.jsp</url-pattern>
+ <dispatcher>REQUEST</dispatcher>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>Security Wrapping Filter</filter-name>
+ <url-pattern>/*</url-pattern>
+ <dispatcher>REQUEST</dispatcher>
+ </filter-mapping>
+
+ <!-- Standard Action Servlet Configuration -->
+ <servlet>
+ <servlet-name>tiles</servlet-name>
+
<servlet-class>org.apache.tiles.web.startup.TilesServlet</servlet-class>
+ <load-on-startup>2</load-on-startup>
+ </servlet>
+ <servlet>
+ <servlet-name>freemarker</servlet-name>
+ <servlet-class>freemarker.ext.servlet.FreemarkerServlet</servlet-class>
+
+ <!-- FreemarkerServlet settings: -->
+ <init-param>
+ <param-name>TemplatePath</param-name>
+ <param-value>/</param-value>
+ </init-param>
+ <init-param>
+ <param-name>NoCache</param-name>
+ <param-value>true</param-value>
+ </init-param>
+ <init-param>
+ <param-name>ContentType</param-name>
+ <param-value>text/html</param-value>
+ </init-param>
+
+ <!-- FreeMarker settings: -->
+ <init-param>
+ <param-name>template_update_delay</param-name>
+ <param-value>0</param-value> <!-- 0 is for development only! Use
higher value otherwise. -->
+ </init-param>
+ <init-param>
+ <param-name>default_encoding</param-name>
+ <param-value>ISO-8859-1</param-value>
+ </init-param>
+ <init-param>
+ <param-name>number_format</param-name>
+ <param-value>0.##########</param-value>
+ </init-param>
+
+ <load-on-startup>3</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name>Tiles Dispatch Servlet</servlet-name>
+
<servlet-class>org.apache.tiles.web.util.TilesDispatchServlet</servlet-class>
+ </servlet>
+
+ <!-- Standard Action Servlet Configuration -->
+ <servlet>
+ <servlet-name>layoutServlet</servlet-name>
+
<servlet-class>org.apache.tiles.test.servlet.IncludingServlet</servlet-class>
+ <init-param>
+ <param-name>include</param-name>
+ <param-value>/layout.jsp</param-value>
+ </init-param>
+ <init-param>
+ <param-name>errorInclude</param-name>
+ <param-value>/errorInclude.jsp</param-value>
+ </init-param>
+ </servlet>
+ <servlet>
+ <servlet-name>selectLocaleServlet</servlet-name>
+
<servlet-class>org.apache.tiles.test.servlet.SelectLocaleServlet</servlet-class>
+ </servlet>
+
+ <welcome-file-list>
+ <welcome-file>index.jsp</welcome-file>
+ </welcome-file-list>
+
+ <servlet-mapping>
+ <servlet-name>freemarker</servlet-name>
+ <url-pattern>*.ftl</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>layoutServlet</servlet-name>
+ <url-pattern>/servlets/layoutServlet</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>selectLocaleServlet</servlet-name>
+ <url-pattern>/servlets/selectLocaleServlet</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>Tiles Dispatch Servlet</servlet-name>
+ <url-pattern>*.tiles</url-pattern>
+ </servlet-mapping>
+
+</web-app>
Propchange: tiles/framework/trunk/tiles-test/src/main/webapp/WEB-INF/web-24.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tiles/framework/trunk/tiles-test/src/main/webapp/WEB-INF/web-24.xml
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Modified: tiles/framework/trunk/tiles-test/src/main/webapp/testinitcontainer.jsp
URL:
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-test/src/main/webapp/testinitcontainer.jsp?rev=655462&r1=655461&r2=655462&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-test/src/main/webapp/testinitcontainer.jsp
(original)
+++ tiles/framework/trunk/tiles-test/src/main/webapp/testinitcontainer.jsp Mon
May 12 03:35:47 2008
@@ -38,6 +38,8 @@
value="reversed,org.apache.tiles.test.renderer.ReverseStringAttributeRenderer"/>
<tiles:putAttribute name="org.apache.tiles.evaluator.AttributeEvaluator"
value="org.apache.tiles.evaluator.el.ELAttributeEvaluator"/>
+ <tiles:putAttribute
name="org.apache.tiles.evaluator.el.ExpressionFactoryFactory"
+
value="org.apache.tiles.test.evaluator.el.MultiversionExpressionFactoryFactory"/>
</tiles:initContainer>
<tiles:insertDefinition name="test.definition" />