aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/main/java/org/onap/policy/pap/main/PolicyPapApplication.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/main/java/org/onap/policy/pap/main/PolicyPapApplication.java')
-rw-r--r--main/src/main/java/org/onap/policy/pap/main/PolicyPapApplication.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/main/src/main/java/org/onap/policy/pap/main/PolicyPapApplication.java b/main/src/main/java/org/onap/policy/pap/main/PolicyPapApplication.java
index ede40126..edb6ff6d 100644
--- a/main/src/main/java/org/onap/policy/pap/main/PolicyPapApplication.java
+++ b/main/src/main/java/org/onap/policy/pap/main/PolicyPapApplication.java
@@ -22,12 +22,15 @@ package org.onap.policy.pap.main;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
+import com.google.gson.JsonParser;
+import com.google.gson.JsonSerializer;
import org.onap.policy.common.gson.GsonMessageBodyHandler;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration;
import org.springframework.context.annotation.Bean;
+import springfox.documentation.spring.web.json.Json;
@SpringBootApplication(exclude = {JacksonAutoConfiguration.class})
@EntityScan(
@@ -39,8 +42,17 @@ public class PolicyPapApplication {
SpringApplication.run(PolicyPapApplication.class, args);
}
+ /**
+ * Configure gson with the required adapters to be used in the application.
+ *
+ * @return the gson bean
+ */
@Bean
public Gson gson() {
- return GsonMessageBodyHandler.configBuilder(new GsonBuilder()).create();
+ GsonBuilder gsonBuilder = GsonMessageBodyHandler.configBuilder(new GsonBuilder());
+ JsonSerializer<Json> serializer =
+ (json, type, jsonSerializationContext) -> JsonParser.parseString(json.value());
+ gsonBuilder.registerTypeAdapter(Json.class, serializer);
+ return gsonBuilder.create();
}
}