This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push: new 830ea65 CAMEL-12260: Default value for String field results is null for CSV/Bindy 830ea65 is described below commit 830ea65047d8daf58d92ac3d96591ecfd5091fa8 Author: Dmitry Volodin <dmvo...@gmail.com> AuthorDate: Fri Feb 16 17:55:00 2018 +0300 CAMEL-12260: Default value for String field results is null for CSV/Bindy --- .../org/apache/camel/dataformat/bindy/BindyAbstractFactory.java | 3 +++ .../camel/dataformat/bindy/fixed/BindyFixedLengthDataFormat.java | 1 + .../bindy/csv/BindyRecordFieldStartingWithSeperatorCharTest.java | 3 ++- .../camel/dataformat/bindy/csv/BindySimpleCsvUnmarshallTest.java | 8 +++++++- .../camel/dataformat/bindy/fixed/BindyPaddingAndTrimmingTest.java | 4 +--- 5 files changed, 14 insertions(+), 5 deletions(-) diff --git a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyAbstractFactory.java b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyAbstractFactory.java index f0bc611..fd1c149 100644 --- a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyAbstractFactory.java +++ b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyAbstractFactory.java @@ -79,6 +79,7 @@ public abstract class BindyAbstractFactory implements BindyFactory { * * @param root */ + @SuppressWarnings("rawtypes") private void loadModels(Class<?> root) { models.add(root); modelClassNames.add(root.getName()); @@ -231,6 +232,8 @@ public abstract class BindyAbstractFactory implements BindyFactory { return Character.MIN_VALUE; } else if (clazz == boolean.class) { return false; + } else if (clazz == String.class) { + return ""; } else { return null; } diff --git a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/fixed/BindyFixedLengthDataFormat.java b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/fixed/BindyFixedLengthDataFormat.java index 5585abb..d5c9799 100644 --- a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/fixed/BindyFixedLengthDataFormat.java +++ b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/fixed/BindyFixedLengthDataFormat.java @@ -313,6 +313,7 @@ public class BindyFixedLengthDataFormat extends BindyAbstractDataFormat { return factory.isIgnoreTrailingChars() && myLine.length() > factory.recordLength(); } + @SuppressWarnings("unused") private String rightPad(String myLine, int length) { return String.format("%1$-" + length + "s", myLine); } diff --git a/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindyRecordFieldStartingWithSeperatorCharTest.java b/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindyRecordFieldStartingWithSeperatorCharTest.java index bee2c7b..144429f 100644 --- a/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindyRecordFieldStartingWithSeperatorCharTest.java +++ b/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindyRecordFieldStartingWithSeperatorCharTest.java @@ -61,7 +61,7 @@ public class BindyRecordFieldStartingWithSeperatorCharTest extends CamelTestSupp assertEquals(BigDecimal.valueOf(3), row.getNumber()); row = mockEndPoint.getExchanges().get(3).getIn().getBody(BindyCsvRowFormat.class); - assertEquals(null, row.getFirstField()); + assertEquals("", row.getFirstField()); assertEquals(",val2,", row.getSecondField()); assertEquals(BigDecimal.valueOf(4), row.getNumber()); } @@ -79,6 +79,7 @@ public class BindyRecordFieldStartingWithSeperatorCharTest extends CamelTestSupp } //from https://issues.apache.org/jira/browse/CAMEL-11065 + @SuppressWarnings("serial") @CsvRecord(separator = ",", quote = "'") public static class BindyCsvRowFormat implements Serializable { diff --git a/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindySimpleCsvUnmarshallTest.java b/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindySimpleCsvUnmarshallTest.java index 277c26c..d507c3f 100644 --- a/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindySimpleCsvUnmarshallTest.java +++ b/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindySimpleCsvUnmarshallTest.java @@ -25,6 +25,7 @@ import org.apache.camel.Produce; import org.apache.camel.ProducerTemplate; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; +import org.apache.camel.dataformat.bindy.annotation.DataField; import org.apache.camel.dataformat.bindy.format.FormatException; import org.apache.camel.dataformat.bindy.model.simple.oneclass.Order; import org.apache.camel.processor.interceptor.Tracer; @@ -127,8 +128,13 @@ public class BindySimpleCsvUnmarshallTest extends AbstractJUnit4SpringContextTes assertNotNull(orders); // As the @DataField defines a default value for the firstName, the - // value might not be empty + // value might not be empty and equal to defaultValue property + // inside @DataField annotation assertFalse(orders.get(0).getFirstName().isEmpty()); + assertEquals("Joe", orders.get(0).getFirstName()); + + // Check default String value set to empty ("") for the skipped clientNr field + assertEquals("", orders.get(0).getClientNr()); } public static class ContextConfig extends RouteBuilder { diff --git a/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/fixed/BindyPaddingAndTrimmingTest.java b/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/fixed/BindyPaddingAndTrimmingTest.java index 9e3e174..8ba38f9 100644 --- a/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/fixed/BindyPaddingAndTrimmingTest.java +++ b/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/fixed/BindyPaddingAndTrimmingTest.java @@ -26,8 +26,6 @@ import org.apache.camel.test.junit4.CamelTestSupport; import org.hamcrest.core.Is; import org.junit.Test; -import static org.hamcrest.core.IsNull.nullValue; - public class BindyPaddingAndTrimmingTest extends CamelTestSupport { private static final String URI_DIRECT_UNMARSHAL = "direct:unmarshall"; @@ -56,7 +54,7 @@ public class BindyPaddingAndTrimmingTest extends CamelTestSupport { unmarhsalResult.assertIsSatisfied(); MyBindyModel myBindyModel = unmarhsalResult.getReceivedExchanges().get(0).getIn().getBody(MyBindyModel.class); assertEquals("foo ", myBindyModel.foo); - assertThat(myBindyModel.bar, Is.is(nullValue())); + assertThat(myBindyModel.bar, Is.is("")); } @Test -- To stop receiving notification emails like this one, please contact acosent...@apache.org.