ugo 2003/11/10 03:26:32
Modified: src/blocks/woody/java/org/apache/cocoon/woody/datatype/convertor
EnumConvertor.java
Log:
Check only for "public static final" fields when converting enum to string.
Revision Changes Path
1.5 +7 -2
cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/datatype/convertor/EnumConvertor.java
Index: EnumConvertor.java
===================================================================
RCS file:
/home/cvs/cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/datatype/convertor/EnumConvertor.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- EnumConvertor.java 9 Nov 2003 09:21:19 -0000 1.4
+++ EnumConvertor.java 10 Nov 2003 11:26:32 -0000 1.5
@@ -52,6 +52,7 @@
import java.lang.reflect.Field;
import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
import java.util.Locale;
import org.apache.avalon.framework.CascadingRuntimeException;
@@ -107,7 +108,11 @@
Field fields[] = clazz.getDeclaredFields();
for (int i = 0 ; i < fields.length ; ++i) {
try {
- if (fields[i].get(null).equals(value)) {
+ int mods = fields[i].getModifiers();
+ if (Modifier.isPublic(mods)
+ && Modifier.isStatic(mods)
+ && Modifier.isFinal(mods)
+ && fields[i].get(null).equals(value)) {
return clazz.getName() + "." + fields[i].getName();
}
} catch (Exception e) {