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]