From 86489536c6171c1699553f76f0061eb0f816cd11 Mon Sep 17 00:00:00 2001 From: John Schneider Date: Wed, 15 Sep 2021 19:01:48 -0400 Subject: [PATCH] Proposed changes for https://github.com/eclipse-ee4j/yasson/issues/514 --- .../serializer/JsonbDateFormatter.java | 3 +-- .../yasson/defaultmapping/IJsonTest.java | 20 +++++++++---------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/eclipse/yasson/internal/serializer/JsonbDateFormatter.java b/src/main/java/org/eclipse/yasson/internal/serializer/JsonbDateFormatter.java index cdb4d607f..0c69323eb 100644 --- a/src/main/java/org/eclipse/yasson/internal/serializer/JsonbDateFormatter.java +++ b/src/main/java/org/eclipse/yasson/internal/serializer/JsonbDateFormatter.java @@ -42,8 +42,7 @@ public class JsonbDateFormatter { .appendValue(MINUTE_OF_HOUR, 2) .appendLiteral(':') .appendValue(SECOND_OF_MINUTE, 2) - .appendLiteral('Z') - .appendOffset("+HH:MM", "+00:00") + .appendOffset("+HH:MM", "Z") .toFormatter(); private final DateTimeFormatter dateTimeFormatter; diff --git a/src/test/java/org/eclipse/yasson/defaultmapping/IJsonTest.java b/src/test/java/org/eclipse/yasson/defaultmapping/IJsonTest.java index e5faadb62..63dbb2bd8 100644 --- a/src/test/java/org/eclipse/yasson/defaultmapping/IJsonTest.java +++ b/src/test/java/org/eclipse/yasson/defaultmapping/IJsonTest.java @@ -41,9 +41,9 @@ public void testStrictCalendar() { calendar.setTimeZone(TimeZone.getTimeZone("Europe/Paris")); String jsonString = jsonb.toJson(new ScalarValueWrapper<>(calendar)); - assertEquals("{\"value\":\"1970-01-01T00:00:00Z+01:00\"}", jsonString); + assertEquals("{\"value\":\"1970-01-01T00:00:00+01:00\"}", jsonString); - ScalarValueWrapper result = jsonb.fromJson("{\"value\":\"1970-01-01T00:00:00Z+01:00\"}", new TestTypeToken>() {}.getType()); + ScalarValueWrapper result = jsonb.fromJson("{\"value\":\"1970-01-01T00:00:00+01:00\"}", new TestTypeToken>() {}.getType()); assertEquals(calendar.toInstant(), result.getValue().toInstant()); } @@ -56,9 +56,9 @@ public void testStrictDate() { calendar.clear(Calendar.MILLISECOND); String jsonString = jsonb.toJson(new ScalarValueWrapper<>(calendar.getTime())); - assertTrue(jsonString.matches("\\{\"value\":\"1970-01-01T00:00:00Z\\+[0-9]{2}:[0-9]{2}\"}")); + assertTrue(jsonString.matches("\\{\"value\":\"1970-01-01T00:00:00Z\"}")); - ScalarValueWrapper result = jsonb.fromJson("{\"value\":\"1970-01-01T00:00:00Z+00:00\"}", new TestTypeToken>(){}.getType()); + ScalarValueWrapper result = jsonb.fromJson("{\"value\":\"1970-01-01T00:00:00Z\"}", new TestTypeToken>(){}.getType()); assertEquals(0, result.getValue().compareTo(calendar.getTime())); } @@ -67,8 +67,8 @@ public void testStrictDate() { public void testStrictInstant() { Instant instant = LocalDateTime.of(2017, 3, 24, 12,0,0).toInstant(ZoneOffset.MIN); final String json = jsonb.toJson(new ScalarValueWrapper<>(instant)); - assertEquals("{\"value\":\"2017-03-25T06:00:00Z+00:00\"}", json); - ScalarValueWrapper result = jsonb.fromJson("{\"value\":\"2017-03-25T06:00:00Z+00:00\"}", new TestTypeToken>() {}.getType()); + assertEquals("{\"value\":\"2017-03-25T06:00:00Z\"}", json); + ScalarValueWrapper result = jsonb.fromJson("{\"value\":\"2017-03-25T06:00:00Z\"}", new TestTypeToken>() {}.getType()); assertEquals(instant, result.getValue()); } @@ -76,9 +76,9 @@ public void testStrictInstant() { public void testLocalDate() { final LocalDate localDate = LocalDate.of(1970, 1, 1); final String json = jsonb.toJson(new ScalarValueWrapper<>(localDate)); - assertEquals("{\"value\":\"1970-01-01T00:00:00Z+00:00\"}", json); + assertEquals("{\"value\":\"1970-01-01T00:00:00Z\"}", json); - ScalarValueWrapper result = jsonb.fromJson("{\"value\":\"1970-01-01T00:00:00Z+00:00\"}", new TestTypeToken>() { + ScalarValueWrapper result = jsonb.fromJson("{\"value\":\"1970-01-01T00:00:00Z\"}", new TestTypeToken>() { }.getType()); @@ -90,9 +90,9 @@ public void testLocalDateTime() { final LocalDateTime localDateTime = LocalDateTime.of(1970, 1, 1, 1, 1, 1); final String json = jsonb.toJson(new ScalarValueWrapper<>(localDateTime)); - assertEquals("{\"value\":\"1970-01-01T01:01:01Z+00:00\"}", json); + assertEquals("{\"value\":\"1970-01-01T01:01:01Z\"}", json); - ScalarValueWrapper result = jsonb.fromJson("{\"value\":\"1970-01-01T01:01:01Z+00:00\"}", new TestTypeToken>() { + ScalarValueWrapper result = jsonb.fromJson("{\"value\":\"1970-01-01T01:01:01Z\"}", new TestTypeToken>() { }.getType());