From c5e8b217e3bd11b6c4bed5b44742784735549e6b Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Thu, 25 Aug 2022 22:37:47 +1200 Subject: [PATCH] Refactor ScalarType, remove convertFromMillis() method (no longer needed) Due to the move and change of CsvReader using StringParser ScalarType no longer needs that general convertFromMillis() method. Note that date and dateTime ScalarTypes still retain this conversion method. --- .../src/main/java/io/ebean/plugin/ExpressionPath.java | 6 ------ .../src/main/java/io/ebean/core/type/ScalarType.java | 9 --------- .../ebeaninternal/server/deploy/BeanFkeyProperty.java | 5 ----- .../io/ebeaninternal/server/deploy/BeanProperty.java | 5 ----- .../io/ebeaninternal/server/el/ElPropertyChain.java | 5 ----- .../ebeaninternal/server/type/ScalarTypeBaseDate.java | 1 - .../server/type/ScalarTypeBaseDateTime.java | 1 - .../server/type/ScalarTypeBigDecimal.java | 5 ----- .../server/type/ScalarTypeBytesEncrypted.java | 5 ----- .../io/ebeaninternal/server/type/ScalarTypeDouble.java | 5 ----- .../server/type/ScalarTypeEncryptedWrapper.java | 5 ----- .../io/ebeaninternal/server/type/ScalarTypeFloat.java | 5 ----- .../ebeaninternal/server/type/ScalarTypeInteger.java | 6 ------ .../server/type/ScalarTypeJodaLocalTime.java | 1 - .../ebeaninternal/server/type/ScalarTypeLocalTime.java | 5 ----- .../io/ebeaninternal/server/type/ScalarTypeLong.java | 5 ----- .../server/type/ScalarTypeMathBigInteger.java | 5 ----- .../server/type/ScalarTypeStringBase.java | 5 ----- .../io/ebeaninternal/server/type/ScalarTypeTime.java | 1 - .../ebeaninternal/server/type/ScalarTypeWrapper.java | 9 --------- .../server/type/ScalarTypeDurationTest.java | 5 ----- .../server/type/ScalarTypeDurationWithNanosTest.java | 5 ----- .../server/type/ScalarTypeLocalTimeTest.java | 9 ++------- .../server/type/ScalarTypeLocalTimeWithNanosTest.java | 9 ++------- .../server/type/ScalarTypeMonthDayTest.java | 6 ------ .../server/type/ScalarTypePostgresHstoreTest.java | 10 ---------- .../ebeaninternal/server/type/ScalarTypeYearTest.java | 5 ----- 27 files changed, 4 insertions(+), 139 deletions(-) diff --git a/ebean-api/src/main/java/io/ebean/plugin/ExpressionPath.java b/ebean-api/src/main/java/io/ebean/plugin/ExpressionPath.java index 4b935474f..975349700 100644 --- a/ebean-api/src/main/java/io/ebean/plugin/ExpressionPath.java +++ b/ebean-api/src/main/java/io/ebean/plugin/ExpressionPath.java @@ -39,12 +39,6 @@ public interface ExpressionPath { */ StringParser stringParser(); - /** - * For DateTime capable scalar types convert the long systemTimeMillis into - * an appropriate java time (Date,Timestamp,Time,Calendar, JODA type etc). - */ - Object parseDateTime(long systemTimeMillis); - /** * Return the underlying JDBC type or 0 if this is not a scalar type. */ diff --git a/ebean-core-type/src/main/java/io/ebean/core/type/ScalarType.java b/ebean-core-type/src/main/java/io/ebean/core/type/ScalarType.java index 83433ef69..9047befb0 100644 --- a/ebean-core-type/src/main/java/io/ebean/core/type/ScalarType.java +++ b/ebean-core-type/src/main/java/io/ebean/core/type/ScalarType.java @@ -166,15 +166,6 @@ public interface ScalarType extends StringParser, StringFormatter, ScalarData throw new UnsupportedOperationException(); } - /** - * Convert the systemTimeMillis into the appropriate java object. - *

- * For non dateTime types this will throw an exception. - */ - default T convertFromMillis(long dateTime) { - throw new UnsupportedOperationException(); - } - /** * Read the value from binary input. */ diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanFkeyProperty.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanFkeyProperty.java index fb02fdc74..01cd82de6 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanFkeyProperty.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanFkeyProperty.java @@ -190,11 +190,6 @@ public final class BeanFkeyProperty implements ElPropertyValue { return null; } - @Override - public Object parseDateTime(long systemTimeMillis) { - throw new RuntimeException("ElPropertyDeploy only - not implemented"); - } - @Override public StringParser stringParser() { throw new RuntimeException("ElPropertyDeploy only - not implemented"); diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanProperty.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanProperty.java index 4c38bc110..1fc421739 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanProperty.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanProperty.java @@ -945,11 +945,6 @@ public class BeanProperty implements ElPropertyValue, Property, STreeProperty { return scalarType == null ? 0 : scalarType.jdbcType(); } - @Override - public Object parseDateTime(long systemTimeMillis) { - return scalarType.convertFromMillis(systemTimeMillis); - } - /** * Return the DB max length (varchar) or precision (decimal). */ diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/el/ElPropertyChain.java b/ebean-core/src/main/java/io/ebeaninternal/server/el/ElPropertyChain.java index 3a9631737..b04bacb24 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/el/ElPropertyChain.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/el/ElPropertyChain.java @@ -232,11 +232,6 @@ public final class ElPropertyChain implements ElPropertyValue { return scalarType == null ? 0 : scalarType.jdbcType(); } - @Override - public Object parseDateTime(long systemTimeMillis) { - return scalarType.convertFromMillis(systemTimeMillis); - } - @Override public StringParser stringParser() { return scalarType; diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeBaseDate.java b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeBaseDate.java index b70386214..2928c7955 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeBaseDate.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeBaseDate.java @@ -77,7 +77,6 @@ abstract class ScalarTypeBaseDate extends ScalarTypeBase { } } - @Override public T convertFromMillis(long systemTimeMillis) { Date ts = new Date(systemTimeMillis); return convertFromDate(ts); diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeBaseDateTime.java b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeBaseDateTime.java index 5c328dd39..c77dca488 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeBaseDateTime.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeBaseDateTime.java @@ -54,7 +54,6 @@ abstract class ScalarTypeBaseDateTime extends ScalarTypeBase { /** * Convert from epoch millis to the value. */ - @Override public abstract T convertFromMillis(long systemTimeMillis); /** diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeBigDecimal.java b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeBigDecimal.java index 4d6d0958d..9dedf97e7 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeBigDecimal.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeBigDecimal.java @@ -58,11 +58,6 @@ class ScalarTypeBigDecimal extends ScalarTypeBase { return new BigDecimal(value); } - @Override - public BigDecimal convertFromMillis(long systemTimeMillis) { - return BigDecimal.valueOf(systemTimeMillis); - } - @Override public BigDecimal readData(DataInput dataInput) throws IOException { if (!dataInput.readBoolean()) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeBytesEncrypted.java b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeBytesEncrypted.java index 118078b41..3fdc0f5b2 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeBytesEncrypted.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeBytesEncrypted.java @@ -84,11 +84,6 @@ public final class ScalarTypeBytesEncrypted implements ScalarType { return baseType.parse(value); } - @Override - public byte[] convertFromMillis(long systemTimeMillis) { - return baseType.convertFromMillis(systemTimeMillis); - } - @Override public byte[] read(DataReader reader) throws SQLException { byte[] data = baseType.read(reader); diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeDouble.java b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeDouble.java index 221b029a8..97cd742dd 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeDouble.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeDouble.java @@ -57,11 +57,6 @@ final class ScalarTypeDouble extends ScalarTypeBase { return Double.valueOf(value); } - @Override - public Double convertFromMillis(long systemTimeMillis) { - return (double) systemTimeMillis; - } - @Override public Double readData(DataInput dataInput) throws IOException { if (!dataInput.readBoolean()) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeEncryptedWrapper.java b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeEncryptedWrapper.java index 6f04227af..627d32a65 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeEncryptedWrapper.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeEncryptedWrapper.java @@ -109,11 +109,6 @@ public final class ScalarTypeEncryptedWrapper implements ScalarType, Local return wrapped.parse(value); } - @Override - public T convertFromMillis(long systemTimeMillis) { - return wrapped.convertFromMillis(systemTimeMillis); - } - @Override public T toBeanType(Object value) { return wrapped.toBeanType(value); diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeFloat.java b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeFloat.java index 8534d92ba..61ba766f0 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeFloat.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeFloat.java @@ -57,11 +57,6 @@ final class ScalarTypeFloat extends ScalarTypeBase { return Float.valueOf(value); } - @Override - public Float convertFromMillis(long systemTimeMillis) { - return (float) systemTimeMillis; - } - @Override public Float readData(DataInput dataInput) throws IOException { if (!dataInput.readBoolean()) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeInteger.java b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeInteger.java index 9805454e0..b9d621679 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeInteger.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeInteger.java @@ -6,7 +6,6 @@ import io.ebean.core.type.DataBinder; import io.ebean.core.type.DataReader; import io.ebean.core.type.DocPropertyType; import io.ebean.core.type.ScalarTypeBase; -import io.ebean.text.TextException; import io.ebeaninternal.server.core.BasicTypeConverter; import java.io.DataInput; @@ -87,11 +86,6 @@ final class ScalarTypeInteger extends ScalarTypeBase { return Integer.valueOf(value); } - @Override - public Integer convertFromMillis(long systemTimeMillis) { - throw new TextException("Not Supported"); - } - @Override public Integer jsonRead(JsonParser parser) throws IOException { return parser.getIntValue(); diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeJodaLocalTime.java b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeJodaLocalTime.java index 7bc388aa9..94134db9f 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeJodaLocalTime.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeJodaLocalTime.java @@ -73,7 +73,6 @@ class ScalarTypeJodaLocalTime extends ScalarTypeBase { return new LocalTime(value); } - @Override public LocalTime convertFromMillis(long systemTimeMillis) { return new LocalTime(systemTimeMillis, DateTimeZone.getDefault()); } diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeLocalTime.java b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeLocalTime.java index b223a8268..6711de132 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeLocalTime.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeLocalTime.java @@ -87,11 +87,6 @@ class ScalarTypeLocalTime extends ScalarTypeBase { return LocalTime.parse(value); } - @Override - public LocalTime convertFromMillis(long systemTimeMillis) { - throw new TextException("Not Supported"); - } - @Override public LocalTime jsonRead(JsonParser parser) throws IOException { return LocalTime.parse(parser.getValueAsString()); diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeLong.java b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeLong.java index 9164cd1ed..daff9db26 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeLong.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeLong.java @@ -67,11 +67,6 @@ final class ScalarTypeLong extends ScalarTypeBase { return value; } - @Override - public Long convertFromMillis(long systemTimeMillis) { - return systemTimeMillis; - } - @Override public Long readData(DataInput dataInput) throws IOException { if (!dataInput.readBoolean()) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeMathBigInteger.java b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeMathBigInteger.java index 97de16c82..ce8a87dbe 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeMathBigInteger.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeMathBigInteger.java @@ -62,11 +62,6 @@ final class ScalarTypeMathBigInteger extends ScalarTypeBase { return new BigInteger(value); } - @Override - public BigInteger convertFromMillis(long systemTimeMillis) { - return BigInteger.valueOf(systemTimeMillis); - } - @Override public BigInteger readData(DataInput dataInput) throws IOException { if (!dataInput.readBoolean()) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeStringBase.java b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeStringBase.java index 1d863270f..6fffec61e 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeStringBase.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeStringBase.java @@ -57,11 +57,6 @@ abstract class ScalarTypeStringBase extends ScalarTypeBase { return value; } - @Override - public String convertFromMillis(long systemTimeMillis) { - return String.valueOf(systemTimeMillis); - } - @Override public String readData(DataInput dataInput) throws IOException { if (!dataInput.readBoolean()) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeTime.java b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeTime.java index dd13a85bb..eb017211d 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeTime.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeTime.java @@ -58,7 +58,6 @@ final class ScalarTypeTime extends ScalarTypeBase