diff options
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.java | 14 |
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(); } } |