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]