diff --git a/build.gradle b/build.gradle index e83baa9..756ec15 100644 --- a/build.gradle +++ b/build.gradle @@ -1,18 +1,18 @@ plugins { - id 'net.researchgate.release' version '3.0.0' + id 'net.researchgate.release' version '3.1.0' id 'java' id 'maven-publish' id 'signing' - id("io.github.gradle-nexus.publish-plugin") version "1.1.0" + id("io.github.gradle-nexus.publish-plugin") version "2.0.0" } group = 'fr.maif' ext { - vavrVersion = "0.10.6" - jacksonVersion = "2.18.4" - lombokVersion = "1.18.38" - jupiterVersion = "5.13.3" + vavrVersion = "1.0.1" + jacksonVersion = "3.1.1" + lombokVersion = "1.18.44" + jupiterVersion = "5.13.1" } repositories { mavenCentral() @@ -31,12 +31,10 @@ dependencies { annotationProcessor "org.projectlombok:lombok:$lombokVersion" implementation "io.vavr:vavr:$vavrVersion" - implementation "io.vavr:vavr-jackson:0.10.3" - implementation "com.fasterxml.jackson.core:jackson-core:$jacksonVersion" - implementation "com.fasterxml.jackson.core:jackson-annotations:$jacksonVersion" - implementation "com.fasterxml.jackson.core:jackson-databind:$jacksonVersion" - implementation "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:$jacksonVersion" - implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jacksonVersion" + implementation "io.vavr:vavr-jackson:1.0.0" + implementation "tools.jackson.core:jackson-core:$jacksonVersion" + implementation "com.fasterxml.jackson.core:jackson-annotations:2.21" + implementation "tools.jackson.core:jackson-databind:$jacksonVersion" testCompileOnly "org.projectlombok:lombok:$lombokVersion" testAnnotationProcessor "org.projectlombok:lombok:$lombokVersion" @@ -45,7 +43,7 @@ dependencies { testImplementation("org.junit.jupiter:junit-jupiter") testRuntimeOnly("org.junit.platform:junit-platform-launcher") - testImplementation "org.assertj:assertj-core:3.27.3" + testImplementation "org.assertj:assertj-core:3.27.7" testImplementation "com.github.erosb:everit-json-schema:1.14.6" } diff --git a/gradle.properties b/gradle.properties index e1db512..07ff68b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1 +1 @@ -version=1.7.0-SNAPSHOT +version=2.0.0-SNAPSHOT diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 7f93135..a4b76b9 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e2847c8..2e11132 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/src/main/java/fr/maif/json/Json.java b/src/main/java/fr/maif/json/Json.java index 6cfc95b..d2deae0 100644 --- a/src/main/java/fr/maif/json/Json.java +++ b/src/main/java/fr/maif/json/Json.java @@ -1,21 +1,21 @@ package fr.maif.json; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.core.json.JsonWriteFeature; -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.SerializationFeature; -import com.fasterxml.jackson.databind.node.ArrayNode; -import com.fasterxml.jackson.databind.node.BooleanNode; -import com.fasterxml.jackson.databind.node.IntNode; -import com.fasterxml.jackson.databind.node.LongNode; -import com.fasterxml.jackson.databind.node.ObjectNode; -import com.fasterxml.jackson.databind.node.TextNode; -import com.fasterxml.jackson.datatype.jdk8.Jdk8Module; -import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import tools.jackson.core.json.JsonWriteFeature; +import tools.jackson.core.type.TypeReference; +import tools.jackson.databind.DeserializationFeature; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectWriter; +import tools.jackson.databind.SerializationFeature; +import tools.jackson.databind.cfg.DateTimeFeature; +import tools.jackson.databind.json.JsonMapper; +import tools.jackson.databind.node.ArrayNode; +import tools.jackson.databind.node.BooleanNode; +import tools.jackson.databind.node.IntNode; +import tools.jackson.databind.node.LongNode; +import tools.jackson.databind.node.ObjectNode; +import tools.jackson.databind.node.StringNode; import io.vavr.collection.List; import io.vavr.collection.Traversable; import io.vavr.control.Option; @@ -30,15 +30,13 @@ public class Json { private static ObjectMapper defaultObjectMapper = newDefaultMapper(); public static ObjectMapper newDefaultMapper() { - ObjectMapper mapper = new ObjectMapper(); - mapper.registerModule(new VavrModule()); - mapper.registerModule(new Jdk8Module()); - mapper.registerModule(new JavaTimeModule()); - mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); - mapper.setSerializationInclusion(JsonInclude.Include.NON_ABSENT); - return mapper; + return JsonMapper.builder() + .addModule(new VavrModule()) + .configure(DateTimeFeature.WRITE_DATES_AS_TIMESTAMPS, false) + .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) + .configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false) + .changeDefaultPropertyInclusion(incl -> incl.withValueInclusion(JsonInclude.Include.NON_ABSENT)) + .build(); } /** @@ -63,18 +61,14 @@ public static ObjectMapper mapper() { private static String generateJson(Object o, boolean prettyPrint, boolean escapeNonASCII) { - try { - ObjectWriter writer = mapper().writer(); - if (prettyPrint) { - writer = writer.with(SerializationFeature.INDENT_OUTPUT); - } - if (escapeNonASCII) { - writer = writer.with(JsonWriteFeature.ESCAPE_NON_ASCII); - } - return writer.writeValueAsString(o); - } catch (IOException e) { - throw new RuntimeException(e); + ObjectWriter writer = mapper().writer(); + if (prettyPrint) { + writer = writer.with(SerializationFeature.INDENT_OUTPUT); + } + if (escapeNonASCII) { + writer = writer.with(JsonWriteFeature.ESCAPE_NON_ASCII); } + return writer.writeValueAsString(o); } /** @@ -201,7 +195,7 @@ public static ObjectNode obj(ObjectNode obj, JsPair ...pairs) { } public static ObjectNode merge(ObjectNode obj, ObjectNode obj2) { - obj.fields().forEachRemaining(e -> + obj.properties().forEach(e -> obj2.set(e.getKey(), e.getValue()) ); return obj2; @@ -261,7 +255,7 @@ public static ArrayNode arr(Traversable nodes) { */ public static ArrayNode arr(String ...nodes) { ArrayNode obj = newArray(); - List.of(nodes).map(TextNode::new).forEach(obj::add); + List.of(nodes).map(StringNode::new).forEach(obj::add); return obj; } @@ -309,7 +303,7 @@ public static ArrayNode arr(String ...nodes) { * @return the field name / value pair */ public static JsPair $(String field, Option value) { - return new JsPair(field, value.map(TextNode::new)); + return new JsPair(field, value.map(StringNode::new)); } /** * An object field for a string option. diff --git a/src/main/java/fr/maif/json/JsonFormat.java b/src/main/java/fr/maif/json/JsonFormat.java index 586ee80..0354bce 100644 --- a/src/main/java/fr/maif/json/JsonFormat.java +++ b/src/main/java/fr/maif/json/JsonFormat.java @@ -1,9 +1,9 @@ package fr.maif.json; -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.node.ArrayNode; -import com.fasterxml.jackson.databind.node.ObjectNode; +import tools.jackson.core.type.TypeReference; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.node.ArrayNode; +import tools.jackson.databind.node.ObjectNode; import io.vavr.collection.List; import java.math.BigDecimal; diff --git a/src/main/java/fr/maif/json/JsonRead.java b/src/main/java/fr/maif/json/JsonRead.java index 4fc046f..9d40f81 100644 --- a/src/main/java/fr/maif/json/JsonRead.java +++ b/src/main/java/fr/maif/json/JsonRead.java @@ -1,11 +1,11 @@ package fr.maif.json; -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.node.ArrayNode; -import com.fasterxml.jackson.databind.node.NullNode; -import com.fasterxml.jackson.databind.node.ObjectNode; +import tools.jackson.core.type.TypeReference; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.node.ArrayNode; +import tools.jackson.databind.node.NullNode; +import tools.jackson.databind.node.ObjectNode; import io.vavr.API; import io.vavr.Tuple; import io.vavr.Tuple2; diff --git a/src/main/java/fr/maif/json/JsonSchema.java b/src/main/java/fr/maif/json/JsonSchema.java index e19727e..dfdf310 100644 --- a/src/main/java/fr/maif/json/JsonSchema.java +++ b/src/main/java/fr/maif/json/JsonSchema.java @@ -1,8 +1,8 @@ package fr.maif.json; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.node.ObjectNode; -import com.fasterxml.jackson.databind.node.TextNode; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.node.ObjectNode; +import tools.jackson.databind.node.StringNode; import io.vavr.collection.List; import io.vavr.control.Option; import lombok.EqualsAndHashCode; @@ -321,7 +321,7 @@ public EnumSchema(Class enumClass) { public ObjectNode toJson() { return Json.obj( $$("type", "string"), - $$("enum", Json.arr(List.of(enumClass.getEnumConstants()).map(Enum::name).map(TextNode::new))) + $$("enum", Json.arr(List.of(enumClass.getEnumConstants()).map(Enum::name).map(StringNode::new))) ); } } diff --git a/src/main/java/fr/maif/json/JsonWrite.java b/src/main/java/fr/maif/json/JsonWrite.java index 14add1a..089daa0 100644 --- a/src/main/java/fr/maif/json/JsonWrite.java +++ b/src/main/java/fr/maif/json/JsonWrite.java @@ -1,7 +1,7 @@ package fr.maif.json; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.node.*; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.node.*; import io.vavr.collection.Traversable; import java.math.BigDecimal; @@ -35,7 +35,7 @@ static JsonWrite auto() { * @return the writer */ static JsonWrite $localdate(DateTimeFormatter formatter) { - return localdate -> new TextNode(formatter.format(localdate)); + return localdate -> new StringNode(formatter.format(localdate)); } @@ -46,7 +46,7 @@ static JsonWrite auto() { * @return the writer */ static JsonWrite $localdatetime(DateTimeFormatter formatter) { - return localdate -> new TextNode(formatter.format(localdate)); + return localdate -> new StringNode(formatter.format(localdate)); } /** @@ -65,7 +65,7 @@ static JsonWrite auto() { * @return the writer */ static JsonWrite $instant(DateTimeFormatter formatter) { - return instant -> new TextNode(formatter.format(instant)); + return instant -> new StringNode(formatter.format(instant)); } /** @@ -91,7 +91,7 @@ static JsonWrite auto() { * @return the writer */ static JsonWrite $string() { - return TextNode::new; + return StringNode::new; } /** @@ -140,7 +140,7 @@ static JsonWrite auto() { * @return the writer */ static JsonWrite $bigdecimal() { - return value -> new TextNode(value.setScale(2, RoundingMode.HALF_UP).toString()); + return value -> new StringNode(value.setScale(2, RoundingMode.HALF_UP).toString()); } /** @@ -167,7 +167,7 @@ static JsonWrite auto() { * @return the writer */ static > JsonWrite $enum() { - return en -> new TextNode(en.name()); + return en -> new StringNode(en.name()); } /** diff --git a/src/test/java/fr/maif/json/Example.java b/src/test/java/fr/maif/json/Example.java index 67d95aa..0a7d53d 100644 --- a/src/test/java/fr/maif/json/Example.java +++ b/src/test/java/fr/maif/json/Example.java @@ -1,6 +1,6 @@ package fr.maif.json; -import com.fasterxml.jackson.databind.JsonNode; +import tools.jackson.databind.JsonNode; import io.vavr.control.Option; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/src/test/java/fr/maif/json/JsonReadTest.java b/src/test/java/fr/maif/json/JsonReadTest.java index aacc465..21f5936 100644 --- a/src/test/java/fr/maif/json/JsonReadTest.java +++ b/src/test/java/fr/maif/json/JsonReadTest.java @@ -1,8 +1,8 @@ package fr.maif.json; -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.node.*; +import tools.jackson.core.type.TypeReference; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.node.*; import io.vavr.API; import io.vavr.collection.HashSet; import io.vavr.collection.List; @@ -94,14 +94,14 @@ public class JsonReadTest { @org.junit.jupiter.api.Test public void stringValid() { - JsResult test = _string().read(new TextNode("test")); + JsResult test = _string().read(new StringNode("test")); assertThat(test).isEqualTo(JsResult.success("test")); assertThat(_string().jsonSchema()).isEqualTo(JsonSchema.stringSchema()); } @Test public void stringValidTransform() { - JsResult test = _string(String::toUpperCase).read(new TextNode("test")); + JsResult test = _string(String::toUpperCase).read(new StringNode("test")); assertThat(test).isEqualTo(JsResult.success("TEST")); assertThat(_string().jsonSchema()).isEqualTo(JsonSchema.stringSchema()); } @@ -136,7 +136,7 @@ public void intValidAtPath() { @Test public void intInvalid() { - JsResult test = _int().read(new TextNode("test")); + JsResult test = _int().read(new StringNode("test")); assertThat(test).isEqualTo(JsResult.error(JsResult.Error.error("number.expected"))); } @@ -166,14 +166,14 @@ public void optInvalid() { public void dateValid() { LocalDate date = LocalDate.now(); JsonRead localDateJsonRead = _localDate(DateTimeFormatter.ISO_LOCAL_DATE); - JsResult test = localDateJsonRead.read(new TextNode(DateTimeFormatter.ISO_LOCAL_DATE.format(date))); + JsResult test = localDateJsonRead.read(new StringNode(DateTimeFormatter.ISO_LOCAL_DATE.format(date))); assertThat(test).isEqualTo(JsResult.success(date)); assertThat(localDateJsonRead.jsonSchema()).isEqualTo(JsonSchema.dateSchema()); } @Test public void dateInvalid() { - JsResult test = _localDate(DateTimeFormatter.ISO_LOCAL_DATE).read(new TextNode("test")); + JsResult test = _localDate(DateTimeFormatter.ISO_LOCAL_DATE).read(new StringNode("test")); assertThat(test).isEqualTo(JsResult.error(JsResult.Error.error("pattern.invalid"))); } @@ -182,7 +182,7 @@ public void dateInvalid() { public void dateTimeValid() { LocalDateTime date = LocalDateTime.now(); JsonRead localDateJsonRead = _localDateTime(DateTimeFormatter.ISO_LOCAL_DATE_TIME); - JsResult test = localDateJsonRead.read(new TextNode(DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(date))); + JsResult test = localDateJsonRead.read(new StringNode(DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(date))); assertThat(test).isEqualTo(JsResult.success(date)); assertThat(localDateJsonRead.jsonSchema()).isEqualTo(JsonSchema.dateTimeSchema()); } @@ -191,7 +191,7 @@ public void dateTimeValid() { public void isoLocalDateTimeValid() { LocalDateTime date = LocalDateTime.now(); JsonRead localDateJsonRead = _isoLocalDateTime(); - JsResult test = localDateJsonRead.read(new TextNode(DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(date))); + JsResult test = localDateJsonRead.read(new StringNode(DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(date))); assertThat(test).isEqualTo(JsResult.success(date)); assertThat(localDateJsonRead.jsonSchema()).isEqualTo(JsonSchema.dateTimeSchema()); } @@ -200,20 +200,20 @@ public void isoLocalDateTimeValid() { public void instantValid() { JsonRead read = _instant(); var instant = Instant.ofEpochSecond(345544L); - JsResult test = read.read(new TextNode(DateTimeFormatter.ISO_INSTANT.format(instant))); + JsResult test = read.read(new StringNode(DateTimeFormatter.ISO_INSTANT.format(instant))); assertThat(test).isEqualTo(JsResult.success(instant)); assertThat(read.jsonSchema()).isEqualTo(JsonSchema.dateTimeSchema()); } @Test public void instantInvalid() { - JsResult test = _instant().read(new TextNode("c'est pas un boa ca ?")); + JsResult test = _instant().read(new StringNode("c'est pas un boa ca ?")); assertThat(test).isEqualTo(JsResult.error(JsResult.Error.error("cannot.parse.into.instant"))); } @Test public void dateTimeInvalid() { - JsResult test = _localDateTime(DateTimeFormatter.ISO_LOCAL_DATE).read(new TextNode("test")); + JsResult test = _localDateTime(DateTimeFormatter.ISO_LOCAL_DATE).read(new StringNode("test")); assertThat(test).isEqualTo(JsResult.error(JsResult.Error.error("pattern.invalid"))); } @@ -234,7 +234,7 @@ public void booleanValidAtPath() { @Test public void booleanInvalid() { - JsResult test = _boolean().read(new TextNode("test")); + JsResult test = _boolean().read(new StringNode("test")); assertThat(test).isEqualTo(JsResult.error(JsResult.Error.error("boolean.expected"))); } @@ -371,7 +371,7 @@ public void jsonObjectInvalid() { @Test public void enumValid() { JsonRead enumJsonRead = _enum(TestEnum.class); - JsResult test = enumJsonRead.read(new TextNode("test1")); + JsResult test = enumJsonRead.read(new StringNode("test1")); assertThat(test).isEqualTo(JsResult.success(TestEnum.test1)); assertThat(enumJsonRead.jsonSchema()).isEqualTo(JsonSchema.enumSchema(TestEnum.class)); } @@ -386,20 +386,20 @@ public void enumValidAtPath() { @Test public void enumInvalid() { - JsResult test = _enum(TestEnum.class).read(new TextNode("test")); + JsResult test = _enum(TestEnum.class).read(new StringNode("test")); assertThat(test).isEqualTo(JsResult.error(JsResult.Error.error("invalid.enum.value", (Object[]) TestEnum.values()))); } @Test public void bigDecimalValid() { - JsResult test = _bigDecimal().read(new TextNode("50.00")); + JsResult test = _bigDecimal().read(new StringNode("50.00")); assertThat(test).isEqualTo(JsResult.success(BigDecimal.valueOf(5000, 2))); assertThat(_bigDecimal().jsonSchema()).isEqualTo(JsonSchema.numberSchema()); } @Test public void bigDecimalPatternInvalid() { - JsResult test = _bigDecimal().read(new TextNode("toto")); + JsResult test = _bigDecimal().read(new StringNode("toto")); assertThat(test).isEqualTo(JsResult.error(JsResult.Error.error("pattern.invalid"))); } diff --git a/src/test/java/fr/maif/json/JsonSchemaTest.java b/src/test/java/fr/maif/json/JsonSchemaTest.java index 91803ae..53b22c0 100644 --- a/src/test/java/fr/maif/json/JsonSchemaTest.java +++ b/src/test/java/fr/maif/json/JsonSchemaTest.java @@ -1,6 +1,6 @@ package fr.maif.json; -import com.fasterxml.jackson.databind.JsonNode; +import tools.jackson.databind.JsonNode; import io.vavr.collection.List; import org.junit.jupiter.api.Test; diff --git a/src/test/java/fr/maif/json/JsonTest.java b/src/test/java/fr/maif/json/JsonTest.java index 7b8351e..612ae5e 100644 --- a/src/test/java/fr/maif/json/JsonTest.java +++ b/src/test/java/fr/maif/json/JsonTest.java @@ -1,8 +1,7 @@ package fr.maif.json; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.core.type.TypeReference; +import tools.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; import java.util.List; @@ -16,7 +15,7 @@ static class Viking { } @Test - public void readShouldReadObject() throws JsonProcessingException { + public void readShouldReadObject() { ObjectMapper mapper = new ObjectMapper(); String json = "{\"name\": \"lodbrok\"}"; @@ -24,7 +23,7 @@ public void readShouldReadObject() throws JsonProcessingException { } @Test - public void readShouldReadParametrizedTypes() throws JsonProcessingException { + public void readShouldReadParametrizedTypes() { ObjectMapper mapper = new ObjectMapper(); String json = "[{\"name\": \"lodbrok\"}, {\"name\": \"haraldson\"}]"; diff --git a/src/test/java/fr/maif/json/JsonWriteTest.java b/src/test/java/fr/maif/json/JsonWriteTest.java index 9c29673..dad1ab2 100644 --- a/src/test/java/fr/maif/json/JsonWriteTest.java +++ b/src/test/java/fr/maif/json/JsonWriteTest.java @@ -1,9 +1,9 @@ package fr.maif.json; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.node.BooleanNode; -import com.fasterxml.jackson.databind.node.IntNode; -import com.fasterxml.jackson.databind.node.TextNode; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.node.BooleanNode; +import tools.jackson.databind.node.IntNode; +import tools.jackson.databind.node.StringNode; import io.vavr.collection.List; import org.junit.jupiter.api.Test; @@ -22,31 +22,31 @@ public class JsonWriteTest { @Test public void writeLocalDateIso() { JsonNode write = $localdate().write(LocalDate.of(2019, 2, 15)); - assertThat(write).isEqualTo(new TextNode("2019-02-15")); + assertThat(write).isEqualTo(new StringNode("2019-02-15")); } @Test public void writeLocalDate() { JsonNode write = $localdate(DateTimeFormatter.BASIC_ISO_DATE).write(LocalDate.of(2019, 2, 15)); - assertThat(write).isEqualTo(new TextNode("20190215")); + assertThat(write).isEqualTo(new StringNode("20190215")); } @Test public void writeLocalDateTimeIso() { JsonNode write = $localdatetime().write(LocalDateTime.of(2019, 2, 15, 0, 0, 0)); - assertThat(write).isEqualTo(new TextNode("2019-02-15T00:00:00")); + assertThat(write).isEqualTo(new StringNode("2019-02-15T00:00:00")); } @Test public void writeLocalDateTime() { JsonNode write = $localdatetime(DateTimeFormatter.BASIC_ISO_DATE).write(LocalDateTime.of(2019, 2, 15, 0, 0, 0)); - assertThat(write).isEqualTo(new TextNode("20190215")); + assertThat(write).isEqualTo(new StringNode("20190215")); } @Test public void writeString() { JsonNode write = $string().write("A string"); - assertThat(write).isEqualTo(new TextNode("A string")); + assertThat(write).isEqualTo(new StringNode("A string")); } @Test @@ -64,13 +64,13 @@ public void writeInt() { @Test public void writeBigDecimal() { JsonNode write = $bigdecimal().write(BigDecimal.valueOf(5000, 3)); - assertThat(write).isEqualTo(new TextNode("5.00")); + assertThat(write).isEqualTo(new StringNode("5.00")); } @Test public void writeEnum() { JsonNode write = JsonWrite.$enum().write(TestEnum.test1); - assertThat(write).isEqualTo(new TextNode("test1")); + assertThat(write).isEqualTo(new StringNode("test1")); } @Test @@ -99,7 +99,7 @@ public void writeNullList() { @Test public void writeInstant() { JsonNode write = $instant().write(Instant.ofEpochMilli(3600123)); - assertThat(write).isEqualTo(new TextNode("1970-01-01T01:00:00.123Z")); + assertThat(write).isEqualTo(new StringNode("1970-01-01T01:00:00.123Z")); } public enum TestEnum {