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) {
  
  
  

Reply via email to