return ((Number) v).longValue();
} else if (v instanceof java.sql.Date) {
return ((java.sql.Date) v).getTime();
+ } else if (v instanceof LocalDateTime) {
+ return ((LocalDateTime) v).atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
+ } else if (v instanceof Instant) {
+ return ((Instant) v).toEpochMilli();
+ } else if (v instanceof java.sql.Timestamp) {
+ return ((java.sql.Timestamp) v).getTime();
}
- return ((java.sql.Timestamp) v).getTime();
+ throw new UnsupportedOperationException("Date of type " + v.getClass().getName() + " is not supported");
}
protected Integer objectAsInteger(Object v) {
assertInstanceOf(DateTimeType.class, dateTimeType);
assertThat(dateTimeType, is(DateTimeType.valueOf("2021-02-01T23:30:02.049")));
+ dateTimeType = jdbcBaseDAO.objectAsState(new DateTimeItem("testDateTimeItem"), null,
+ LocalDateTime.parse("2021-02-01T23:30:02.049"));
+ assertInstanceOf(DateTimeType.class, dateTimeType);
+ assertThat(dateTimeType, is(DateTimeType.valueOf("2021-02-01T23:30:02.049")));
+
State hsbType = jdbcBaseDAO.objectAsState(new ColorItem("testColorItem"), null, "184,100,52");
assertInstanceOf(HSBType.class, hsbType);
assertThat(hsbType, is(HSBType.valueOf("184,100,52")));