diff options
author | 2019-09-13 12:14:25 -0400 | |
---|---|---|
committer | 2019-09-13 17:40:29 -0400 | |
commit | af2e4018c92b0fb311f60dfe507335b12e2935a4 (patch) | |
tree | 62705712e2a88682e17bdd9fef248e866c7407e4 /gson/src/main/java/org/onap/policy/common/gson/GsonMessageBodyHandler.java | |
parent | 63922e3dc9101f019cb490f6c5d02991c10fcdf5 (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/src/main/java/org/onap/policy/common/gson/GsonMessageBodyHandler.java')
-rw-r--r-- | gson/src/main/java/org/onap/policy/common/gson/GsonMessageBodyHandler.java | 14 |
1 files changed, 12 insertions, 2 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 |