Commit b1d017ee6f8d4d2e8f31dfaf0784de5fb4e49f2c
1 parent
da9f1827
Exists in
master
Corrigido bug do extrator de ENUM onde valores não informados causavam
NullPointerException ao invés de usar o valor padrão.
Showing
1 changed file
with
11 additions
and
6 deletions
Show diff stats
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/ConfigurationEnumValueExtractor.java
@@ -55,20 +55,25 @@ public class ConfigurationEnumValueExtractor implements ConfigurationValueExtrac | @@ -55,20 +55,25 @@ public class ConfigurationEnumValueExtractor implements ConfigurationValueExtrac | ||
55 | public Object getValue(String prefix, String key, Field field, Configuration configuration) throws Exception { | 55 | public Object getValue(String prefix, String key, Field field, Configuration configuration) throws Exception { |
56 | String value = configuration.getString(prefix + key); | 56 | String value = configuration.getString(prefix + key); |
57 | 57 | ||
58 | - Object enums[] = field.getDeclaringClass().getEnumConstants(); | ||
59 | - | ||
60 | - for (int i=0; i<enums.length; i++){ | ||
61 | - if (enums[i].getClass().getSimpleName().equalsIgnoreCase(value)){ | ||
62 | - return enums[i]; | 58 | + if (value!=null){ |
59 | + Object enums[] = field.getDeclaringClass().getEnumConstants(); | ||
60 | + | ||
61 | + for (int i=0; i<enums.length; i++){ | ||
62 | + if (enums[i].getClass().getSimpleName().equalsIgnoreCase(value)){ | ||
63 | + return enums[i]; | ||
64 | + } | ||
63 | } | 65 | } |
64 | } | 66 | } |
67 | + else{ | ||
68 | + return null; | ||
69 | + } | ||
65 | 70 | ||
66 | throw new ConversionException(getBundle().getString("configuration-not-conversion",value,field.getDeclaringClass().getCanonicalName())); | 71 | throw new ConversionException(getBundle().getString("configuration-not-conversion",value,field.getDeclaringClass().getCanonicalName())); |
67 | } | 72 | } |
68 | 73 | ||
69 | @Override | 74 | @Override |
70 | public boolean isSupported(Field field) { | 75 | public boolean isSupported(Field field) { |
71 | - return field.getDeclaringClass().isEnum(); | 76 | + return field.getType().isEnum(); |
72 | } | 77 | } |
73 | 78 | ||
74 | private ResourceBundle getBundle(){ | 79 | private ResourceBundle getBundle(){ |