Merge "Added STD sim 2.0.0 tests"
[nonrtric.git] / policy-agent / src / main / java / org / oransc / policyagent / BeanFactory.java
index f0826e9..1e01247 100644 (file)
 
 package org.oransc.policyagent;
 
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.apache.catalina.connector.Connector;
 import org.oransc.policyagent.clients.A1ClientFactory;
 import org.oransc.policyagent.configuration.ApplicationConfig;
 import org.oransc.policyagent.repository.Policies;
 import org.oransc.policyagent.repository.PolicyTypes;
 import org.oransc.policyagent.repository.Rics;
 import org.oransc.policyagent.repository.Services;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
+import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
 @Configuration
 class BeanFactory {
+    private final ApplicationConfig applicationConfig = new ApplicationConfig();
+
+    @Value("${server.http-port}")
+    private int httpPort = 0;
+
     @Bean
     public Policies getPolicies() {
         return new Policies();
@@ -48,7 +59,7 @@ class BeanFactory {
 
     @Bean
     public ApplicationConfig getApplicationConfig() {
-        return new ApplicationConfig();
+        return this.applicationConfig;
     }
 
     @Bean
@@ -58,7 +69,29 @@ class BeanFactory {
 
     @Bean
     A1ClientFactory getA1ClientFactory() {
-        return new A1ClientFactory();
+        return new A1ClientFactory(this.applicationConfig);
+    }
+
+    @Bean
+    public ObjectMapper mapper() {
+        return new ObjectMapper();
+    }
+
+    @Bean
+    public ServletWebServerFactory servletContainer() {
+        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
+        if (httpPort > 0) {
+            tomcat.addAdditionalTomcatConnectors(getHttpConnector(httpPort));
+        }
+        return tomcat;
+    }
+
+    private static Connector getHttpConnector(int httpPort) {
+        Connector connector = new Connector(TomcatServletWebServerFactory.DEFAULT_PROTOCOL);
+        connector.setScheme("http");
+        connector.setPort(httpPort);
+        connector.setSecure(false);
+        return connector;
     }
 
 }