summaryrefslogtreecommitdiffstats
path: root/ms/gra/gra-app/src/main/java/org/onap/sdnc/apps/ms/gra/GraWebConfiguration.java
diff options
context:
space:
mode:
Diffstat (limited to 'ms/gra/gra-app/src/main/java/org/onap/sdnc/apps/ms/gra/GraWebConfiguration.java')
-rw-r--r--ms/gra/gra-app/src/main/java/org/onap/sdnc/apps/ms/gra/GraWebConfiguration.java62
1 files changed, 62 insertions, 0 deletions
diff --git a/ms/gra/gra-app/src/main/java/org/onap/sdnc/apps/ms/gra/GraWebConfiguration.java b/ms/gra/gra-app/src/main/java/org/onap/sdnc/apps/ms/gra/GraWebConfiguration.java
new file mode 100644
index 0000000..8a3d5d0
--- /dev/null
+++ b/ms/gra/gra-app/src/main/java/org/onap/sdnc/apps/ms/gra/GraWebConfiguration.java
@@ -0,0 +1,62 @@
+package org.onap.sdnc.apps.ms.gra;
+
+import java.util.List;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.springframework.aop.framework.ProxyFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.converter.HttpMessageConverter;
+import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+@Configuration
+public class GraWebConfiguration implements WebMvcConfigurer {
+
+ @Autowired
+ ObjectMapper objectMapper;
+
+ @Value("${swagger-ui.host:localhost}")
+ private String swaggerUiHost;
+
+ private ObjectMapper objectMapperProxy() {
+ ObjectMapperResolver objectMapperResolver = new UriMatcherObjectMapperResolver(objectMapper);
+ ProxyFactory factory = new ProxyFactory();
+ factory.setTargetClass(ObjectMapper.class);
+ factory.addAdvice(new ObjectMapperInterceptor() {
+
+ @Override
+ protected ObjectMapper getObject() {
+ return objectMapperResolver.getObjectMapper();
+ }
+
+ });
+
+ return (ObjectMapper) factory.getProxy();
+ }
+
+ @Bean
+ public MappingJackson2HttpMessageConverter jackson2HttpMessageConverter() {
+ return new MappingJackson2HttpMessageConverter(objectMapperProxy());
+ }
+
+ @Override
+ public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
+ converters.add(jackson2HttpMessageConverter());
+
+ }
+
+ @Bean
+ public WebMvcConfigurer corsConfigurer() {
+ return new WebMvcConfigurer() {
+ @Override
+ public void addCorsMappings(CorsRegistry registry) {
+ registry.addMapping("/**").allowedOrigins("https://" + swaggerUiHost);
+ }
+ };
+ }
+}