X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=enrichment-coordinator-service%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fenrichment%2FBeanFactory.java;h=1d493bb18758d3985017f942ed2b5d98ed87b7a2;hb=508e14c9ef1a74a87cf309262b0a2a1f057763e0;hp=c5d2bec715cb7a40b08488ffa333115945fbee0b;hpb=b65d77a754c356931b82c8edf6b29759d294ea51;p=nonrtric.git diff --git a/enrichment-coordinator-service/src/main/java/org/oransc/enrichment/BeanFactory.java b/enrichment-coordinator-service/src/main/java/org/oransc/enrichment/BeanFactory.java index c5d2bec7..1d493bb1 100644 --- a/enrichment-coordinator-service/src/main/java/org/oransc/enrichment/BeanFactory.java +++ b/enrichment-coordinator-service/src/main/java/org/oransc/enrichment/BeanFactory.java @@ -26,9 +26,9 @@ import java.lang.invoke.MethodHandles; import org.apache.catalina.connector.Connector; import org.oransc.enrichment.configuration.ApplicationConfig; -import org.oransc.enrichment.repository.EiJobs; -import org.oransc.enrichment.repository.EiProducers; -import org.oransc.enrichment.repository.EiTypes; +import org.oransc.enrichment.controllers.r1producer.ProducerCallbacks; +import org.oransc.enrichment.repository.InfoJobs; +import org.oransc.enrichment.repository.InfoTypes; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; @@ -46,6 +46,10 @@ class BeanFactory { private final ApplicationConfig applicationConfig = new ApplicationConfig(); private final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); + private ProducerCallbacks producerCallbacks; + private InfoTypes infoTypes; + private InfoJobs infoJobs; + @Bean public ObjectMapper mapper() { return new ObjectMapper(); @@ -61,24 +65,37 @@ class BeanFactory { } @Bean - public EiJobs eiJobs() { - EiJobs jobs = new EiJobs(getApplicationConfig()); - try { - jobs.restoreJobsFromDatabase(); - } catch (Exception e) { - logger.error("Could not restore jobs from database: {}", e.getMessage()); + public InfoJobs infoJobs() { + if (infoJobs == null) { + infoJobs = new InfoJobs(getApplicationConfig(), producerCallbacks()); + try { + infoJobs.restoreJobsFromDatabase(); + } catch (Exception e) { + logger.error("Could not restore jobs from database: {}", e.getMessage()); + } } - return jobs; + return infoJobs; } @Bean - public EiTypes eiTypes() { - return new EiTypes(); + public InfoTypes infoTypes() { + if (this.infoTypes == null) { + infoTypes = new InfoTypes(getApplicationConfig()); + try { + infoTypes.restoreTypesFromDatabase(); + } catch (Exception e) { + logger.error("Could not restore Information Types from database: {}", e.getMessage()); + } + } + return infoTypes; } @Bean - public EiProducers eiProducers() { - return new EiProducers(); + public ProducerCallbacks producerCallbacks() { + if (this.producerCallbacks == null) { + producerCallbacks = new ProducerCallbacks(getApplicationConfig()); + } + return this.producerCallbacks; } @Bean