From bf3c1629f729727a95f35aba44762b7d1d56d073 Mon Sep 17 00:00:00 2001 From: rob Date: Thu, 2 Sep 2021 11:44:51 +1200 Subject: [PATCH] Allow format() for types Integer and Long to handle string input --- .../server/type/ScalarTypeInteger.java | 5 +++++ .../server/type/ScalarTypeLong.java | 5 +++++ .../server/type/ScalarTypeIntegerTest.java | 22 +++++++++++++++++++ .../server/type/ScalarTypeLongTest.java | 22 +++++++++++++++++++ 4 files changed, 54 insertions(+) create mode 100644 ebean-core/src/test/java/io/ebeaninternal/server/type/ScalarTypeIntegerTest.java create mode 100644 ebean-core/src/test/java/io/ebeaninternal/server/type/ScalarTypeLongTest.java 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 172522224..0e1ef6075 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 @@ -71,6 +71,11 @@ final class ScalarTypeInteger extends ScalarTypeBase { return BasicTypeConverter.toInteger(value); } + @Override + public String format(Object value) { + return String.valueOf(value); + } + @Override public String formatValue(Integer v) { return v.toString(); 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 5287c5fd5..3409cc9ed 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 @@ -46,6 +46,11 @@ final class ScalarTypeLong extends ScalarTypeBase { return BasicTypeConverter.toLong(value); } + @Override + public String format(Object value) { + return String.valueOf(value); + } + @Override public String formatValue(Long t) { return t.toString(); diff --git a/ebean-core/src/test/java/io/ebeaninternal/server/type/ScalarTypeIntegerTest.java b/ebean-core/src/test/java/io/ebeaninternal/server/type/ScalarTypeIntegerTest.java new file mode 100644 index 000000000..2f4e53cb0 --- /dev/null +++ b/ebean-core/src/test/java/io/ebeaninternal/server/type/ScalarTypeIntegerTest.java @@ -0,0 +1,22 @@ +package io.ebeaninternal.server.type; + + +import org.junit.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +public class ScalarTypeIntegerTest { + + private final ScalarTypeInteger type = new ScalarTypeInteger(); + + @Test + public void format_when_string() { + assertThat(type.format("1")).isEqualTo("1"); + } + + @Test + public void format_when_integer() { + assertThat(type.format(1)).isEqualTo("1"); + } + +} diff --git a/ebean-core/src/test/java/io/ebeaninternal/server/type/ScalarTypeLongTest.java b/ebean-core/src/test/java/io/ebeaninternal/server/type/ScalarTypeLongTest.java new file mode 100644 index 000000000..d8186457d --- /dev/null +++ b/ebean-core/src/test/java/io/ebeaninternal/server/type/ScalarTypeLongTest.java @@ -0,0 +1,22 @@ +package io.ebeaninternal.server.type; + + +import org.junit.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +public class ScalarTypeLongTest { + + private final ScalarTypeLong type = new ScalarTypeLong(); + + @Test + public void format_when_string() { + assertThat(type.format("1")).isEqualTo("1"); + } + + @Test + public void format_when_long() { + assertThat(type.format(1L)).isEqualTo("1"); + } + +}