FIX: null handling in ScalarType.toBeanType (#1455)

This commit is contained in:
Roland Praml
2018-07-18 16:33:36 +12:00
committed by Rob Bygrave
parent 5ef7fe8504
commit 5a6cdb9a86
11 changed files with 104 additions and 11 deletions
@@ -51,6 +51,7 @@ public class ScalarTypeChar extends ScalarTypeBaseVarchar<Character> {
@Override
public Character toBeanType(Object value) {
if (value == null) return null;
String s = BasicTypeConverter.toString(value);
return s.charAt(0);
}
@@ -54,6 +54,7 @@ public class ScalarTypeCharArray extends ScalarTypeBaseVarchar<char[]> {
@Override
public char[] toBeanType(Object value) {
if (value == null) return null;
String s = BasicTypeConverter.toString(value);
return s.toCharArray();
}
@@ -59,6 +59,7 @@ public class ScalarTypeDuration extends ScalarTypeBase<Duration> {
@Override
public Duration toBeanType(Object value) {
if (value instanceof Duration) return (Duration) value;
if (value == null) return null;
return Duration.ofSeconds(BasicTypeConverter.toLong(value));
}
@@ -42,6 +42,7 @@ public class ScalarTypeDurationWithNanos extends ScalarTypeDuration {
@Override
public Duration toBeanType(Object value) {
if (value instanceof Duration) return (Duration) value;
if (value == null) return null;
return convertFromBigDecimal(BasicTypeConverter.toBigDecimal(value));
}
@@ -53,7 +53,7 @@ public class ScalarTypeInstant extends ScalarTypeBaseDateTime<Instant> {
@Override
public Instant toBeanType(Object value) {
if (value instanceof Instant) return (Instant) value;
return convertFromTimestamp((Timestamp) value);
if (value instanceof Timestamp) return convertFromTimestamp((Timestamp) value);
return (Instant) value;
}
}
@@ -54,7 +54,7 @@ public class ScalarTypeLocalDateTime extends ScalarTypeBaseDateTime<LocalDateTim
@Override
public LocalDateTime toBeanType(Object value) {
if (value instanceof LocalDateTime) return (LocalDateTime) value;
return convertFromTimestamp((Timestamp) value);
if (value instanceof Timestamp) return convertFromTimestamp((Timestamp) value);
return (LocalDateTime) value;
}
}
@@ -55,7 +55,7 @@ public class ScalarTypeOffsetDateTime extends ScalarTypeBaseDateTime<OffsetDateT
@Override
public OffsetDateTime toBeanType(Object value) {
if (value instanceof OffsetDateTime) return (OffsetDateTime) value;
return convertFromTimestamp((Timestamp) value);
if (value instanceof Timestamp) return convertFromTimestamp((Timestamp) value);
return (OffsetDateTime) value;
}
}
@@ -65,6 +65,7 @@ public class ScalarTypeYear extends ScalarTypeBase<Year> {
@Override
public Year toBeanType(Object value) {
if (value instanceof Year) return (Year) value;
if (value == null) return null;
return Year.of(BasicTypeConverter.toInteger(value));
}
@@ -61,6 +61,7 @@ public class ScalarTypeYearMonthDate extends ScalarTypeBaseDate<YearMonth> {
public YearMonth toBeanType(Object value) {
if (value instanceof YearMonth) return (YearMonth) value;
if (value instanceof LocalDate) return fromLocalDate((LocalDate) value);
if (value == null) return null;
return fromLocalDate(BasicTypeConverter.toDate(value).toLocalDate());
}
@@ -55,7 +55,7 @@ public class ScalarTypeZonedDateTime extends ScalarTypeBaseDateTime<ZonedDateTim
@Override
public ZonedDateTime toBeanType(Object value) {
if (value instanceof ZonedDateTime) return (ZonedDateTime) value;
return convertFromTimestamp((Timestamp) value);
if (value instanceof Timestamp) return convertFromTimestamp((Timestamp) value);
return (ZonedDateTime) value;
}
}