Fix JSON parse error in PDP Monitoring GUI 81/124481/2
authordanielhanrahan <daniel.hanrahan@est.tech>
Fri, 24 Sep 2021 13:25:17 +0000 (14:25 +0100)
committerDaniel Hanrahan <daniel.hanrahan@est.tech>
Tue, 28 Sep 2021 09:48:40 +0000 (09:48 +0000)
Add Gson type adapter to parse Instant

Issue-ID: POLICY-3680
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Ibcd7878f5c7ab9e2d4d7ffc337b9cc440caf19c3

gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/rest/PdpMonitoringRestResource.java

index 6075049..60dfc81 100644 (file)
 package org.onap.policy.gui.pdp.monitoring.rest;
 
 import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonDeserializer;
 import com.google.gson.reflect.TypeToken;
+import java.time.Instant;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
@@ -76,7 +79,10 @@ public class PdpMonitoringRestResource {
     // Set the maximum number of stored data entries to be stored for each engine
     private static final int MAX_CACHED_ENTITIES = 50;
 
-    private static Gson gson = new Gson();
+    private static Gson gson = new GsonBuilder()
+        .registerTypeAdapter(Instant.class, (JsonDeserializer<Instant>) (jsonElement, type, jsonDeserializationContext)
+            -> Instant.parse(jsonElement.getAsJsonPrimitive().getAsString()))
+        .create();
 
     /**
      * Query Pdps.