X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=policy-agent%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fpolicyagent%2FBeanFactory.java;h=1e01247a4a093d8481108e229356f7a63050939d;hb=6a39814272307d0207222c9229b0d765ac062bf0;hp=8297b2216b78700bb2d08fab9ea76e3d2e865117;hpb=10811110a23cf9fcf464575bba609b8c65d19aec;p=nonrtric.git diff --git a/policy-agent/src/main/java/org/oransc/policyagent/BeanFactory.java b/policy-agent/src/main/java/org/oransc/policyagent/BeanFactory.java index 8297b221..1e01247a 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/BeanFactory.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/BeanFactory.java @@ -22,17 +22,26 @@ 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(); @@ -50,7 +59,7 @@ class BeanFactory { @Bean public ApplicationConfig getApplicationConfig() { - return new ApplicationConfig(); + return this.applicationConfig; } @Bean @@ -60,7 +69,7 @@ class BeanFactory { @Bean A1ClientFactory getA1ClientFactory() { - return new A1ClientFactory(getApplicationConfig()); + return new A1ClientFactory(this.applicationConfig); } @Bean @@ -68,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; + } + }