From 67bf799635ec4976b4ae8d91d421e1e66f568bba Mon Sep 17 00:00:00 2001 From: Jim Hahn Date: Mon, 30 Nov 2020 14:32:47 -0500 Subject: [PATCH] Use common LocalDateTimeTypeAdaptor for SO SO has its own specialized GSON type adapter. Modified it to subclass from the common type adapter. Issue-ID: POLICY-2903 Change-Id: I578eecbb1a37b5c95c5c27e6deb5c9f72ca7ae28 Signed-off-by: Jim Hahn --- .../policy/so/util/SoLocalDateTimeTypeAdapter.java | 41 +++------------------- 1 file changed, 4 insertions(+), 37 deletions(-) diff --git a/models-interactions/model-impl/so/src/main/java/org/onap/policy/so/util/SoLocalDateTimeTypeAdapter.java b/models-interactions/model-impl/so/src/main/java/org/onap/policy/so/util/SoLocalDateTimeTypeAdapter.java index a0e835ffb..918a3ffba 100644 --- a/models-interactions/model-impl/so/src/main/java/org/onap/policy/so/util/SoLocalDateTimeTypeAdapter.java +++ b/models-interactions/model-impl/so/src/main/java/org/onap/policy/so/util/SoLocalDateTimeTypeAdapter.java @@ -20,49 +20,16 @@ package org.onap.policy.so.util; -import com.google.gson.JsonParseException; -import com.google.gson.TypeAdapter; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonToken; -import com.google.gson.stream.JsonWriter; -import java.io.IOException; -import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -import java.time.format.DateTimeParseException; - -/* - * TODO: combine the functionality of this adapter with existing LocalDateTimeTypeAdapter and eliminate this class. - */ +import org.onap.policy.common.gson.LocalDateTimeTypeAdapter; /** * GSON Type Adapter for "LocalDateTime" fields, that uses the standard RFC_1123_DATE_TIME * formatter. */ -public class SoLocalDateTimeTypeAdapter extends TypeAdapter { - private static final DateTimeFormatter FORMATTER = DateTimeFormatter.RFC_1123_DATE_TIME; - - @Override - public LocalDateTime read(JsonReader in) throws IOException { - try { - if (in.peek() == JsonToken.NULL) { - in.nextNull(); - return null; - } else { - return LocalDateTime.parse(in.nextString(), FORMATTER); - } - - } catch (DateTimeParseException e) { - throw new JsonParseException("invalid date", e); - } - } +public class SoLocalDateTimeTypeAdapter extends LocalDateTimeTypeAdapter { - @Override - public void write(JsonWriter out, LocalDateTime value) throws IOException { - if (value == null) { - out.nullValue(); - } else { - String text = value.format(FORMATTER); - out.value(text); - } + public SoLocalDateTimeTypeAdapter() { + super(DateTimeFormatter.RFC_1123_DATE_TIME); } } -- 2.16.6