You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by oh...@apache.org on 2018/03/24 19:57:23 UTC
svn commit: r1827667 - in /commons/proper/configuration/trunk/src:
main/java/org/apache/commons/configuration2/AbstractConfiguration.java
test/java/org/apache/commons/configuration2/TestDataConfiguration.java
Author: oheger
Date: Sat Mar 24 19:57:23 2018
New Revision: 1827667
URL: http://svn.apache.org/viewvc?rev=1827667&view=rev
Log:
CONFIGURATION-692: The cause of conversion exceptions is retained.
ConversionExceptions thrown when accessing properties are caught and
rethrown with an improved error message. Now the new exception
contains the cause of the original one.
Modified:
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration2/AbstractConfiguration.java
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration2/TestDataConfiguration.java
Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration2/AbstractConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration2/AbstractConfiguration.java?rev=1827667&r1=1827666&r2=1827667&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration2/AbstractConfiguration.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration2/AbstractConfiguration.java Sat Mar 24 19:57:23 2018
@@ -1769,7 +1769,7 @@ public abstract class AbstractConfigurat
throw new ConversionException(
String.format(
"Key '%s' cannot be converted to class %s. Value is: '%s'.",
- key, cls.getName(), String.valueOf(value)));
+ key, cls.getName(), String.valueOf(value)), cex.getCause());
}
}
Modified: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration2/TestDataConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration2/TestDataConfiguration.java?rev=1827667&r1=1827666&r2=1827667&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration2/TestDataConfiguration.java (original)
+++ commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration2/TestDataConfiguration.java Sat Mar 24 19:57:23 2018
@@ -2598,4 +2598,22 @@ public class TestDataConfiguration
conf.clearPropertyDirect(key);
EasyMock.verify(wrapped);
}
+
+ /**
+ * Tests that the cause of a conversion exception is kept.
+ */
+ @Test
+ public void testConversionExceptionCause()
+ {
+ try
+ {
+ conf.get(Integer.TYPE, "uri.string");
+ fail("No conversion exception thrown!");
+ }
+ catch (ConversionException cex)
+ {
+ assertTrue("Wrong cause",
+ cex.getCause() instanceof NumberFormatException);
+ }
+ }
}