Author: remm
Date: Fri Aug 18 07:32:34 2006
New Revision: 432604

URL: http://svn.apache.org/viewvc?rev=432604&view=rev
Log:
- Add two lost Jasper patches (which were applied to the old Jasper/TC6 
repository).
- 38676
- 39803 (not sure if the fix is complete)

Modified:
    tomcat/tc6.0.x/trunk/java/org/apache/el/lang/ELSupport.java
    tomcat/tc6.0.x/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java

Modified: tomcat/tc6.0.x/trunk/java/org/apache/el/lang/ELSupport.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/el/lang/ELSupport.java?rev=432604&r1=432603&r2=432604&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/el/lang/ELSupport.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/el/lang/ELSupport.java Fri Aug 18 
07:32:34 2006
@@ -107,6 +107,10 @@
             return false;
         } else if (obj0 instanceof Boolean || obj1 instanceof Boolean) {
             return coerceToBoolean(obj0).equals(coerceToBoolean(obj1));
+        } else if (obj0.getClass().isEnum()) {
+            return obj0.equals(coerceToEnum(obj1, obj0.getClass()));
+        } else if (obj1.getClass().isEnum()) {
+            return obj1.equals(coerceToEnum(obj0, obj1.getClass()));
         }
         if (isBigDecimalOp(obj0, obj1)) {
             BigDecimal bd0 = (BigDecimal) coerceToNumber(obj0, 
BigDecimal.class);
@@ -131,6 +135,21 @@
             return obj0.equals(obj1);
         }
     }
+    
+    /**
+     * @param obj
+     * @param type
+     * @return
+     */
+    public final static Enum coerceToEnum(final Object obj, Class type) {
+        if (obj == null || "".equals(obj)) {
+            return null;
+        }
+        if (obj.getClass().isEnum()) {
+            return (Enum) obj;
+        }
+        return Enum.valueOf(type, obj.toString());
+    }
 
     /**
      * @param obj
@@ -286,6 +305,8 @@
             return "";
         } else if (obj instanceof String) {
             return (String) obj;
+        } else if (obj instanceof Enum) {
+            return ((Enum) obj).name();
         } else {
             return obj.toString();
         }
@@ -310,6 +331,9 @@
         }
         if (obj != null && type.isAssignableFrom(obj.getClass())) {
             return obj;
+        }
+        if (type.isEnum()) {
+            return coerceToEnum(obj, type);
         }
 
         // new to spec

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java?rev=432604&r1=432603&r2=432604&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java 
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java 
Fri Aug 18 07:32:34 2006
@@ -217,6 +217,7 @@
 
             if (reload) {
                 tagHandlerClass = ctxt.load();
+                reload = false;
             }
         } catch (FileNotFoundException ex) {
             throw new JasperException(ex);
@@ -245,22 +246,23 @@
      * Get a list of files that the current page has source dependency on.
      */
     public java.util.List getDependants() {
-       try {
-           Object target;
-           if (isTagFile) {
+        try {
+            Object target;
+            if (isTagFile) {
                 if (reload) {
                     tagHandlerClass = ctxt.load();
+                    reload = false;
                 }
-               target = tagHandlerClass.newInstance();
-           } else {
-               target = getServlet();
-           }
-           if (target != null && target instanceof JspSourceDependent) {
-            return ((java.util.List) ((JspSourceDependent) 
target).getDependants());
-           }
-       } catch (Throwable ex) {
-       }
-       return null;
+                target = tagHandlerClass.newInstance();
+            } else {
+                target = getServlet();
+            }
+            if (target != null && target instanceof JspSourceDependent) {
+                return ((java.util.List) ((JspSourceDependent) 
target).getDependants());
+            }
+        } catch (Throwable ex) {
+        }
+        return null;
     }
 
     public boolean isTagFile() {



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to