You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tiles.apache.org by ap...@apache.org on 2009/07/27 12:50:42 UTC

svn commit: r798098 - in /tiles/framework/trunk: assembly/ src/site/apt/ src/site/apt/tutorial/advanced/ tiles-core/src/main/java/org/apache/tiles/evaluator/el/ tiles-core/src/test/java/org/apache/tiles/evaluator/el/ tiles-test/ tiles-test/src/main/jav...

Author: apetrelli
Date: Mon Jul 27 10:50:41 2009
New Revision: 798098

URL: http://svn.apache.org/viewvc?rev=798098&view=rev
Log:
TILES-447
Removed Tomcat where not necessary.
Deprecated TomcatExpressionFactoryFactory.
Removed code from tiles-test webapp.
Added line in what's new page.

Removed:
    tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/evaluator/el/
    tiles/framework/trunk/tiles-test/src/main/webapp/WEB-INF/web-24.xml
Modified:
    tiles/framework/trunk/assembly/pom.xml
    tiles/framework/trunk/src/site/apt/tutorial/advanced/el-support.apt
    tiles/framework/trunk/src/site/apt/whats-new.apt
    tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/evaluator/el/ELAttributeEvaluator.java
    tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/evaluator/el/TomcatExpressionFactoryFactory.java
    tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/evaluator/el/ELAttributeEvaluatorTest.java
    tiles/framework/trunk/tiles-test/pom.xml
    tiles/framework/trunk/tiles-test/src/main/java/org/apache/tiles/test/factory/TestTilesContainerFactory.java

Modified: tiles/framework/trunk/assembly/pom.xml
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/assembly/pom.xml?rev=798098&r1=798097&r2=798098&view=diff
==============================================================================
--- tiles/framework/trunk/assembly/pom.xml (original)
+++ tiles/framework/trunk/assembly/pom.xml Mon Jul 27 10:50:41 2009
@@ -145,20 +145,6 @@
     </dependency>
 
     <dependency>
-        <groupId>org.apache.tomcat</groupId>
-        <artifactId>jasper-el</artifactId>
-        <version>6.0.18</version>
-        <scope>runtime</scope>
-        <optional>true</optional>
-        <exclusions>
-          <exclusion>
-            <groupId>org.apache.tomcat</groupId>
-            <artifactId>el-api</artifactId>
-          </exclusion>
-        </exclusions>
-    </dependency>
-
-    <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-jdk14</artifactId>
       <version>1.5.8</version>

Modified: tiles/framework/trunk/src/site/apt/tutorial/advanced/el-support.apt
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/src/site/apt/tutorial/advanced/el-support.apt?rev=798098&r1=798097&r2=798098&view=diff
==============================================================================
--- tiles/framework/trunk/src/site/apt/tutorial/advanced/el-support.apt (original)
+++ tiles/framework/trunk/src/site/apt/tutorial/advanced/el-support.apt Mon Jul 27 10:50:41 2009
@@ -92,12 +92,59 @@
 }
 ------------------------------------
 
-  If you are using Servlet 2.4, you still can use Tiles EL support but:
+** Configuration under Servlets 2.4/JSP 2.1
 
-  * You have to put <<<jasper-el-6.0.16.jar>>> (or newer version) in your classpath.
+  If you are using Servlets 2.4/JSP 2.0, you still can use Tiles EL support but:
 
-  * Use <<<TomcatExpressionFactoryFactory>>> instead of
-  <<<JspExpressionFactoryFactory>>>.
+  * You have to put <<<jasper-el-6.0.16.jar>>> (or newer version) and
+  <<<el-api-1.0.jar>>> in your classpath.
+
+  * Inject the <<<ExpressionFactoryImpl>>> from Tomcat into the attribute evaluator,
+  overriding
+  {{{../../apidocs/org/apache/tiles/factory/BasicTilesContainerFactory.html#createAttributeEvaluatorFactory(org.apache.tiles.TilesApplicationContext, org.apache.tiles.context.TilesRequestContextFactory, org.apache.tiles.locale.LocaleResolver)}createAttributeEvaluatorFactory}}
+  of <<<BasicTilesContainerFactory>>> class this way:
+
+------------------------------------
+    @Override
+    protected AttributeEvaluatorFactory createAttributeEvaluatorFactory(
+            TilesApplicationContext applicationContext,
+            TilesRequestContextFactory contextFactory, LocaleResolver resolver) {
+        BasicAttributeEvaluatorFactory attributeEvaluatorFactory = new BasicAttributeEvaluatorFactory(
+                createELEvaluator(applicationContext));
+
+        return attributeEvaluatorFactory;
+    }
+
+    /**
+     * Creates the EL evaluator.
+     *
+     * @param applicationContext The Tiles application context.
+     * @return The EL evaluator.
+     */
+    private ELAttributeEvaluator createELEvaluator(
+            TilesApplicationContext applicationContext) {
+        ELAttributeEvaluator evaluator = new ELAttributeEvaluator();
+        evaluator.setApplicationContext(applicationContext);
+
+        // This is the important piece!
+        evaluator.setExpressionFactory(new ExpressionFactoryImpl());
+        // End of the important piece!
+
+        ELResolver elResolver = new CompositeELResolver() {
+            {
+                add(new TilesContextELResolver());
+                add(new TilesContextBeanELResolver());
+                add(new ArrayELResolver(false));
+                add(new ListELResolver(false));
+                add(new MapELResolver(false));
+                add(new ResourceBundleELResolver());
+                add(new BeanELResolver(false));
+            }
+        };
+        evaluator.setResolver(elResolver);
+        return evaluator;
+    }
+------------------------------------
 
 ** Usage
 

Modified: tiles/framework/trunk/src/site/apt/whats-new.apt
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/src/site/apt/whats-new.apt?rev=798098&r1=798097&r2=798098&view=diff
==============================================================================
--- tiles/framework/trunk/src/site/apt/whats-new.apt (original)
+++ tiles/framework/trunk/src/site/apt/whats-new.apt Mon Jul 27 10:50:41 2009
@@ -49,6 +49,14 @@
   {{{tutorial/configuration.html}configuration}} page to know how to configure
   Tiles with Java.
 
+* Removals in Tiles 2.2
+
+  * Support of retrotranslated packages to be compatible with Java 1.4. It is possible,
+  though, to retrotranslate the packages manually.
+
+  * Support for Servlets 2.4 and JSP 2.0 when creating <<<ELAttributeEvaluator>>>.
+  {{{tutorial/advanced/el-support.html}It is still possible to use it manually}}.
+
 * New features in Tiles 2.1
 
   Tiles 2.1 introduces new features, but remaining compatible to Tiles 2.0.x.

Modified: tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/evaluator/el/ELAttributeEvaluator.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/evaluator/el/ELAttributeEvaluator.java?rev=798098&r1=798097&r2=798098&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/evaluator/el/ELAttributeEvaluator.java (original)
+++ tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/evaluator/el/ELAttributeEvaluator.java Mon Jul 27 10:50:41 2009
@@ -36,6 +36,7 @@
 import org.apache.tiles.awareness.TilesApplicationContextAware;
 import org.apache.tiles.context.TilesRequestContext;
 import org.apache.tiles.evaluator.AbstractAttributeEvaluator;
+import org.apache.tiles.evaluator.EvaluationException;
 import org.apache.tiles.reflect.ClassUtil;
 
 /**
@@ -101,7 +102,9 @@
                     .instantiate(
                     "org.apache.tiles.evaluator.el.JspExpressionFactoryFactory", true);
             if (efFactory == null) {
-                efFactory = new TomcatExpressionFactoryFactory();
+                throw new EvaluationException(
+                        "Cannot instantiate JspExpressionFactoryFactory, "
+                                + "please add tiles-jsp.jar file in your classpath");
             }
         }
         if (efFactory instanceof TilesApplicationContextAware) {

Modified: tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/evaluator/el/TomcatExpressionFactoryFactory.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/evaluator/el/TomcatExpressionFactoryFactory.java?rev=798098&r1=798097&r2=798098&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/evaluator/el/TomcatExpressionFactoryFactory.java (original)
+++ tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/evaluator/el/TomcatExpressionFactoryFactory.java Mon Jul 27 10:50:41 2009
@@ -30,6 +30,8 @@
  *
  * @version $Rev$ $Date$
  * @since 2.1.0
+ * @deprecated Upgrade to Servlet 2.5 and JSP 2.1 and use
+ * <code>JspExpressionFactoryFactory</code>.
  */
 public class TomcatExpressionFactoryFactory implements ExpressionFactoryFactory {
 

Modified: tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/evaluator/el/ELAttributeEvaluatorTest.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/evaluator/el/ELAttributeEvaluatorTest.java?rev=798098&r1=798097&r2=798098&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/evaluator/el/ELAttributeEvaluatorTest.java (original)
+++ tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/evaluator/el/ELAttributeEvaluatorTest.java Mon Jul 27 10:50:41 2009
@@ -49,6 +49,7 @@
     private TilesRequestContext request;
 
     /** {@inheritDoc} */
+    @SuppressWarnings("deprecation")
     protected void setUp() throws Exception {
         super.setUp();
         evaluator = new ELAttributeEvaluator();

Modified: tiles/framework/trunk/tiles-test/pom.xml
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-test/pom.xml?rev=798098&r1=798097&r2=798098&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-test/pom.xml (original)
+++ tiles/framework/trunk/tiles-test/pom.xml Mon Jul 27 10:50:41 2009
@@ -77,18 +77,6 @@
          <scope>provided</scope>
       </dependency>
       <dependency>
-        <groupId>org.apache.tomcat</groupId>
-        <artifactId>jasper-el</artifactId>
-        <version>6.0.20</version>
-        <scope>provided</scope>
-        <exclusions>
-          <exclusion>
-            <groupId>org.apache.tomcat</groupId>
-            <artifactId>el-api</artifactId>
-          </exclusion>
-        </exclusions>
-      </dependency>
-      <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>jstl</artifactId>
          <version>1.2</version>
@@ -355,80 +343,6 @@
                 </plugins>
             </build>
         </profile>
-
-        <profile>
-            <id>tomcat5</id>
-            <dependencies>
-                <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.1-beta-1</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>

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=798098&r1=798097&r2=798098&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 Jul 27 10:50:41 2009
@@ -70,9 +70,9 @@
 import org.apache.tiles.freemarker.renderer.FreeMarkerAttributeRenderer;
 import org.apache.tiles.impl.BasicTilesContainer;
 import org.apache.tiles.impl.mgmt.CachingTilesContainer;
+import org.apache.tiles.jsp.evaluator.el.JspExpressionFactoryFactory;
 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.exception.TilesTestRuntimeException;
 import org.apache.tiles.test.renderer.ReverseStringAttributeRenderer;
 import org.apache.tiles.velocity.context.VelocityTilesRequestContextFactory;
@@ -193,7 +193,7 @@
             TilesApplicationContext applicationContext) {
         ELAttributeEvaluator evaluator = new ELAttributeEvaluator();
         evaluator.setApplicationContext(applicationContext);
-        MultiversionExpressionFactoryFactory efFactory = new MultiversionExpressionFactoryFactory();
+        JspExpressionFactoryFactory efFactory = new JspExpressionFactoryFactory();
         efFactory.setApplicationContext(applicationContext);
         evaluator.setExpressionFactory(efFactory.getExpressionFactory());
         ELResolver elResolver = new CompositeELResolver() {