Merge "Added STD sim 2.0.0 tests"
[nonrtric.git] / policy-agent / src / main / java / org / oransc / policyagent / BeanFactory.java
index 93e1739..1e01247 100644 (file)
@@ -22,12 +22,16 @@ 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;
 
@@ -35,6 +39,9 @@ import org.springframework.context.annotation.Configuration;
 class BeanFactory {
     private final ApplicationConfig applicationConfig = new ApplicationConfig();
 
+    @Value("${server.http-port}")
+    private int httpPort = 0;
+
     @Bean
     public Policies getPolicies() {
         return new Policies();
@@ -70,4 +77,21 @@ class BeanFactory {
         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;
+    }
+
 }