summaryrefslogtreecommitdiffstats
path: root/gson
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2019-09-13 12:14:25 -0400
committerJim Hahn <jrh3@att.com>2019-09-13 17:40:29 -0400
commitaf2e4018c92b0fb311f60dfe507335b12e2935a4 (patch)
tree62705712e2a88682e17bdd9fef248e866c7407e4 /gson
parent63922e3dc9101f019cb490f6c5d02991c10fcdf5 (diff)
Extract YamlJsonTranslator from StandardYamlCoder
Refactored StandardYamlCoder, extracting a new class, YamlJsonTranslator, from it. This facilitates performing yaml translation when not using a standard "gson" coder. Added YamlJacksonHandler which supports YAML translation layered on top of a JacksonHandler instead of a GsonMessageBodyHandler. Also added junit tests to complete coverage of StandardCoder. Also added public APPLICATION_YAML to YamlMessageBodyHandler. Change-Id: Ia470fa194661fbf1aebeaf0f18b57f2a984cb64b Issue-ID: POLICY-2081 Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'gson')
-rw-r--r--gson/src/main/java/org/onap/policy/common/gson/GsonMessageBodyHandler.java14
-rw-r--r--gson/src/main/java/org/onap/policy/common/gson/JacksonHandler.java4
2 files changed, 13 insertions, 5 deletions
diff --git a/gson/src/main/java/org/onap/policy/common/gson/GsonMessageBodyHandler.java b/gson/src/main/java/org/onap/policy/common/gson/GsonMessageBodyHandler.java
index a36f8a07..ad270910 100644
--- a/gson/src/main/java/org/onap/policy/common/gson/GsonMessageBodyHandler.java
+++ b/gson/src/main/java/org/onap/policy/common/gson/GsonMessageBodyHandler.java
@@ -62,9 +62,17 @@ public class GsonMessageBodyHandler implements MessageBodyReader<Object>, Messag
* into Integer/Long, where possible.
*/
public GsonMessageBodyHandler() {
- this(new GsonBuilder().registerTypeAdapterFactory(new MapDoubleAdapterFactory()).create());
+ this(new GsonBuilder());
+ }
- logger.info("Using GSON for REST calls");
+ /**
+ * Constructs the object, using a Gson object that translates Doubles inside of Maps
+ * into Integer/Long, where possible.
+ *
+ * @param builder builder to use to create the gson object
+ */
+ public GsonMessageBodyHandler(GsonBuilder builder) {
+ this(builder.registerTypeAdapterFactory(new MapDoubleAdapterFactory()).create());
}
/**
@@ -74,6 +82,8 @@ public class GsonMessageBodyHandler implements MessageBodyReader<Object>, Messag
*/
public GsonMessageBodyHandler(Gson gson) {
this.gson = gson;
+
+ logger.info("Using GSON for REST calls");
}
@Override
diff --git a/gson/src/main/java/org/onap/policy/common/gson/JacksonHandler.java b/gson/src/main/java/org/onap/policy/common/gson/JacksonHandler.java
index ad9692f4..6d946439 100644
--- a/gson/src/main/java/org/onap/policy/common/gson/JacksonHandler.java
+++ b/gson/src/main/java/org/onap/policy/common/gson/JacksonHandler.java
@@ -49,9 +49,7 @@ public class JacksonHandler extends GsonMessageBodyHandler {
super(builder
.registerTypeAdapterFactory(new JacksonFieldAdapterFactory())
.registerTypeAdapterFactory(new JacksonMethodAdapterFactory())
- .registerTypeAdapterFactory(new MapDoubleAdapterFactory())
- .setExclusionStrategies(new JacksonExclusionStrategy())
- .create());
+ .setExclusionStrategies(new JacksonExclusionStrategy()));
}
}