aboutsummaryrefslogtreecommitdiffstats
path: root/gson/src/main/java/org/onap/policy/common/gson/GsonMessageBodyHandler.java
diff options
context:
space:
mode:
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.java15
1 files changed, 6 insertions, 9 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 9dad6db8..a36f8a07 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
@@ -21,7 +21,7 @@
package org.onap.policy.common.gson;
import com.google.gson.Gson;
-
+import com.google.gson.GsonBuilder;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
@@ -37,9 +37,7 @@ import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.ext.MessageBodyReader;
import javax.ws.rs.ext.MessageBodyWriter;
import javax.ws.rs.ext.Provider;
-
import lombok.Getter;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -60,10 +58,11 @@ public class GsonMessageBodyHandler implements MessageBodyReader<Object>, Messag
private final Gson gson;
/**
- * Constructs the object, using a plain Gson object.
+ * Constructs the object, using a Gson object that translates Doubles inside of Maps
+ * into Integer/Long, where possible.
*/
public GsonMessageBodyHandler() {
- this(new Gson());
+ this(new GsonBuilder().registerTypeAdapterFactory(new MapDoubleAdapterFactory()).create());
logger.info("Using GSON for REST calls");
}
@@ -89,8 +88,7 @@ public class GsonMessageBodyHandler implements MessageBodyReader<Object>, Messag
@Override
public void writeTo(Object object, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType,
- MultivaluedMap<String, Object> httpHeaders, OutputStream entityStream)
- throws IOException {
+ MultivaluedMap<String, Object> httpHeaders, OutputStream entityStream) throws IOException {
try (OutputStreamWriter writer = new OutputStreamWriter(entityStream, StandardCharsets.UTF_8)) {
Type jsonType = (type.equals(genericType) ? type : genericType);
@@ -126,8 +124,7 @@ public class GsonMessageBodyHandler implements MessageBodyReader<Object>, Messag
@Override
public Object readFrom(Class<Object> type, Type genericType, Annotation[] annotations, MediaType mediaType,
- MultivaluedMap<String, String> httpHeaders, InputStream entityStream)
- throws IOException {
+ MultivaluedMap<String, String> httpHeaders, InputStream entityStream) throws IOException {
try (InputStreamReader streamReader = new InputStreamReader(entityStream, StandardCharsets.UTF_8)) {
Type jsonType = (type.equals(genericType) ? type : genericType);