Author: markt
Date: Sat Oct 27 19:49:38 2012
New Revision: 1402857

URL: http://svn.apache.org/viewvc?rev=1402857&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=53896
Use an optimised CompositeELResolver for Jasper that skips resolvers that are 
known to be unable to resolve the value.
Patch by Jarek Gawor.

Added:
    tomcat/tc7.0.x/trunk/java/org/apache/jasper/el/JasperELResolver.java
      - copied unchanged from r1402855, 
tomcat/trunk/java/org/apache/jasper/el/JasperELResolver.java
Modified:
    tomcat/tc7.0.x/trunk/   (props changed)
    
tomcat/tc7.0.x/trunk/java/org/apache/jasper/runtime/JspApplicationContextImpl.java
    tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc7.0.x/trunk/
------------------------------------------------------------------------------
  Merged /tomcat/trunk:r1402855

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/jasper/runtime/JspApplicationContextImpl.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/runtime/JspApplicationContextImpl.java?rev=1402857&r1=1402856&r2=1402857&view=diff
==============================================================================
--- 
tomcat/tc7.0.x/trunk/java/org/apache/jasper/runtime/JspApplicationContextImpl.java
 (original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/jasper/runtime/JspApplicationContextImpl.java
 Sat Oct 27 19:49:38 2012
@@ -5,9 +5,9 @@
  * 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.
@@ -19,31 +19,24 @@ package org.apache.jasper.runtime;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.List;
 
-import javax.el.ArrayELResolver;
-import javax.el.BeanELResolver;
 import javax.el.CompositeELResolver;
 import javax.el.ELContextEvent;
 import javax.el.ELContextListener;
 import javax.el.ELResolver;
 import javax.el.ExpressionFactory;
-import javax.el.ListELResolver;
-import javax.el.MapELResolver;
-import javax.el.ResourceBundleELResolver;
 import javax.servlet.ServletContext;
 import javax.servlet.jsp.JspApplicationContext;
 import javax.servlet.jsp.JspContext;
-import javax.servlet.jsp.el.ImplicitObjectELResolver;
-import javax.servlet.jsp.el.ScopedAttributeELResolver;
 
 import org.apache.jasper.Constants;
 import org.apache.jasper.el.ELContextImpl;
+import org.apache.jasper.el.JasperELResolver;
 
 /**
  * Implementation of JspApplicationContext
- * 
+ *
  * @author Jacob Hookom
  */
 public class JspApplicationContextImpl implements JspApplicationContext {
@@ -119,18 +112,7 @@ public class JspApplicationContextImpl i
     private ELResolver createELResolver() {
         this.instantiated = true;
         if (this.resolver == null) {
-            CompositeELResolver r = new CompositeELResolver();
-            r.add(new ImplicitObjectELResolver());
-            for (Iterator<ELResolver> itr = this.resolvers.iterator();
-                    itr.hasNext();) {
-                r.add(itr.next());
-            }
-            r.add(new MapELResolver());
-            r.add(new ResourceBundleELResolver());
-            r.add(new ListELResolver());
-            r.add(new ArrayELResolver());    
-            r.add(new BeanELResolver());
-            r.add(new ScopedAttributeELResolver());
+            CompositeELResolver r = new JasperELResolver(this.resolvers);
             this.resolver = r;
         }
         return this.resolver;

Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1402857&r1=1402856&r2=1402857&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Sat Oct 27 19:49:38 2012
@@ -98,6 +98,11 @@
   </subsection>
   <subsection name="Jasper">
     <changelog>
+      <scode>
+        <bug>53896</bug>: Use an optimised CompositeELResolver for Jasper that
+        skips resolvers that are known to be unable to resolve the value. Patch
+        by Jarek Gawor. (markt)
+      </scode>
       <fix>
         <bug>53986</bug>: Correct a regression introduced by the fix for
         <bug>53713</bug>. JSP comments that ended with the sequence ---%&gt; 
(or



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to