You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by js...@apache.org on 2007/06/04 12:15:44 UTC
svn commit: r544115 - in /activemq/camel/trunk/camel-core/src:
main/java/org/apache/camel/converter/
main/java/org/apache/camel/impl/converter/
test/java/org/apache/camel/converter/ test/java/org/apache/camel/issues/
Author: jstrachan
Date: Mon Jun 4 03:15:39 2007
New Revision: 544115
URL: http://svn.apache.org/viewvc?view=rev&rev=544115
Log:
improvement for CAMEL-3 so that boolean b = in.getHeader("foo", boolean.class); does not throw a NPE for a missing header; instead false is returned for missing values
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/IOConverter.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/DefaultTypeConverter.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/converter/ConverterTest.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/Issue3Test.java
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/IOConverter.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/IOConverter.java?view=diff&rev=544115&r1=544114&r2=544115
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/IOConverter.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/IOConverter.java Mon Jun 4 03:15:39 2007
@@ -99,6 +99,9 @@
@Converter
public static String toString(BufferedReader reader) throws IOException {
+ if (reader == null) {
+ return null;
+ }
try {
StringBuilder builder = new StringBuilder();
boolean first = true;
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java?view=diff&rev=544115&r1=544114&r2=544115
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java Mon Jun 4 03:15:39 2007
@@ -60,16 +60,30 @@
}
/**
- * Converts the given value to a boolean, handling strings or Boolean objects; otherwise returning true if non-null
+ * Converts the given value to a boolean, handling strings or Boolean objects;
+ * otherwise returning false if the value could not be converted to a boolean
*/
@Converter
- public static boolean toBoolean(Object value) {
+ public static boolean toBool(Object value) {
+ Boolean answer = toBoolean(value);
+ if (answer != null) {
+ return answer.booleanValue();
+ }
+ return false;
+ }
+
+ /**
+ * Converts the given value to a Boolean, handling strings or Boolean objects;
+ * otherwise returning null if the value cannot be converted to a boolean
+ */
+ @Converter
+ public static Boolean toBoolean(Object value) {
if (value instanceof Boolean) {
return (Boolean) value;
}
if (value instanceof String) {
- return "true".equalsIgnoreCase(value.toString());
+ return "true".equalsIgnoreCase(value.toString()) ? Boolean.TRUE : Boolean.FALSE;
}
- return false;
+ return null;
}
}
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/DefaultTypeConverter.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/DefaultTypeConverter.java?view=diff&rev=544115&r1=544114&r2=544115
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/DefaultTypeConverter.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/DefaultTypeConverter.java Mon Jun 4 03:15:39 2007
@@ -104,7 +104,7 @@
}
protected <T> TypeConverter getOrFindTypeConverter(Class toType, Object value) {
- Class fromType = null;
+ Class fromType = Object.class;
if (value != null) {
fromType = value.getClass();
}
Modified: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/converter/ConverterTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/converter/ConverterTest.java?view=diff&rev=544115&r1=544114&r2=544115
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/converter/ConverterTest.java (original)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/converter/ConverterTest.java Mon Jun 4 03:15:39 2007
@@ -133,4 +133,8 @@
}
+ public void testPrimitiveBooleanConversion() throws Exception {
+ boolean value = converter.convertTo(boolean.class, null);
+ assertFalse(value);
+ }
}
Modified: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/Issue3Test.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/Issue3Test.java?view=diff&rev=544115&r1=544114&r2=544115
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/Issue3Test.java (original)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/Issue3Test.java Mon Jun 4 03:15:39 2007
@@ -52,6 +52,9 @@
Boolean isDebug = in.getHeader("someproperty", Boolean.class);
assertNull(isDebug);
+
+ boolean isDebug2 = in.getHeader("someproperty", boolean.class);
+ assertFalse(isDebug2);
}
});
}