From 777302bddf16316fb555ebc0d9f32dd2ecc0ebf4 Mon Sep 17 00:00:00 2001 From: Charles Cole Date: Fri, 6 Oct 2017 09:18:45 -0500 Subject: Enable junits to work with the archetype template Control loop junits now use the actual PolicyEngine instead of a simulation, allowing them to work with the archetype template Issue-ID: POLICY-101 Change-Id: I910961996aaf831f4e91b7d7173d05fdfdd77683 Signed-off-by: Charles Cole --- .../onap/policy/appclcm/util/Serialization.java | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'controlloop/common/model-impl/appclcm/src/main/java') diff --git a/controlloop/common/model-impl/appclcm/src/main/java/org/onap/policy/appclcm/util/Serialization.java b/controlloop/common/model-impl/appclcm/src/main/java/org/onap/policy/appclcm/util/Serialization.java index 7187ab1e7..e41fa3653 100644 --- a/controlloop/common/model-impl/appclcm/src/main/java/org/onap/policy/appclcm/util/Serialization.java +++ b/controlloop/common/model-impl/appclcm/src/main/java/org/onap/policy/appclcm/util/Serialization.java @@ -81,12 +81,27 @@ public final class Serialization { @Override public Instant deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { - return Instant.parse(json.getAsString()); + return Instant.parse(json.getAsString()); } @Override public JsonElement serialize(Instant src, Type typeOfSrc, JsonSerializationContext context) { - return new JsonPrimitive(src.toString()); + return new JsonPrimitive(src.toString()); + } + + } + + public static class InstantJunitAdapter implements JsonSerializer, JsonDeserializer { + + @Override + public Instant deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) + throws JsonParseException { + return Instant.ofEpochMilli(json.getAsLong()); + } + + @Override + public JsonElement serialize(Instant src, Type typeOfSrc, JsonSerializationContext context) { + return new JsonPrimitive(src.toEpochMilli()); } } @@ -97,5 +112,8 @@ public final class Serialization { public static final Gson gson = new GsonBuilder().disableHtmlEscaping().setPrettyPrinting() .registerTypeAdapter(LCMRequest.class, new RequestAdapter()) .registerTypeAdapter(LCMResponse.class, new ResponseAdapter()).create(); + + public static final Gson gsonJunit = new GsonBuilder().disableHtmlEscaping().setPrettyPrinting() + .registerTypeAdapter(Instant.class, new InstantJunitAdapter()).create(); } -- cgit 1.2.3-korg