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=06b66ca677aeb8a2bf601bd03d3d4a38649ca000;hpb=4a112834cf7ea69f230fde864856093ecadb9cfe;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 06b66ca6..1e01247a 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/BeanFactory.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/BeanFactory.java @@ -20,18 +20,28 @@ package org.oransc.policyagent; -import org.oransc.policyagent.clients.A1Client; -import org.oransc.policyagent.clients.A1ClientImpl; +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(); @@ -49,7 +59,7 @@ class BeanFactory { @Bean public ApplicationConfig getApplicationConfig() { - return new ApplicationConfig(); + return this.applicationConfig; } @Bean @@ -58,8 +68,30 @@ class BeanFactory { } @Bean - A1Client getA1Client() { - return new A1ClientImpl(); + A1ClientFactory getA1ClientFactory() { + 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; } }