You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2012/03/20 21:50:36 UTC

svn commit: r1303142 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/jasper/el/ELContextImpl.java java/org/apache/jasper/el/ELResolverImpl.java java/org/apache/jasper/el/ExpressionEvaluatorImpl.java

Author: markt
Date: Tue Mar 20 20:50:36 2012
New Revision: 1303142

URL: http://svn.apache.org/viewvc?rev=1303142&view=rev
Log:
Deprecate ELResolverImpl since it supports the deprecated EL implementation
Move the default EL resolver to the ELContextImpl so the deprecated code depends on undeprecated code rather than the other way around.
Fixes a handful of deprecation warnings

Modified:
    tomcat/tc7.0.x/trunk/   (props changed)
    tomcat/tc7.0.x/trunk/java/org/apache/jasper/el/ELContextImpl.java
    tomcat/tc7.0.x/trunk/java/org/apache/jasper/el/ELResolverImpl.java
    tomcat/tc7.0.x/trunk/java/org/apache/jasper/el/ExpressionEvaluatorImpl.java

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

Modified: tomcat/tc7.0.x/trunk/java/org/apache/jasper/el/ELContextImpl.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/el/ELContextImpl.java?rev=1303142&r1=1303141&r2=1303142&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/jasper/el/ELContextImpl.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/jasper/el/ELContextImpl.java Tue Mar 20 20:50:36 2012
@@ -20,12 +20,20 @@ import java.lang.reflect.Method;
 import java.util.HashMap;
 import java.util.Map;
 
+import javax.el.ArrayELResolver;
+import javax.el.BeanELResolver;
+import javax.el.CompositeELResolver;
 import javax.el.ELContext;
 import javax.el.ELResolver;
 import javax.el.FunctionMapper;
+import javax.el.ListELResolver;
+import javax.el.MapELResolver;
+import javax.el.ResourceBundleELResolver;
 import javax.el.ValueExpression;
 import javax.el.VariableMapper;
 
+import org.apache.jasper.Constants;
+
 /**
  * Implementation of ELContext
  * 
@@ -62,6 +70,21 @@ public final class ELContextImpl extends
 
     }
 
+    private static final ELResolver DefaultResolver;
+
+    static {
+        if (Constants.IS_SECURITY_ENABLED) {
+            DefaultResolver = null;
+        } else {
+            DefaultResolver = new CompositeELResolver();
+            ((CompositeELResolver) DefaultResolver).add(new MapELResolver());
+            ((CompositeELResolver) DefaultResolver).add(new ResourceBundleELResolver());
+            ((CompositeELResolver) DefaultResolver).add(new ListELResolver());
+            ((CompositeELResolver) DefaultResolver).add(new ArrayELResolver());
+            ((CompositeELResolver) DefaultResolver).add(new BeanELResolver());
+        }
+    }
+
     private final ELResolver resolver;
 
     private FunctionMapper functionMapper = NullFunctionMapper;
@@ -69,7 +92,7 @@ public final class ELContextImpl extends
     private VariableMapper variableMapper;
 
     public ELContextImpl() {
-        this(ELResolverImpl.getDefaultResolver());
+        this(getDefaultResolver());
     }
 
     public ELContextImpl(ELResolver resolver) {
@@ -102,4 +125,17 @@ public final class ELContextImpl extends
         this.variableMapper = variableMapper;
     }
 
+    public static ELResolver getDefaultResolver() {
+        if (Constants.IS_SECURITY_ENABLED) {
+            CompositeELResolver defaultResolver = new CompositeELResolver();
+            defaultResolver.add(new MapELResolver());
+            defaultResolver.add(new ResourceBundleELResolver());
+            defaultResolver.add(new ListELResolver());
+            defaultResolver.add(new ArrayELResolver());
+            defaultResolver.add(new BeanELResolver());
+            return defaultResolver;
+        } else {
+            return DefaultResolver;
+        }
+    }
 }

Modified: tomcat/tc7.0.x/trunk/java/org/apache/jasper/el/ELResolverImpl.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/el/ELResolverImpl.java?rev=1303142&r1=1303141&r2=1303142&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/jasper/el/ELResolverImpl.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/jasper/el/ELResolverImpl.java Tue Mar 20 20:50:36 2012
@@ -19,43 +19,22 @@ package org.apache.jasper.el;
 
 import java.util.Iterator;
 
-import javax.el.ArrayELResolver;
-import javax.el.BeanELResolver;
-import javax.el.CompositeELResolver;
 import javax.el.ELContext;
 import javax.el.ELException;
 import javax.el.ELResolver;
-import javax.el.ListELResolver;
-import javax.el.MapELResolver;
 import javax.el.PropertyNotFoundException;
 import javax.el.PropertyNotWritableException;
-import javax.el.ResourceBundleELResolver;
 import javax.servlet.jsp.el.VariableResolver;
 
-import org.apache.jasper.Constants;
-
+@Deprecated
 public final class ELResolverImpl extends ELResolver {
-    private static final ELResolver DefaultResolver;
-
-    static {
-        if (Constants.IS_SECURITY_ENABLED) {
-            DefaultResolver = null;
-        } else {
-            DefaultResolver = new CompositeELResolver();
-            ((CompositeELResolver) DefaultResolver).add(new MapELResolver());
-            ((CompositeELResolver) DefaultResolver).add(new ResourceBundleELResolver());
-            ((CompositeELResolver) DefaultResolver).add(new ListELResolver());
-            ((CompositeELResolver) DefaultResolver).add(new ArrayELResolver());
-            ((CompositeELResolver) DefaultResolver).add(new BeanELResolver());
-        }
-    }
 
     private final VariableResolver variableResolver;
     private final ELResolver elResolver;
 
     public ELResolverImpl(VariableResolver variableResolver) {
         this.variableResolver = variableResolver;
-        this.elResolver = getDefaultResolver();
+        this.elResolver = ELContextImpl.getDefaultResolver();
     }
 
     @Override
@@ -157,17 +136,12 @@ public final class ELResolverImpl extend
         return elResolver.getCommonPropertyType(context, base);
     }
 
+    /**
+     * @deprecated  Use {@link ELContextImpl#getDefaultResolver()} instead. This
+     *              method will be removed in Tomcat 8.0.x onwards.
+     */
+    @Deprecated
     public static ELResolver getDefaultResolver() {
-        if (Constants.IS_SECURITY_ENABLED) {
-            CompositeELResolver defaultResolver = new CompositeELResolver();
-            defaultResolver.add(new MapELResolver());
-            defaultResolver.add(new ResourceBundleELResolver());
-            defaultResolver.add(new ListELResolver());
-            defaultResolver.add(new ArrayELResolver());
-            defaultResolver.add(new BeanELResolver());
-            return defaultResolver;
-        } else {
-            return DefaultResolver;
-        }
+        return ELContextImpl.getDefaultResolver();
     }
 }

Modified: tomcat/tc7.0.x/trunk/java/org/apache/jasper/el/ExpressionEvaluatorImpl.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/el/ExpressionEvaluatorImpl.java?rev=1303142&r1=1303141&r2=1303142&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/jasper/el/ExpressionEvaluatorImpl.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/jasper/el/ExpressionEvaluatorImpl.java Tue Mar 20 20:50:36 2012
@@ -41,7 +41,7 @@ public final class ExpressionEvaluatorIm
             FunctionMapper fMapper) throws ELException {
         try {
             ELContextImpl ctx =
-                new ELContextImpl(ELResolverImpl.getDefaultResolver());
+                new ELContextImpl(ELContextImpl.getDefaultResolver());
             if (fMapper != null) {
                 ctx.setFunctionMapper(new FunctionMapperImpl(fMapper));
             }



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