From f3430368211a5eb435a56a70006831255dcdba2e Mon Sep 17 00:00:00 2001 From: Dan Timoney Date: Tue, 9 Jun 2020 12:42:46 -0400 Subject: Export SvcLogicFactory as service Expose SvcLogicFactory bean as a service so it can be reused in other microservices. Change-Id: I55a6e08ad2a4fa81a91151a3b437514fab70c96a Issue-ID: CCSDK-2096 Signed-off-by: Dan Timoney --- ms/sliboot/pom.xml | 5 + .../sliboot/controllers/RestconfApiController.java | 2 +- .../apps/ms/sliboot/core/SvcLogicFactory.java | 149 --------------------- 3 files changed, 6 insertions(+), 150 deletions(-) delete mode 100644 ms/sliboot/src/main/java/org/onap/ccsdk/apps/ms/sliboot/core/SvcLogicFactory.java (limited to 'ms') diff --git a/ms/sliboot/pom.xml b/ms/sliboot/pom.xml index b5e4fe81..2d150805 100644 --- a/ms/sliboot/pom.xml +++ b/ms/sliboot/pom.xml @@ -76,6 +76,11 @@ springfox-swagger-ui 2.9.2 + + ${project.groupId} + services + ${project.version} + org.onap.ccsdk.sli.core dblib-provider diff --git a/ms/sliboot/src/main/java/org/onap/ccsdk/apps/ms/sliboot/controllers/RestconfApiController.java b/ms/sliboot/src/main/java/org/onap/ccsdk/apps/ms/sliboot/controllers/RestconfApiController.java index 11d713ad..4b78b2d1 100644 --- a/ms/sliboot/src/main/java/org/onap/ccsdk/apps/ms/sliboot/controllers/RestconfApiController.java +++ b/ms/sliboot/src/main/java/org/onap/ccsdk/apps/ms/sliboot/controllers/RestconfApiController.java @@ -50,7 +50,7 @@ import java.util.*; @javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2020-02-20T12:50:11.207-05:00") @Controller -@ComponentScan(basePackages = {"org.onap.ccsdk.apps.ms.sliboot.*"}) +@ComponentScan(basePackages = {"org.onap.ccsdk.apps.ms.sliboot.*", "org.onap.ccsdk.apps.services"}) @EntityScan("org.onap.ccsdk.apps.ms.sliboot.*") public class RestconfApiController implements ConfigApi, OperationalApi, OperationsApi { diff --git a/ms/sliboot/src/main/java/org/onap/ccsdk/apps/ms/sliboot/core/SvcLogicFactory.java b/ms/sliboot/src/main/java/org/onap/ccsdk/apps/ms/sliboot/core/SvcLogicFactory.java deleted file mode 100644 index e264baa9..00000000 --- a/ms/sliboot/src/main/java/org/onap/ccsdk/apps/ms/sliboot/core/SvcLogicFactory.java +++ /dev/null @@ -1,149 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - CCSDK - * ================================================================================ - * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.ccsdk.apps.ms.sliboot.core; - -import java.io.FileInputStream; -import java.io.IOException; -import java.util.List; -import java.util.Properties; -import org.onap.ccsdk.sli.core.sli.ConfigurationException; -import org.onap.ccsdk.sli.core.sli.SvcLogicJavaPlugin; -import org.onap.ccsdk.sli.core.sli.SvcLogicLoader; -import org.onap.ccsdk.sli.core.sli.SvcLogicRecorder; -import org.onap.ccsdk.sli.core.sli.SvcLogicStore; -import org.onap.ccsdk.sli.core.sli.SvcLogicStoreFactory; -import org.onap.ccsdk.sli.core.sli.provider.base.HashMapResolver; -import org.onap.ccsdk.sli.core.sli.provider.base.SvcLogicPropertiesProvider; -import org.onap.ccsdk.sli.core.sli.provider.base.SvcLogicServiceBase; -import org.onap.ccsdk.sli.core.sli.provider.base.SvcLogicServiceImplBase; -import org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder; -import org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils; -import org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils; -import org.onap.ccsdk.sli.plugins.prop.PropertiesNode; -import org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -@Configuration -public class SvcLogicFactory { - private static final Logger log = LoggerFactory.getLogger(SvcLogicFactory.class); - - @Autowired - List recorders; - - @Autowired - List plugins; - - @Bean - public SvcLogicStore getStore() throws Exception { - SvcLogicPropertiesProvider propProvider = new SvcLogicPropertiesProvider() { - - @Override - public Properties getProperties() { - Properties props = new Properties(); - - - String propPath = System.getProperty("serviceLogicProperties", ""); - - if ("".equals(propPath)) { - propPath = System.getenv("SVCLOGIC_PROPERTIES"); - } - - - if ((propPath == null) || propPath.length() == 0) { - propPath = "src/main/resources/svclogic.properties"; - } - System.out.println(propPath); - try (FileInputStream fileInputStream = new FileInputStream(propPath)) { - props = new Properties(); - props.load(fileInputStream); - } catch (final IOException e) { - log.error("Failed to load properties for file: {}", propPath, - new ConfigurationException("Failed to load properties for file: " + propPath, e)); - } - return props; - } - }; - SvcLogicStore store = SvcLogicStoreFactory.getSvcLogicStore(propProvider.getProperties()); - return store; - } - - @Bean - public SvcLogicLoader createLoader() throws Exception { - String serviceLogicDirectory = System.getProperty("serviceLogicDirectory"); - if (serviceLogicDirectory == null) { - serviceLogicDirectory = "src/main/resources"; - } - - System.out.println("serviceLogicDirectory is " + serviceLogicDirectory); - SvcLogicLoader loader = new SvcLogicLoader(serviceLogicDirectory, getStore()); - - try { - loader.loadAndActivate(); - } catch (IOException e) { - log.error("Cannot load directed graphs", e); - } - return loader; - } - - @Bean - public SvcLogicServiceBase createService() throws Exception { - HashMapResolver resolver = new HashMapResolver(); - for (SvcLogicRecorder recorder : recorders) { - resolver.addSvcLogicRecorder(recorder.getClass().getName(), recorder); - - } - for (SvcLogicJavaPlugin plugin : plugins) { - resolver.addSvcLogicSvcLogicJavaPlugin(plugin.getClass().getName(), plugin); - - } - return new SvcLogicServiceImplBase(getStore(), resolver); - } - - @Bean - public Slf4jRecorder slf4jRecorderNode() { - return new Slf4jRecorder(); - } - - @Bean - public SliPluginUtils sliPluginUtil() { - return new SliPluginUtils(); - } - - @Bean - public SliStringUtils sliStringUtils() { - return new SliStringUtils(); - } - - @Bean - public RestapiCallNode restapiCallNode() { - return new RestapiCallNode(); - } - - @Bean - public PropertiesNode propertiesNode() { - return new PropertiesNode(); - } - -} -- cgit 1.2.3-korg