diff --git a/src/main/java/com/avaje/ebeaninternal/server/deploy/BeanProperty.java b/src/main/java/com/avaje/ebeaninternal/server/deploy/BeanProperty.java index 42d806472..990052010 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/deploy/BeanProperty.java +++ b/src/main/java/com/avaje/ebeaninternal/server/deploy/BeanProperty.java @@ -1262,7 +1262,7 @@ public class BeanProperty implements ElPropertyValue, Property { // expect to read non-null json value Object objValue; if (scalarType != null) { - objValue = scalarType.jsonRead(ctx.getParser(), event); + objValue = scalarType.jsonRead(ctx.getParser()); } else { try { objValue = ctx.readValueUsingObjectMapper(propertyType); diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarType.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarType.java index bc0eb2ace..1e1f65ea2 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarType.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarType.java @@ -5,7 +5,6 @@ import com.avaje.ebean.text.StringParser; import com.avaje.ebeanservice.docstore.api.mapping.DocPropertyType; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonToken; import java.io.DataInput; import java.io.DataOutput; @@ -203,7 +202,7 @@ public interface ScalarType extends StringParser, StringFormatter, ScalarData /** * Read the value from JsonParser. */ - T jsonRead(JsonParser parser, JsonToken event) throws IOException; + T jsonRead(JsonParser parser) throws IOException; /** * Write the value to the JsonGenerator. diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBaseDate.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBaseDate.java index 3970cc3f5..d50079b16 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBaseDate.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBaseDate.java @@ -70,8 +70,8 @@ public abstract class ScalarTypeBaseDate extends ScalarTypeBase { } @Override - public T jsonRead(JsonParser parser, JsonToken event) throws IOException { - if (JsonToken.VALUE_NUMBER_INT == event) { + public T jsonRead(JsonParser parser) throws IOException { + if (JsonToken.VALUE_NUMBER_INT == parser.getCurrentToken()) { return convertFromMillis(parser.getLongValue()); } else { return convertFromDate(Date.valueOf(parser.getText())); diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBaseDateTime.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBaseDateTime.java index 46feca57f..0e3b45c96 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBaseDateTime.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBaseDateTime.java @@ -85,9 +85,9 @@ public abstract class ScalarTypeBaseDateTime extends ScalarTypeBase { } @Override - public T jsonRead(JsonParser parser, JsonToken event) throws IOException { + public T jsonRead(JsonParser parser) throws IOException { - switch (event) { + switch (parser.getCurrentToken()) { case VALUE_NUMBER_INT: { return convertFromMillis(parser.getLongValue()); } diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBaseVarchar.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBaseVarchar.java index 66df95a5a..1d071098a 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBaseVarchar.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBaseVarchar.java @@ -124,7 +124,7 @@ public abstract class ScalarTypeBaseVarchar extends ScalarTypeBase { } @Override - public T jsonRead(JsonParser parser, JsonToken event) throws IOException { + public T jsonRead(JsonParser parser) throws IOException { return parse(parser.getValueAsString()); } diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBigDecimal.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBigDecimal.java index b33ce570c..e6f94d3c0 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBigDecimal.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBigDecimal.java @@ -79,7 +79,7 @@ public class ScalarTypeBigDecimal extends ScalarTypeBase { } @Override - public BigDecimal jsonRead(JsonParser parser, JsonToken event) throws IOException { + public BigDecimal jsonRead(JsonParser parser) throws IOException { return parser.getDecimalValue(); } diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBoolean.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBoolean.java index d0c1e090d..14c5857b9 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBoolean.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBoolean.java @@ -331,8 +331,8 @@ public class ScalarTypeBoolean { } @Override - public Boolean jsonRead(JsonParser parser, JsonToken event) { - return JsonToken.VALUE_TRUE == event ? Boolean.TRUE : Boolean.FALSE; + public Boolean jsonRead(JsonParser parser) { + return JsonToken.VALUE_TRUE == parser.getCurrentToken() ? Boolean.TRUE : Boolean.FALSE; } @Override diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeByte.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeByte.java index 672724ad1..3704778b0 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeByte.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeByte.java @@ -49,7 +49,7 @@ public class ScalarTypeByte extends ScalarTypeBase { } @Override - public Byte jsonRead(JsonParser parser, JsonToken event) throws IOException { + public Byte jsonRead(JsonParser parser) throws IOException { ByteArrayOutputStream os = new ByteArrayOutputStream(); parser.readBinaryValue(os); byte[] bytes = os.toByteArray(); diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBytesBase.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBytesBase.java index 7b0a55bcb..262206f29 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBytesBase.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBytesBase.java @@ -47,7 +47,7 @@ public abstract class ScalarTypeBytesBase extends ScalarTypeBase { } @Override - public byte[] jsonRead(JsonParser parser, JsonToken event) throws IOException { + public byte[] jsonRead(JsonParser parser) throws IOException { ByteArrayOutputStream out = new ByteArrayOutputStream(500); parser.readBinaryValue(out); return out.toByteArray(); diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBytesEncrypted.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBytesEncrypted.java index 30475d1f4..257fd9266 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBytesEncrypted.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeBytesEncrypted.java @@ -3,7 +3,6 @@ package com.avaje.ebeaninternal.server.type; import com.avaje.ebeanservice.docstore.api.mapping.DocPropertyType; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonToken; import java.io.ByteArrayOutputStream; import java.io.DataInput; @@ -70,7 +69,7 @@ public class ScalarTypeBytesEncrypted implements ScalarType { } @Override - public byte[] jsonRead(JsonParser parser, JsonToken event) throws IOException { + public byte[] jsonRead(JsonParser parser) throws IOException { ByteArrayOutputStream out = new ByteArrayOutputStream(500); parser.readBinaryValue(out); return out.toByteArray(); diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeCharArray.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeCharArray.java index 7a924c931..f712a9f1c 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeCharArray.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeCharArray.java @@ -64,7 +64,7 @@ public class ScalarTypeCharArray extends ScalarTypeBaseVarchar { } @Override - public char[] jsonRead(JsonParser parser, JsonToken event) throws IOException { + public char[] jsonRead(JsonParser parser) throws IOException { return parser.getValueAsString().toCharArray(); } diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeDouble.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeDouble.java index f17b24546..ba4baaefc 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeDouble.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeDouble.java @@ -86,7 +86,7 @@ public class ScalarTypeDouble extends ScalarTypeBase { } @Override - public Double jsonRead(JsonParser parser, JsonToken event) throws IOException { + public Double jsonRead(JsonParser parser) throws IOException { return parser.getDoubleValue(); } diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeDuration.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeDuration.java index 0bdf83175..9c93931b5 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeDuration.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeDuration.java @@ -103,7 +103,7 @@ public class ScalarTypeDuration extends ScalarTypeBase { } @Override - public Duration jsonRead(JsonParser parser, JsonToken event) throws IOException { + public Duration jsonRead(JsonParser parser) throws IOException { return Duration.parse(parser.getValueAsString()); } diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeEncryptedWrapper.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeEncryptedWrapper.java index 15debf6c2..fd3101a0e 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeEncryptedWrapper.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeEncryptedWrapper.java @@ -134,8 +134,8 @@ public class ScalarTypeEncryptedWrapper implements ScalarType { } @Override - public T jsonRead(JsonParser parser, JsonToken event) throws IOException { - return wrapped.jsonRead(parser, event); + public T jsonRead(JsonParser parser) throws IOException { + return wrapped.jsonRead(parser); } @Override diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeEnumStandard.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeEnumStandard.java index 68f730306..ea9b9048a 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeEnumStandard.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeEnumStandard.java @@ -233,7 +233,7 @@ public class ScalarTypeEnumStandard { } @Override - public Object jsonRead(JsonParser parser, JsonToken event) throws IOException { + public Object jsonRead(JsonParser parser) throws IOException { return parse(parser.getValueAsString()); } diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeFile.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeFile.java index 7c9722a7a..15a3323be 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeFile.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeFile.java @@ -118,7 +118,7 @@ public class ScalarTypeFile extends ScalarTypeBase { } @Override - public File jsonRead(JsonParser parser, JsonToken event) throws IOException { + public File jsonRead(JsonParser parser) throws IOException { File tempFile = File.createTempFile(prefix, suffix, directory); OutputStream os = getOutputStream(tempFile); parser.readBinaryValue(os); diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeFloat.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeFloat.java index 0baf6acd1..4d483a5ae 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeFloat.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeFloat.java @@ -86,7 +86,7 @@ public class ScalarTypeFloat extends ScalarTypeBase { } @Override - public Float jsonRead(JsonParser parser, JsonToken event) throws IOException { + public Float jsonRead(JsonParser parser) throws IOException { return parser.getFloatValue(); } diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeInteger.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeInteger.java index 782f19cdd..819b4239c 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeInteger.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeInteger.java @@ -86,7 +86,7 @@ public class ScalarTypeInteger extends ScalarTypeBase { } @Override - public Integer jsonRead(JsonParser parser, JsonToken event) throws IOException { + public Integer jsonRead(JsonParser parser) throws IOException { return parser.getIntValue(); } diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeJodaLocalTime.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeJodaLocalTime.java index 73ec76ab7..6680c91db 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeJodaLocalTime.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeJodaLocalTime.java @@ -77,13 +77,11 @@ public class ScalarTypeJodaLocalTime extends ScalarTypeBase { } @Override - public LocalTime jsonRead(JsonParser parser, JsonToken event) throws IOException { - if (JsonToken.VALUE_NUMBER_INT == event) { - long millis = parser.getLongValue(); - return convertFromMillis(millis); + public LocalTime jsonRead(JsonParser parser) throws IOException { + if (JsonToken.VALUE_NUMBER_INT == parser.getCurrentToken()) { + return convertFromMillis(parser.getLongValue()); } else { - String string = parser.getValueAsString(); - throw new RuntimeException("convert " + string); + return parse(parser.getValueAsString()); } } diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeJsonMap.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeJsonMap.java index 6f3bb1d50..a88320644 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeJsonMap.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeJsonMap.java @@ -204,11 +204,11 @@ public abstract class ScalarTypeJsonMap extends ScalarTypeBase { } @Override - public Map jsonRead(JsonParser parser, JsonToken event) throws IOException { + public Map jsonRead(JsonParser parser) throws IOException { // at this point the BeanProperty has read the START_OBJECT token // to check for a null value. Pass the START_OBJECT token through to // the EJson parsing so that it knows the first token has been read - return EJson.parseObject(parser, event); + return EJson.parseObject(parser, parser.getCurrentToken()); } } diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeJsonNode.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeJsonNode.java index 80c70f091..1aee52278 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeJsonNode.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeJsonNode.java @@ -216,7 +216,7 @@ public abstract class ScalarTypeJsonNode extends ScalarTypeBase { } @Override - public JsonNode jsonRead(JsonParser parser, JsonToken event) throws IOException { + public JsonNode jsonRead(JsonParser parser) throws IOException { // at this point the BeanProperty has read the START_OBJECT token // to check for a null value. return objectMapper.readValue(parser, JsonNode.class); diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeLocalTime.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeLocalTime.java index 75a40c7a3..b1c660e4c 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeLocalTime.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeLocalTime.java @@ -95,7 +95,7 @@ public class ScalarTypeLocalTime extends ScalarTypeBase { } @Override - public LocalTime jsonRead(JsonParser parser, JsonToken event) throws IOException { + public LocalTime jsonRead(JsonParser parser) throws IOException { return LocalTime.parse(parser.getValueAsString()); } diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeLong.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeLong.java index b3c29e74b..9af0a8fb3 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeLong.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeLong.java @@ -86,7 +86,7 @@ public class ScalarTypeLong extends ScalarTypeBase { } @Override - public Long jsonRead(JsonParser parser, JsonToken event) throws IOException { + public Long jsonRead(JsonParser parser) throws IOException { return parser.getLongValue(); } diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeMathBigInteger.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeMathBigInteger.java index 9df78440e..d07cdc009 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeMathBigInteger.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeMathBigInteger.java @@ -93,7 +93,7 @@ public class ScalarTypeMathBigInteger extends ScalarTypeBase { } @Override - public BigInteger jsonRead(JsonParser parser, JsonToken event) throws IOException { + public BigInteger jsonRead(JsonParser parser) throws IOException { return parser.getDecimalValue().toBigInteger(); } diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeMonthDay.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeMonthDay.java index 553ce58e0..fd5d058b7 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeMonthDay.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeMonthDay.java @@ -120,7 +120,7 @@ public class ScalarTypeMonthDay extends ScalarTypeBase { } @Override - public MonthDay jsonRead(JsonParser parser, JsonToken event) throws IOException { + public MonthDay jsonRead(JsonParser parser) throws IOException { return parse(parser.getValueAsString()); } diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypePostgresHstore.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypePostgresHstore.java index 23d057b4e..a9e3272b7 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypePostgresHstore.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypePostgresHstore.java @@ -118,11 +118,11 @@ public class ScalarTypePostgresHstore extends ScalarTypeBase { } @Override - public Map jsonRead(JsonParser parser, JsonToken event) throws IOException { + public Map jsonRead(JsonParser parser) throws IOException { // at this point the BeanProperty has read the START_OBJECT token // to check for a null value. Pass the START_OBJECT token through to // the EJson parsing so that it knows the first token has been read - return EJson.parseObject(parser, event); + return EJson.parseObject(parser, parser.getCurrentToken()); } @Override diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeShort.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeShort.java index d8f14794c..721116bf3 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeShort.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeShort.java @@ -87,7 +87,7 @@ public class ScalarTypeShort extends ScalarTypeBase { } @Override - public Short jsonRead(JsonParser parser, JsonToken event) throws IOException { + public Short jsonRead(JsonParser parser) throws IOException { return parser.getShortValue(); } diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeString.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeString.java index dc90540bf..6a318a567 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeString.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeString.java @@ -86,7 +86,7 @@ public class ScalarTypeString extends ScalarTypeBase { } @Override - public String jsonRead(JsonParser parser, JsonToken event) throws IOException { + public String jsonRead(JsonParser parser) throws IOException { return parser.getValueAsString(); } diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeTime.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeTime.java index 867ed66b4..7f5b167e0 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeTime.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeTime.java @@ -88,7 +88,7 @@ public class ScalarTypeTime extends ScalarTypeBase