Commit d72e319dff3bcf57c3f7a85d855ab333ccaf67e2

Authored by Ednara Oliveira
1 parent fffba4d1
Exists in master

Tratando erro de conversão de tipos

impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/ConfigurationPrimitiveOrWrapperValueExtractor.java
@@ -43,6 +43,8 @@ import java.util.HashSet; @@ -43,6 +43,8 @@ import java.util.HashSet;
43 import java.util.Set; 43 import java.util.Set;
44 44
45 import org.apache.commons.configuration.Configuration; 45 import org.apache.commons.configuration.Configuration;
  46 +import org.apache.commons.configuration.ConfigurationException;
  47 +import org.apache.commons.configuration.ConversionException;
46 import org.apache.commons.configuration.DataConfiguration; 48 import org.apache.commons.configuration.DataConfiguration;
47 import org.apache.commons.lang.ClassUtils; 49 import org.apache.commons.lang.ClassUtils;
48 50
@@ -69,7 +71,18 @@ public class ConfigurationPrimitiveOrWrapperValueExtractor implements Configurat @@ -69,7 +71,18 @@ public class ConfigurationPrimitiveOrWrapperValueExtractor implements Configurat
69 @Override 71 @Override
70 @SuppressWarnings("unchecked") 72 @SuppressWarnings("unchecked")
71 public Object getValue(String prefix, String key, Field field, Configuration configuration) { 73 public Object getValue(String prefix, String key, Field field, Configuration configuration) {
72 - return new DataConfiguration(configuration).get(ClassUtils.primitiveToWrapper(field.getType()), prefix + key); 74 + Object value;
  75 + try {
  76 + value = new DataConfiguration(configuration).get(ClassUtils.primitiveToWrapper(field.getType()), prefix
  77 + + key);
  78 + } catch (ConversionException e) {
  79 + value = new DataConfiguration(configuration).get(ClassUtils.primitiveToWrapper(String.class), prefix + key);
  80 + if (value.equals("")) {
  81 + value = null;
  82 + } else
  83 + throw e;
  84 + }
  85 + return value;
73 } 86 }
74 87
75 @Override 88 @Override