diff options
author | Edoardo Vacchi <uncommonnonsense@gmail.com> | 2013-09-13 10:25:29 +0200 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2013-09-13 13:00:11 +0000 |
commit | 3cafce30057055d1731313c8d2833cb4c513ccd3 (patch) | |
tree | ecfd91135a532fa38fa7e3fafc7b2dfc0f03201a | |
parent | 9b052579ebb6df508fe4195e6562fced7fdf5698 (diff) | |
download | vaadin-framework-3cafce30057055d1731313c8d2833cb4c513ccd3.tar.gz vaadin-framework-3cafce30057055d1731313c8d2833cb4c513ccd3.zip |
NullPointerException in DateToSqlDateConverter (#12284)
DateToSqlDateConverter throws a NullPointerException when the provided
value is null, thus violating the interface contract. If the provided
value is null, then the methods should return null.
Missing test case included
Change-Id: If08225c2a6ae7c3103e47d3817a5d45469c7bf4f
-rw-r--r-- | server/src/com/vaadin/data/util/converter/DateToSqlDateConverter.java | 9 | ||||
-rw-r--r-- | server/tests/src/com/vaadin/tests/data/converter/TestDateToSqlDateConverter.java | 25 |
2 files changed, 34 insertions, 0 deletions
diff --git a/server/src/com/vaadin/data/util/converter/DateToSqlDateConverter.java b/server/src/com/vaadin/data/util/converter/DateToSqlDateConverter.java index cddf2d8a42..7c252d78f2 100644 --- a/server/src/com/vaadin/data/util/converter/DateToSqlDateConverter.java +++ b/server/src/com/vaadin/data/util/converter/DateToSqlDateConverter.java @@ -44,6 +44,10 @@ public class DateToSqlDateConverter implements Converter<Date, java.sql.Date> { + targetType.getName() + ")"); } + if (value == null) { + return null; + } + return new java.sql.Date(value.getTime()); } @@ -56,6 +60,11 @@ public class DateToSqlDateConverter implements Converter<Date, java.sql.Date> { + getPresentationType().getName() + " (targetType was " + targetType.getName() + ")"); } + + if (value == null) { + return null; + } + return new Date(value.getTime()); } diff --git a/server/tests/src/com/vaadin/tests/data/converter/TestDateToSqlDateConverter.java b/server/tests/src/com/vaadin/tests/data/converter/TestDateToSqlDateConverter.java new file mode 100644 index 0000000000..685404ded6 --- /dev/null +++ b/server/tests/src/com/vaadin/tests/data/converter/TestDateToSqlDateConverter.java @@ -0,0 +1,25 @@ +package com.vaadin.tests.data.converter; + +import java.util.Date; +import java.util.Locale; + +import junit.framework.TestCase; + +import com.vaadin.data.util.converter.DateToSqlDateConverter; + +public class TestDateToSqlDateConverter extends TestCase { + + DateToSqlDateConverter converter = new DateToSqlDateConverter(); + + public void testNullConversion() { + assertEquals(null, + converter.convertToModel(null, java.sql.Date.class, null)); + } + + public void testValueConversion() { + Date testDate = new Date(100, 0, 1); + long time = testDate.getTime(); + assertEquals(testDate, converter.convertToModel(new java.sql.Date(time), + java.sql.Date.class, Locale.ENGLISH)); + } +} |