diff options
author | Ravi Pendurty <ravi.pendurty@highstreet-technologies.com> | 2021-02-03 14:09:25 +0100 |
---|---|---|
committer | Dan Timoney <dtimoney@att.com> | 2021-02-05 22:55:34 +0000 |
commit | 2f9e781a7c3e22bf25df83dcc3ff44b885a80957 (patch) | |
tree | d14ec0201ea7012cfc6c70954dcef6475370cfc9 | |
parent | 80ebbf5b525b1a251f8e0eebd4a841d85716cf65 (diff) |
Adapt SDNR northbound to Aluminium
Adapt SDNR northbound to Aluminium
Issue-ID: CCSDK-3128
Signed-off-by: Ravi Pendurty <ravi.pendurty@highstreet-technologies.com>
Change-Id: Id2dc38d4f2573d5c6aeedfb42349433f22aa86f5
Signed-off-by: Ravi Pendurty <ravi.pendurty@highstreet-technologies.com>
45 files changed, 803 insertions, 1066 deletions
diff --git a/sdnr/northbound/CMNotify/feature/pom.xml b/sdnr/northbound/CMNotify/feature/pom.xml index 3c7cb7218..90fe74663 100644 --- a/sdnr/northbound/CMNotify/feature/pom.xml +++ b/sdnr/northbound/CMNotify/feature/pom.xml @@ -26,7 +26,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> <artifactId>single-feature-parent</artifactId> - <version>2.1.0</version> + <version>2.1.1-SNAPSHOT</version> <relativePath/> </parent> diff --git a/sdnr/northbound/CMNotify/installer/pom.xml b/sdnr/northbound/CMNotify/installer/pom.xml index 20e551faf..b540ea737 100644 --- a/sdnr/northbound/CMNotify/installer/pom.xml +++ b/sdnr/northbound/CMNotify/installer/pom.xml @@ -26,7 +26,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> <artifactId>odlparent-lite</artifactId> - <version>2.1.0</version> + <version>2.1.1-SNAPSHOT</version> <relativePath/> </parent> diff --git a/sdnr/northbound/CMNotify/model/pom.xml b/sdnr/northbound/CMNotify/model/pom.xml index 43dcecf1e..3af4c6602 100644 --- a/sdnr/northbound/CMNotify/model/pom.xml +++ b/sdnr/northbound/CMNotify/model/pom.xml @@ -26,7 +26,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> <artifactId>binding-parent</artifactId> - <version>2.1.0</version> + <version>2.1.1-SNAPSHOT</version> <relativePath/> </parent> diff --git a/sdnr/northbound/CMNotify/pom.xml b/sdnr/northbound/CMNotify/pom.xml index a930edba4..54db602f3 100644 --- a/sdnr/northbound/CMNotify/pom.xml +++ b/sdnr/northbound/CMNotify/pom.xml @@ -26,7 +26,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> <artifactId>odlparent-lite</artifactId> - <version>2.1.0</version> + <version>2.1.1-SNAPSHOT</version> <relativePath/> </parent> diff --git a/sdnr/northbound/CMNotify/provider/pom.xml b/sdnr/northbound/CMNotify/provider/pom.xml index c434790f7..f964d63e1 100644 --- a/sdnr/northbound/CMNotify/provider/pom.xml +++ b/sdnr/northbound/CMNotify/provider/pom.xml @@ -26,7 +26,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> <artifactId>binding-parent</artifactId> - <version>2.1.0</version> + <version>2.1.1-SNAPSHOT</version> <relativePath/> </parent> @@ -39,16 +39,6 @@ <dependencyManagement> <dependencies> - <!-- - <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>mdsal-artifacts</artifactId> - <version>1.6.1</version> - <type>pom</type> - <scope>import</scope> - </dependency> - --> - <dependency> <groupId>org.onap.ccsdk.sli.core</groupId> <artifactId>sli-core-artifacts</artifactId> @@ -64,36 +54,13 @@ <artifactId>CMNotify-model</artifactId> <version>${project.version}</version> </dependency> - <!-- - <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>sal-binding-config</artifactId> - </dependency> - <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>sal-binding-api</artifactId> - </dependency> - <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>sal-common-util</artifactId> - </dependency> - <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>sal-core-api</artifactId> - </dependency> <dependency> - <groupId>org.opendaylight.yangtools</groupId> - <artifactId>yang-data-impl</artifactId> + <groupId>org.opendaylight.mdsal</groupId> + <artifactId>mdsal-binding-api</artifactId> </dependency> <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.mockito</groupId> - <artifactId>mockito-core</artifactId> - <scope>test</scope> + <groupId>org.opendaylight.mdsal</groupId> + <artifactId>mdsal-dom-api</artifactId> </dependency> <dependency> <groupId>org.onap.ccsdk.sli.core</groupId> @@ -106,40 +73,8 @@ <scope>provided</scope> </dependency> <dependency> - <groupId>org.onap.ccsdk.sli.core</groupId> - <artifactId>utils-provider</artifactId> - <version>${sdnctl.sli.version}</version> - </dependency> - --> - <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>sal-binding-api</artifactId> - </dependency> - <dependency> - <groupId>org.onap.ccsdk.sli.core</groupId> - <artifactId>sli-common</artifactId> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.onap.ccsdk.sli.core</groupId> - <artifactId>sli-provider</artifactId> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>sal-test-model</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>sal-binding-broker-impl</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>sal-binding-broker-impl</artifactId> - <type>test-jar</type> - <classifier>tests</classifier> + <groupId>org.opendaylight.mdsal</groupId> + <artifactId>mdsal-binding-test-model</artifactId> <scope>test</scope> </dependency> <dependency> @@ -162,10 +97,6 @@ <artifactId>sal-common-util</artifactId> </dependency> <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>sal-core-api</artifactId> - </dependency> - <dependency> <groupId>org.opendaylight.yangtools</groupId> <artifactId>yang-data-impl</artifactId> </dependency> diff --git a/sdnr/northbound/CMNotify/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/cmnotify/CMNotifyProvider.java b/sdnr/northbound/CMNotify/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/cmnotify/CMNotifyProvider.java index 7317ac4b8..452741b3f 100644 --- a/sdnr/northbound/CMNotify/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/cmnotify/CMNotifyProvider.java +++ b/sdnr/northbound/CMNotify/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/cmnotify/CMNotifyProvider.java @@ -28,149 +28,162 @@ import java.util.Properties; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import org.onap.ccsdk.sli.core.sli.provider.MdsalHelper; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService; -import org.opendaylight.controller.sal.binding.api.BindingAwareBroker; -import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.NotificationPublishService; +import org.opendaylight.mdsal.binding.api.RpcProviderService; import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev200224.CMNOTIFYAPIService; import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev200224.NbrlistChangeNotificationInput; import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev200224.NbrlistChangeNotificationInputBuilder; import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev200224.NbrlistChangeNotificationOutput; import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev200224.NbrlistChangeNotificationOutputBuilder; - import org.opendaylight.yangtools.concepts.Builder; +import org.opendaylight.yangtools.concepts.ObjectRegistration; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * Defines a base implementation for your provider. This class extends from a helper class which - * provides storage for the most commonly used components of the MD-SAL. Additionally the base class - * provides some basic logging and initialization / clean up methods. + * Defines a base implementation for your provider. This class extends from a + * helper class which provides storage for the most commonly used components of + * the MD-SAL. Additionally the base class provides some basic logging and + * initialization / clean up methods. * */ public class CMNotifyProvider implements AutoCloseable, CMNOTIFYAPIService { - private static final Logger LOG = LoggerFactory.getLogger(CMNotifyProvider.class); - - private static final String APPLICATION_NAME = "CMNotify-api"; - private static final String NBRLIST_CHANGE_NOTIFICATION = "nbrlist-change-notification"; - - - private final ExecutorService executor; - protected DataBroker dataBroker; - protected NotificationPublishService notificationService; - protected RpcProviderRegistry rpcRegistry; - protected BindingAwareBroker.RpcRegistration<CMNOTIFYAPIService> rpcRegistration; - private final CMNotifyClient CMNotifyClient; - - public CMNotifyProvider(final DataBroker dataBroker, final NotificationPublishService notificationPublishService, - final RpcProviderRegistry rpcProviderRegistry, final CMNotifyClient CMNotifyClient) { - - LOG.info("Creating provider for {}", APPLICATION_NAME); - executor = Executors.newFixedThreadPool(1); - this.dataBroker = dataBroker; - this.notificationService = notificationPublishService; - this.rpcRegistry = rpcProviderRegistry; - this.CMNotifyClient = CMNotifyClient; - initialize(); - } - - public void initialize() { - LOG.info("Initializing provider for {}", APPLICATION_NAME); - rpcRegistration = rpcRegistry.addRpcImplementation(CMNOTIFYAPIService.class, this); - LOG.info("Initialization complete for {}", APPLICATION_NAME); - } - - protected void initializeChild() { - // Override if you have custom initialization intelligence - } - - @Override - public void close() throws Exception { - LOG.info("Closing provider for {}", APPLICATION_NAME); - executor.shutdown(); - rpcRegistration.close(); - LOG.info("Successfully closed provider for {}", APPLICATION_NAME); - } - - // RPC nbrlist-change-notification - - @Override - public ListenableFuture<RpcResult<NbrlistChangeNotificationOutput>> nbrlistChangeNotification(NbrlistChangeNotificationInput input) { - final String svcOperation = "nbrlist-change-notification"; - - Properties parms = new Properties(); - NbrlistChangeNotificationOutputBuilder serviceDataBuilder = (NbrlistChangeNotificationOutputBuilder) getServiceData(NBRLIST_CHANGE_NOTIFICATION); - - LOG.info("Reached RPC nbrlist-change-notification"); - - LOG.info(svcOperation + " called."); - - if (input == null) { - LOG.debug("exiting " + svcOperation + " because of invalid input"); - serviceDataBuilder.setResponseCode("Input is null"); - RpcResult<NbrlistChangeNotificationOutput> rpcResult = - RpcResultBuilder.<NbrlistChangeNotificationOutput>status(true).withResult(serviceDataBuilder.build()).build(); - return Futures.immediateFuture(rpcResult); - } - - // add input to parms - LOG.info("Adding INPUT data for " + svcOperation + " input: " + input); - NbrlistChangeNotificationInputBuilder inputBuilder = new NbrlistChangeNotificationInputBuilder(input); - MdsalHelper.toProperties(parms, inputBuilder.build()); - - LOG.info("Printing SLI parameters to be passed"); - - // iterate properties file to get key-value pairs - for (String key : parms.stringPropertyNames()) { - String value = parms.getProperty(key); - LOG.info("The SLI parameter in " + key + " is: " + value); - } - - // Call SLI sync method - try { - if (CMNotifyClient.hasGraph("CM-NOTIFY-API", svcOperation, null, "sync")) { - LOG.info("CMNotifyClient has a Directed Graph for '" + svcOperation + "'"); - try { - CMNotifyClient.execute("CM-NOTIFY-API", svcOperation, null, "sync", serviceDataBuilder, parms); - } catch (Exception e) { - LOG.error("Caught exception executing service logic for " + svcOperation, e); - serviceDataBuilder.setResponseCode("500"); - } - } else { - LOG.error("No service logic active for CMNotify: '" + svcOperation + "'"); - serviceDataBuilder.setResponseCode("503"); - } - } catch (Exception e) { - LOG.error("Caught exception looking for service logic", e); - serviceDataBuilder.setResponseCode("500"); - } - - String errorCode = serviceDataBuilder.getResponseCode(); - - if (!("0".equals(errorCode) || "200".equals(errorCode))) { - LOG.error("Returned FAILED for " + svcOperation + " error code: '" + errorCode + "'"); - } else { - LOG.info("Returned SUCCESS for " + svcOperation + " "); - serviceDataBuilder.setResponseMessage("CM Notification Executed and RuntimeDB Updated. "); - } - - RpcResult<NbrlistChangeNotificationOutput> rpcResult = - RpcResultBuilder.<NbrlistChangeNotificationOutput>status(true).withResult(serviceDataBuilder.build()).build(); - - LOG.info("Successful exit from nbrlist-change-notification "); - - return Futures.immediateFuture(rpcResult); - } - - - protected Builder<?> getServiceData(String svcOperation) { - switch (svcOperation) { - case NBRLIST_CHANGE_NOTIFICATION: - return new NbrlistChangeNotificationOutputBuilder(); - } - return null; - } + private static final Logger LOG = LoggerFactory.getLogger(CMNotifyProvider.class); + + private static final String APPLICATION_NAME = "CMNotify-api"; + private static final String NBRLIST_CHANGE_NOTIFICATION = "nbrlist-change-notification"; + + private final ExecutorService executor; + protected DataBroker dataBroker; + protected RpcProviderService rpcProviderRegistry; + protected NotificationPublishService notificationService; + private ObjectRegistration<CMNotifyProvider> rpcReg; + private CMNotifyClient CMNotifyClient; + + public CMNotifyProvider() { + + LOG.info("Creating provider for {}", APPLICATION_NAME); + executor = Executors.newFixedThreadPool(1); + + this.dataBroker = null; + this.notificationService = null; + this.rpcProviderRegistry = null; + this.CMNotifyClient = null; + + } + + public void setDataBroker(DataBroker dataBroker) { + this.dataBroker = dataBroker; + } + + public void setRpcProviderRegistry(RpcProviderService rpcProviderRegistry) { + this.rpcProviderRegistry = rpcProviderRegistry; + } + + public void setNotificationPublishService(NotificationPublishService notificationPublishService) { + this.notificationService = notificationPublishService; + } + + public void setClient(CMNotifyClient client) { + this.CMNotifyClient = client; + } + + public void init() { + LOG.info("Initializing provider for {}", APPLICATION_NAME); + rpcReg = rpcProviderRegistry.registerRpcImplementation(CMNOTIFYAPIService.class, this); + LOG.info("Initialization complete for {}", APPLICATION_NAME); + } + + @Override + public void close() throws Exception { + LOG.info("Closing provider for {}", APPLICATION_NAME); + executor.shutdown(); + if (rpcReg != null) + rpcReg.close(); + LOG.info("Successfully closed provider for {}", APPLICATION_NAME); + } + + // RPC nbrlist-change-notification + + @Override + public ListenableFuture<RpcResult<NbrlistChangeNotificationOutput>> nbrlistChangeNotification( + NbrlistChangeNotificationInput input) { + final String svcOperation = "nbrlist-change-notification"; + + Properties parms = new Properties(); + NbrlistChangeNotificationOutputBuilder serviceDataBuilder = (NbrlistChangeNotificationOutputBuilder) getServiceData( + NBRLIST_CHANGE_NOTIFICATION); + + LOG.info("Reached RPC nbrlist-change-notification"); + + LOG.info(svcOperation + " called."); + + if (input == null) { + LOG.debug("exiting " + svcOperation + " because of invalid input"); + serviceDataBuilder.setResponseCode("Input is null"); + RpcResult<NbrlistChangeNotificationOutput> rpcResult = RpcResultBuilder + .<NbrlistChangeNotificationOutput>status(true).withResult(serviceDataBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + + // add input to parms + LOG.info("Adding INPUT data for " + svcOperation + " input: " + input); + NbrlistChangeNotificationInputBuilder inputBuilder = new NbrlistChangeNotificationInputBuilder(input); + MdsalHelper.toProperties(parms, inputBuilder.build()); + + LOG.info("Printing SLI parameters to be passed"); + + // iterate properties file to get key-value pairs + for (String key : parms.stringPropertyNames()) { + String value = parms.getProperty(key); + LOG.info("The SLI parameter in " + key + " is: " + value); + } + + // Call SLI sync method + try { + if (CMNotifyClient.hasGraph("CM-NOTIFY-API", svcOperation, null, "sync")) { + LOG.info("CMNotifyClient has a Directed Graph for '" + svcOperation + "'"); + try { + CMNotifyClient.execute("CM-NOTIFY-API", svcOperation, null, "sync", serviceDataBuilder, parms); + } catch (Exception e) { + LOG.error("Caught exception executing service logic for " + svcOperation, e); + serviceDataBuilder.setResponseCode("500"); + } + } else { + LOG.error("No service logic active for CMNotify: '" + svcOperation + "'"); + serviceDataBuilder.setResponseCode("503"); + } + } catch (Exception e) { + LOG.error("Caught exception looking for service logic", e); + serviceDataBuilder.setResponseCode("500"); + } + + String errorCode = serviceDataBuilder.getResponseCode(); + + if (!("0".equals(errorCode) || "200".equals(errorCode))) { + LOG.error("Returned FAILED for " + svcOperation + " error code: '" + errorCode + "'"); + } else { + LOG.info("Returned SUCCESS for " + svcOperation + " "); + serviceDataBuilder.setResponseMessage("CM Notification Executed and RuntimeDB Updated. "); + } + + RpcResult<NbrlistChangeNotificationOutput> rpcResult = RpcResultBuilder + .<NbrlistChangeNotificationOutput>status(true).withResult(serviceDataBuilder.build()).build(); + + LOG.info("Successful exit from nbrlist-change-notification "); + + return Futures.immediateFuture(rpcResult); + } + + protected Builder<?> getServiceData(String svcOperation) { + switch (svcOperation) { + case NBRLIST_CHANGE_NOTIFICATION: + return new NbrlistChangeNotificationOutputBuilder(); + } + return null; + } } diff --git a/sdnr/northbound/CMNotify/provider/src/main/resources/OSGI-INF/blueprint/impl-blueprint.xml b/sdnr/northbound/CMNotify/provider/src/main/resources/OSGI-INF/blueprint/impl-blueprint.xml deleted file mode 100644 index fd036bbd0..000000000 --- a/sdnr/northbound/CMNotify/provider/src/main/resources/OSGI-INF/blueprint/impl-blueprint.xml +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ ============LICENSE_START======================================================= - ~ ONAP : ccsdk features - ~ ================================================================================ - ~ 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======================================================= - ~ - --> - -<blueprint xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0" - xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" odl:use-default-for-reference-types="true"> - - <reference id="svcLogicService" - interface="org.onap.ccsdk.sli.core.sli.provider.SvcLogicService"/> - - <bean id="client" class="org.onap.ccsdk.features.sdnr.northbound.cmnotify.CMNotifyClient"> - <argument ref="svcLogicService"/> - </bean> - - <reference id="dataBroker" interface="org.opendaylight.controller.md.sal.binding.api.DataBroker" - odl:type="default"/> - - <reference id="notificationService" - interface="org.opendaylight.controller.md.sal.binding.api.NotificationPublishService" - odl:type="default"/> - - <reference id="rpcRegistry" interface="org.opendaylight.controller.sal.binding.api.RpcProviderRegistry" - odl:type="default"/> - - <bean id="provider" class="org.onap.ccsdk.features.sdnr.northbound.cmnotify.CMNotifyProvider"> - <argument ref="dataBroker"/> - <argument ref="rpcRegistry"/> - <argument ref="notificationService"/> - <argument ref="client"/> - </bean> - -</blueprint> diff --git a/sdnr/northbound/CMNotify/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml b/sdnr/northbound/CMNotify/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml index fd036bbd0..3eb531291 100644 --- a/sdnr/northbound/CMNotify/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml +++ b/sdnr/northbound/CMNotify/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml @@ -30,21 +30,22 @@ <argument ref="svcLogicService"/> </bean> - <reference id="dataBroker" interface="org.opendaylight.controller.md.sal.binding.api.DataBroker" + <reference id="dataBroker" + interface="org.opendaylight.mdsal.binding.api.DataBroker" odl:type="default"/> - - <reference id="notificationService" - interface="org.opendaylight.controller.md.sal.binding.api.NotificationPublishService" - odl:type="default"/> - - <reference id="rpcRegistry" interface="org.opendaylight.controller.sal.binding.api.RpcProviderRegistry" - odl:type="default"/> - - <bean id="provider" class="org.onap.ccsdk.features.sdnr.northbound.cmnotify.CMNotifyProvider"> - <argument ref="dataBroker"/> - <argument ref="rpcRegistry"/> - <argument ref="notificationService"/> - <argument ref="client"/> + + <reference id="notificationPublishService" + interface="org.opendaylight.mdsal.binding.api.NotificationPublishService" /> + + <reference id="rpcProviderRegistry" + interface="org.opendaylight.mdsal.binding.api.RpcProviderService" /> + + <bean id="provider" class="org.onap.ccsdk.features.sdnr.northbound.cmnotify.CMNotifyProvider" + init-method="init" destroy-method="close"> + <property name="dataBroker" ref="dataBroker"/> + <property name="rpcProviderRegistry" ref="rpcProviderRegistry"/> + <property name="notificationPublishService" ref="notificationPublishService"/> + <property name="client" ref="client"/> </bean> </blueprint> diff --git a/sdnr/northbound/CMNotify/provider/src/test/java/org/onap/ccsdk/features/sdnr/northbound/cmnotify/TestCMNotify.java b/sdnr/northbound/CMNotify/provider/src/test/java/org/onap/ccsdk/features/sdnr/northbound/cmnotify/TestCMNotify.java index 36218eb99..f062e51b6 100644 --- a/sdnr/northbound/CMNotify/provider/src/test/java/org/onap/ccsdk/features/sdnr/northbound/cmnotify/TestCMNotify.java +++ b/sdnr/northbound/CMNotify/provider/src/test/java/org/onap/ccsdk/features/sdnr/northbound/cmnotify/TestCMNotify.java @@ -24,14 +24,9 @@ package org.onap.ccsdk.features.sdnr.northbound.cmnotify; import org.junit.Before; import org.junit.Test; -import org.onap.ccsdk.features.sdnr.northbound.cmnotify.CMNotifyClient; -import org.onap.ccsdk.features.sdnr.northbound.cmnotify.CMNotifyProvider; - -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService; -import org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest; -import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; - +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.NotificationPublishService; +import org.opendaylight.mdsal.binding.api.RpcProviderService; import org.opendaylight.yangtools.yang.common.RpcResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,16 +36,14 @@ import static org.mockito.Mockito.mock; import java.math.*; -import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev200224.NbrlistChangeNotificationInput; import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev200224.NbrlistChangeNotificationInputBuilder; import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev200224.NbrlistChangeNotificationOutput; -import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev200224.NbrlistChangeNotificationOutputBuilder; import com.google.common.util.concurrent.ListenableFuture; -public class TestCMNotify extends AbstractConcurrentDataBrokerTest { +public class TestCMNotify { private CMNotifyProvider cMNotifyProvider; private static final Logger LOG = LoggerFactory.getLogger(CMNotifyProvider.class); @@ -58,11 +51,15 @@ public class TestCMNotify extends AbstractConcurrentDataBrokerTest { @Before public void setUp() throws Exception { if (null == cMNotifyProvider) { - DataBroker dataBroker = getDataBroker(); + DataBroker dataBroker = mock(DataBroker.class); NotificationPublishService mockNotification = mock(NotificationPublishService.class); - RpcProviderRegistry mockRpcRegistry = mock(RpcProviderRegistry.class); + RpcProviderService mockRpcRegistry = mock(RpcProviderService.class); CMNotifyClient mockSliClient = mock(CMNotifyClient.class); - cMNotifyProvider = new CMNotifyProvider(dataBroker, mockNotification, mockRpcRegistry, mockSliClient); + cMNotifyProvider = new CMNotifyProvider(); + cMNotifyProvider.setDataBroker(dataBroker); + cMNotifyProvider.setNotificationPublishService(mockNotification); + cMNotifyProvider.setRpcProviderRegistry(mockRpcRegistry); + cMNotifyProvider.setClient(mockSliClient); } } diff --git a/sdnr/northbound/energysavings/features/pom.xml b/sdnr/northbound/energysavings/features/pom.xml index 76258d036..dd1a6b099 100644 --- a/sdnr/northbound/energysavings/features/pom.xml +++ b/sdnr/northbound/energysavings/features/pom.xml @@ -26,7 +26,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> <artifactId>feature-repo-parent</artifactId> - <version>2.1.0</version> + <version>2.1.1-SNAPSHOT</version> <relativePath/> </parent> diff --git a/sdnr/northbound/energysavings/installer/pom.xml b/sdnr/northbound/energysavings/installer/pom.xml index d60c28e19..06cc3ab6b 100755 --- a/sdnr/northbound/energysavings/installer/pom.xml +++ b/sdnr/northbound/energysavings/installer/pom.xml @@ -26,7 +26,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> <artifactId>odlparent-lite</artifactId> - <version>2.1.0</version> + <version>2.1.1-SNAPSHOT</version> <relativePath/> </parent> diff --git a/sdnr/northbound/energysavings/model/pom.xml b/sdnr/northbound/energysavings/model/pom.xml index 297dfbd4b..ae400f5a4 100644 --- a/sdnr/northbound/energysavings/model/pom.xml +++ b/sdnr/northbound/energysavings/model/pom.xml @@ -26,7 +26,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> <artifactId>binding-parent</artifactId> - <version>2.1.0</version> + <version>2.1.1-SNAPSHOT</version> <relativePath/> </parent> diff --git a/sdnr/northbound/energysavings/pom.xml b/sdnr/northbound/energysavings/pom.xml index f62dca27a..5878df7de 100644 --- a/sdnr/northbound/energysavings/pom.xml +++ b/sdnr/northbound/energysavings/pom.xml @@ -26,7 +26,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> <artifactId>odlparent-lite</artifactId> - <version>2.1.0</version> + <version>2.1.1-SNAPSHOT</version> <relativePath/> </parent> diff --git a/sdnr/northbound/energysavings/provider/pom.xml b/sdnr/northbound/energysavings/provider/pom.xml index 264c089db..507823e7c 100644 --- a/sdnr/northbound/energysavings/provider/pom.xml +++ b/sdnr/northbound/energysavings/provider/pom.xml @@ -26,7 +26,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> <artifactId>binding-parent</artifactId> - <version>2.1.0</version> + <version>2.1.1-SNAPSHOT</version> <relativePath/> </parent> diff --git a/sdnr/northbound/features/ccsdk-features-sdnr-northbound-all/pom.xml b/sdnr/northbound/features/ccsdk-features-sdnr-northbound-all/pom.xml index 71a091fdc..f5fabcbe3 100644 --- a/sdnr/northbound/features/ccsdk-features-sdnr-northbound-all/pom.xml +++ b/sdnr/northbound/features/ccsdk-features-sdnr-northbound-all/pom.xml @@ -26,7 +26,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> <artifactId>single-feature-parent</artifactId> - <version>2.1.0</version> + <version>2.1.1-SNAPSHOT</version> <relativePath/> </parent> diff --git a/sdnr/northbound/features/installer/pom.xml b/sdnr/northbound/features/installer/pom.xml index fba580bb2..1809fdf52 100644 --- a/sdnr/northbound/features/installer/pom.xml +++ b/sdnr/northbound/features/installer/pom.xml @@ -26,7 +26,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> <artifactId>odlparent-lite</artifactId> - <version>2.1.0</version> + <version>2.1.1-SNAPSHOT</version> <relativePath/> </parent> diff --git a/sdnr/northbound/features/pom.xml b/sdnr/northbound/features/pom.xml index 0a9821d83..7af67f024 100644 --- a/sdnr/northbound/features/pom.xml +++ b/sdnr/northbound/features/pom.xml @@ -26,7 +26,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> <artifactId>odlparent-lite</artifactId> - <version>2.1.0</version> + <version>2.1.1-SNAPSHOT</version> <relativePath/> </parent> diff --git a/sdnr/northbound/oofpcipoc/consumer/pom.xml b/sdnr/northbound/oofpcipoc/consumer/pom.xml index b05464d5a..950ee3524 100644 --- a/sdnr/northbound/oofpcipoc/consumer/pom.xml +++ b/sdnr/northbound/oofpcipoc/consumer/pom.xml @@ -26,7 +26,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> <artifactId>binding-parent</artifactId> - <version>2.1.0</version> + <version>2.1.1-SNAPSHOT</version> <relativePath/> </parent> @@ -66,20 +66,6 @@ <artifactId>oofpcipoc-provider</artifactId> <version>${project.version}</version> </dependency> - <!-- <dependency> <groupId>org.opendaylight.controller</groupId> <artifactId>sal-binding-config</artifactId> - </dependency> --> - <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>sal-binding-api</artifactId> - </dependency> - <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>sal-common-util</artifactId> - </dependency> - <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>sal-core-api</artifactId> - </dependency> <dependency> <groupId>org.opendaylight.yangtools</groupId> <artifactId>yang-data-impl</artifactId> diff --git a/sdnr/northbound/oofpcipoc/consumer/src/main/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/OofpcipocHandleNotif.java b/sdnr/northbound/oofpcipoc/consumer/src/main/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/OofpcipocHandleNotif.java index 98b16f549..dd1ca7086 100644 --- a/sdnr/northbound/oofpcipoc/consumer/src/main/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/OofpcipocHandleNotif.java +++ b/sdnr/northbound/oofpcipoc/consumer/src/main/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/OofpcipocHandleNotif.java @@ -25,8 +25,8 @@ import java.io.Writer; import java.io.StringWriter; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.io.IOException; -import java.util.Properties; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -41,32 +41,23 @@ import org.onap.ccsdk.features.sdnr.northbound.oofpcipoc.handlenotif.pojos.Paylo import org.onap.ccsdk.features.sdnr.northbound.oofpcipoc.handlenotif.pojos.RAN; import org.onap.ccsdk.features.sdnr.northbound.oofpcipoc.handlenotif.pojos.RadioAccess; import org.onap.ccsdk.features.sdnr.northbound.oofpcipoc.handlenotif.pojos.X0005b9Lte; -import org.onap.ccsdk.sli.core.sli.provider.MdsalHelper; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.sal.binding.api.BindingAwareBroker; -import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev190308.*; + +import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.yang.gen.v1.org.onap.ccsdk.features.sdnr.northbound.oofpcipoc.rev190308.OofpcipocListener; -import org.opendaylight.yang.gen.v1.org.onap.ccsdk.features.sdnr.northbound.oofpcipoc.rev190308.Payload; import org.opendaylight.yang.gen.v1.org.onap.ccsdk.features.sdnr.northbound.oofpcipoc.rev190308.NbrlistChangeNotification; import org.opendaylight.yang.gen.v1.org.onap.ccsdk.features.sdnr.northbound.oofpcipoc.rev190308.NetconfConfigChange; import org.opendaylight.yang.gen.v1.org.onap.ccsdk.features.sdnr.northbound.oofpcipoc.rev190308.nbrlist.change.notification.*; import org.opendaylight.yang.gen.v1.org.onap.ccsdk.features.sdnr.northbound.oofpcipoc.rev190308.nbrlist.change.notification.fap.service.*; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.common.base.Preconditions; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.json.JSONArray; import org.json.JSONObject; -import com.google.common.util.concurrent.Futures; -import com.google.common.util.concurrent.ListenableFuture; -import com.google.common.util.concurrent.FutureCallback; -import com.google.common.util.concurrent.MoreExecutors; /** * Defines a base implementation for your listener. This class extends from a @@ -92,25 +83,28 @@ public class OofpcipocHandleNotif implements AutoCloseable, OofpcipocListener { protected DataBroker dataBroker; - private final OofpcipocClient OofpcipocClient; + private OofpcipocClient OofpcipocClient; - public OofpcipocHandleNotif(final DataBroker dataBroker, final OofpcipocClient OofpcipocClient) { + public OofpcipocHandleNotif() { this.LOG.info("Creating listener for {}", APPLICATION_NAME); executor = Executors.newFixedThreadPool(1); + this.dataBroker = null; + this.OofpcipocClient = null; + } + + public void setDataBroker(DataBroker dataBroker) { this.dataBroker = dataBroker; + } + + public void setClient(OofpcipocClient OofpcipocClient) { this.OofpcipocClient = OofpcipocClient; - initialize(); } - public void initialize() { + public void init() { LOG.info("Placeholder: Initializing listener for {}", APPLICATION_NAME); } - protected void initializeChild() { - // Override if you have custom initialization intelligence - } - @Override public void close() throws Exception { LOG.info("Closing listener for {}", APPLICATION_NAME); @@ -134,18 +128,20 @@ public class OofpcipocHandleNotif implements AutoCloseable, OofpcipocListener { List<FAPServiceList> fAPServiceList = new ArrayList<>(); radioAccess.setFAPServiceNumberOfEntries(notification.getFapServiceNumberOfEntriesChanged().toString()); + Map<FapServiceKey, FapService> fapSvcs = notification.getFapService(); - for (FapService fapSvc : notification.getFapService()) { + for (Map.Entry<FapServiceKey,FapService> entry : fapSvcs.entrySet() ) { + FapService fapSvc = entry.getValue(); FAPServiceList fapServiceElement = new FAPServiceList(); fapServiceElement.setAlias(fapSvc.getAlias()); fapServiceElement.setX0005b9Lte(new X0005b9Lte(fapSvc.getPhyCellIdInUse().toString(), fapSvc.getPnfName())); List<LTENeighborListInUseLTECell> lTENeighborListInUseLTECell = new ArrayList<>(); - - for (LteRanNeighborListInUseLteCellChanged lteRanElement : fapSvc - .getLteRanNeighborListInUseLteCellChanged()) { + Map<LteRanNeighborListInUseLteCellChangedKey, LteRanNeighborListInUseLteCellChanged> lteRanElements = fapSvc.getLteRanNeighborListInUseLteCellChanged(); + for (Map.Entry<LteRanNeighborListInUseLteCellChangedKey, LteRanNeighborListInUseLteCellChanged> lteRanEntry : lteRanElements.entrySet()) { + LteRanNeighborListInUseLteCellChanged lteRanElement = lteRanEntry.getValue(); LTENeighborListInUseLTECell lTENeighborListInUseLTECellElement = new LTENeighborListInUseLTECell(); lTENeighborListInUseLTECellElement.setAlias(lteRanElement.getCid()); lTENeighborListInUseLTECellElement.setBlacklisted(lteRanElement.isBlacklisted().toString()); diff --git a/sdnr/northbound/oofpcipoc/consumer/src/main/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/handlenotif/pojos/CellConfig.java b/sdnr/northbound/oofpcipoc/consumer/src/main/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/handlenotif/pojos/CellConfig.java index def38a3db..36c0ce623 100644 --- a/sdnr/northbound/oofpcipoc/consumer/src/main/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/handlenotif/pojos/CellConfig.java +++ b/sdnr/northbound/oofpcipoc/consumer/src/main/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/handlenotif/pojos/CellConfig.java @@ -1,3 +1,23 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * 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.features.sdnr.northbound.oofpcipoc.handlenotif.pojos; diff --git a/sdnr/northbound/oofpcipoc/consumer/src/main/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/handlenotif/pojos/NeighborListInUse.java b/sdnr/northbound/oofpcipoc/consumer/src/main/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/handlenotif/pojos/NeighborListInUse.java index 39cc22208..634d9707b 100644 --- a/sdnr/northbound/oofpcipoc/consumer/src/main/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/handlenotif/pojos/NeighborListInUse.java +++ b/sdnr/northbound/oofpcipoc/consumer/src/main/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/handlenotif/pojos/NeighborListInUse.java @@ -1,3 +1,23 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * 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.features.sdnr.northbound.oofpcipoc.handlenotif.pojos; diff --git a/sdnr/northbound/oofpcipoc/consumer/src/main/resources/OSGI-INF/blueprint/impl-blueprint.xml b/sdnr/northbound/oofpcipoc/consumer/src/main/resources/OSGI-INF/blueprint/impl-blueprint.xml deleted file mode 100644 index 90ae11a51..000000000 --- a/sdnr/northbound/oofpcipoc/consumer/src/main/resources/OSGI-INF/blueprint/impl-blueprint.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ ============LICENSE_START======================================================= - ~ ONAP : ccsdk features - ~ ================================================================================ - ~ 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======================================================= - ~ - --> - -<blueprint xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0" - xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" odl:use-default-for-reference-types="true"> - - <reference id="svcLogicService" - interface="org.onap.ccsdk.sli.core.sli.provider.SvcLogicService"/> - - <bean id="client" class="org.onap.ccsdk.features.sdnr.northbound.oofpcipoc.OofpcipocClient"> - <argument ref="svcLogicService"/> - </bean> - - <reference id="dataBroker" interface="org.opendaylight.controller.md.sal.binding.api.DataBroker" - odl:type="default"/> - - <!-- Register the OofpcipocListener to receive yang notifications --> - - <odl:notification-listener ref="listener"/> - - <bean id="listener" class="org.onap.ccsdk.features.sdnr.northbound.oofpcipoc.OofpcipocHandleNotif"> - <argument ref="dataBroker"/> - <argument ref="client"/> - </bean> - -</blueprint> diff --git a/sdnr/northbound/oofpcipoc/consumer/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml b/sdnr/northbound/oofpcipoc/consumer/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml index 90ae11a51..33d4142f6 100644 --- a/sdnr/northbound/oofpcipoc/consumer/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml +++ b/sdnr/northbound/oofpcipoc/consumer/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml @@ -30,7 +30,7 @@ <argument ref="svcLogicService"/> </bean> - <reference id="dataBroker" interface="org.opendaylight.controller.md.sal.binding.api.DataBroker" + <reference id="dataBroker" interface="org.opendaylight.mdsal.binding.api.DataBroker" odl:type="default"/> <!-- Register the OofpcipocListener to receive yang notifications --> diff --git a/sdnr/northbound/oofpcipoc/feature/pom.xml b/sdnr/northbound/oofpcipoc/feature/pom.xml index 9c5eb74cf..1af7262b5 100644 --- a/sdnr/northbound/oofpcipoc/feature/pom.xml +++ b/sdnr/northbound/oofpcipoc/feature/pom.xml @@ -26,7 +26,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> <artifactId>single-feature-parent</artifactId> - <version>2.1.0</version> + <version>2.1.1-SNAPSHOT</version> <relativePath/> </parent> @@ -37,26 +37,6 @@ <name>ccsdk-features :: sdnr-northbound :: ${project.artifactId}</name> - <!-- - <dependencyManagement> - <dependencies> - <dependency> - <groupId>org.opendaylight.mdsal.model</groupId> - <artifactId>mdsal-model-artifacts</artifactId> - <version>${odl.mdsal.model.version}</version> - <type>pom</type> - <scope>import</scope> - </dependency> - <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>mdsal-artifacts</artifactId> - <version>${odl.mdsal.version}</version> - <type>pom</type> - <scope>import</scope> - </dependency> - </dependencies> - </dependencyManagement> - --> <dependencies> <dependency> <groupId>${project.groupId}</groupId> diff --git a/sdnr/northbound/oofpcipoc/installer/pom.xml b/sdnr/northbound/oofpcipoc/installer/pom.xml index af2ec0a3c..14bca54cd 100644 --- a/sdnr/northbound/oofpcipoc/installer/pom.xml +++ b/sdnr/northbound/oofpcipoc/installer/pom.xml @@ -26,7 +26,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> <artifactId>odlparent-lite</artifactId> - <version>2.1.0</version> + <version>2.1.1-SNAPSHOT</version> <relativePath/> </parent> diff --git a/sdnr/northbound/oofpcipoc/model/pom.xml b/sdnr/northbound/oofpcipoc/model/pom.xml index 6c46b7fff..ac9e6c348 100644 --- a/sdnr/northbound/oofpcipoc/model/pom.xml +++ b/sdnr/northbound/oofpcipoc/model/pom.xml @@ -26,7 +26,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> <artifactId>binding-parent</artifactId> - <version>2.1.0</version> + <version>2.1.1-SNAPSHOT</version> <relativePath/> </parent> diff --git a/sdnr/northbound/oofpcipoc/pom.xml b/sdnr/northbound/oofpcipoc/pom.xml index c7de814bc..a0e1e6214 100644 --- a/sdnr/northbound/oofpcipoc/pom.xml +++ b/sdnr/northbound/oofpcipoc/pom.xml @@ -26,7 +26,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> <artifactId>odlparent-lite</artifactId> - <version>2.1.0</version> + <version>2.1.1-SNAPSHOT</version> <relativePath/> </parent> diff --git a/sdnr/northbound/oofpcipoc/provider/pom.xml b/sdnr/northbound/oofpcipoc/provider/pom.xml index bee183715..34892f2dc 100644 --- a/sdnr/northbound/oofpcipoc/provider/pom.xml +++ b/sdnr/northbound/oofpcipoc/provider/pom.xml @@ -26,7 +26,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> <artifactId>binding-parent</artifactId> - <version>2.1.0</version> + <version>2.1.1-SNAPSHOT</version> <relativePath/> </parent> @@ -55,8 +55,12 @@ <version>${project.version}</version> </dependency> <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>sal-binding-api</artifactId> + <groupId>org.opendaylight.mdsal</groupId> + <artifactId>mdsal-binding-api</artifactId> + </dependency> + <dependency> + <groupId>org.opendaylight.mdsal</groupId> + <artifactId>mdsal-dom-api</artifactId> </dependency> <dependency> <groupId>org.onap.ccsdk.sli.core</groupId> @@ -69,20 +73,8 @@ <scope>provided</scope> </dependency> <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>sal-test-model</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>sal-binding-broker-impl</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>sal-binding-broker-impl</artifactId> - <type>test-jar</type> - <classifier>tests</classifier> + <groupId>org.opendaylight.mdsal</groupId> + <artifactId>mdsal-binding-test-model</artifactId> <scope>test</scope> </dependency> <dependency> @@ -101,14 +93,6 @@ <scope>test</scope> </dependency> <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>sal-common-util</artifactId> - </dependency> - <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>sal-core-api</artifactId> - </dependency> - <dependency> <groupId>org.opendaylight.yangtools</groupId> <artifactId>yang-data-impl</artifactId> </dependency> diff --git a/sdnr/northbound/oofpcipoc/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/OofpcipocProvider.java b/sdnr/northbound/oofpcipoc/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/OofpcipocProvider.java index f0749fbee..6bfa74eea 100644 --- a/sdnr/northbound/oofpcipoc/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/OofpcipocProvider.java +++ b/sdnr/northbound/oofpcipoc/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/OofpcipocProvider.java @@ -19,131 +19,127 @@ * ============LICENSE_END========================================================= */ - package org.onap.ccsdk.features.sdnr.northbound.oofpcipoc; +package org.onap.ccsdk.features.sdnr.northbound.oofpcipoc; import java.util.Properties; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import org.onap.ccsdk.sli.core.sli.provider.MdsalHelper; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService; -import org.opendaylight.controller.sal.binding.api.BindingAwareBroker; -import org.opendaylight.controller.sal.binding.api.NotificationProviderService; -import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; -import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.RpcRegistration; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.NotificationPublishService; +import org.opendaylight.mdsal.binding.api.RpcProviderService; import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev190308.*; - -import com.google.common.base.Preconditions; +import org.opendaylight.yangtools.concepts.ObjectRegistration; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.base.Preconditions; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; /** - * Defines a base implementation for your provider. This class extends from a helper class - * which provides storage for the most commonly used components of the MD-SAL. Additionally the - * base class provides some basic logging and initialization / clean up methods. + * Defines a base implementation for your provider. This class extends from a + * helper class which provides storage for the most commonly used components of + * the MD-SAL. Additionally the base class provides some basic logging and + * initialization / clean up methods. * */ public class OofpcipocProvider implements AutoCloseable, OofpcipocApiService { - private static final Logger LOG = LoggerFactory.getLogger(OofpcipocProvider.class); + private static final Logger LOG = LoggerFactory.getLogger(OofpcipocProvider.class); + + private static final String APPLICATION_NAME = "oofpcipoc-api"; - private static final String APPLICATION_NAME = "oofpcipoc-api"; + private final ExecutorService executor; - private final ExecutorService executor; + private DataBroker dataBroker; + private NotificationPublishService notificationService; + private RpcProviderService rpcProviderService; + private ObjectRegistration<OofpcipocProvider> rpcRegistration; + private OofpcipocClient OofpcipocClient; - protected DataBroker dataBroker; - protected NotificationPublishService notificationService; - protected RpcProviderRegistry rpcRegistry; - protected BindingAwareBroker.RpcRegistration<OofpcipocApiService> rpcRegistration; - private final OofpcipocClient OofpcipocClient; + public OofpcipocProvider() { + LOG.info("Creating provider for {}", APPLICATION_NAME); + executor = Executors.newFixedThreadPool(1); + this.dataBroker = null; + this.notificationService = null; + this.rpcProviderService = null; + this.OofpcipocClient = null; + } + + public void setDataBroker(DataBroker dataBroker) { + this.dataBroker = dataBroker; + } - public OofpcipocProvider(final DataBroker dataBroker, - final NotificationPublishService notificationPublishService, - final RpcProviderRegistry rpcProviderRegistry, - final OofpcipocClient OofpcipocClient) { + public void setRpcProviderService(RpcProviderService rpcProviderRegistry) { + this.rpcProviderService = rpcProviderRegistry; + } - this.LOG.info( "Creating provider for {}", APPLICATION_NAME); - executor = Executors.newFixedThreadPool(1); - this.dataBroker = dataBroker; - this.notificationService = notificationPublishService; - this.rpcRegistry = rpcProviderRegistry; - this.OofpcipocClient = OofpcipocClient; - initialize(); - } + public void setNotificationPublishService(NotificationPublishService notificationPublishService) { + this.notificationService = notificationPublishService; + } - public void initialize(){ - LOG.info( "Initializing provider for {}", APPLICATION_NAME); - rpcRegistration = rpcRegistry.addRpcImplementation(OofpcipocApiService.class, this); - LOG.info( "Initialization complete for {}", APPLICATION_NAME); - } + public void setClient(OofpcipocClient client) { + this.OofpcipocClient = client; + } - protected void initializeChild() { - //Override if you have custom initialization intelligence - } + public void init() { + LOG.info("Initializing provider for {}", APPLICATION_NAME); + rpcRegistration = rpcProviderService.registerRpcImplementation(OofpcipocApiService.class, this); + LOG.info("Initialization complete for {}", APPLICATION_NAME); + } - @Override - public void close() throws Exception { - LOG.info( "Closing provider for {}", APPLICATION_NAME); - executor.shutdown(); - rpcRegistration.close(); - LOG.info( "Successfully closed provider for {}", APPLICATION_NAME); - } + @Override + public void close() throws Exception { + LOG.info("Closing provider for {}", APPLICATION_NAME); + executor.shutdown(); + if (rpcRegistration != null) + rpcRegistration.close(); + LOG.info("Successfully closed provider for {}", APPLICATION_NAME); + } @Override - public ListenableFuture<RpcResult<GreetingOutput>> greeting( - GreetingInput input) { + public ListenableFuture<RpcResult<GreetingOutput>> greeting(GreetingInput input) { final String svcOperation = "greeting"; Properties parms = new Properties(); GreetingOutputBuilder serviceDataBuilder = new GreetingOutputBuilder(); - LOG.info( "Reached RPC greeting"); + LOG.info("Reached RPC greeting"); - LOG.info( svcOperation +" called." ); + LOG.info(svcOperation + " called."); - if(input == null ) { - LOG.debug("exiting " +svcOperation+ " because of invalid input"); + if (input == null) { + LOG.debug("exiting " + svcOperation + " because of invalid input"); serviceDataBuilder.setResponse("Input is null"); - RpcResult<GreetingOutput> rpcResult = - RpcResultBuilder.<GreetingOutput> status(true).withResult(serviceDataBuilder.build()).build(); + RpcResult<GreetingOutput> rpcResult = RpcResultBuilder.<GreetingOutput>status(true) + .withResult(serviceDataBuilder.build()).build(); return Futures.immediateFuture(rpcResult); } // add input to parms - LOG.info("Adding INPUT data for "+svcOperation+" input: " + input); + LOG.info("Adding INPUT data for " + svcOperation + " input: " + input); GreetingInputBuilder inputBuilder = new GreetingInputBuilder(input); MdsalHelper.toProperties(parms, inputBuilder.build()); // Call SLI sync method - try - { - if (OofpcipocClient.hasGraph("oofpcipoc-api", svcOperation , null, "sync")) - { - LOG.info( "OofpcipocClient has a Directed Graph for '" + svcOperation + "'"); - try - { - OofpcipocClient.execute("oofpcipoc-api", svcOperation, null, "sync", serviceDataBuilder, parms); - } - catch (Exception e) - { - LOG.error("Caught exception executing service logic for "+ svcOperation, e); + try { + if (OofpcipocClient.hasGraph("oofpcipoc-api", svcOperation, null, "sync")) { + LOG.info("OofpcipocClient has a Directed Graph for '" + svcOperation + "'"); + try { + OofpcipocClient.execute("oofpcipoc-api", svcOperation, null, "sync", serviceDataBuilder, parms); + } catch (Exception e) { + LOG.error("Caught exception executing service logic for " + svcOperation, e); serviceDataBuilder.setResponse("500"); } } else { LOG.error("No service logic active for Oofpcipoc: '" + svcOperation + "'"); serviceDataBuilder.setResponse("503"); } - } - catch (Exception e) - { + } catch (Exception e) { LOG.error("Caught exception looking for service logic", e); serviceDataBuilder.setResponse("500"); } @@ -151,22 +147,22 @@ public class OofpcipocProvider implements AutoCloseable, OofpcipocApiService { String errorCode = serviceDataBuilder.getResponse(); if (!("0".equals(errorCode) || "200".equals(errorCode))) { - LOG.error("Returned FAILED for "+svcOperation+" error code: '" + errorCode + "'"); + LOG.error("Returned FAILED for " + svcOperation + " error code: '" + errorCode + "'"); } else { - LOG.info("Returned SUCCESS for "+svcOperation+" "); - serviceDataBuilder.setResponse("Welcome OOF POC " + input.getSalutation()); + LOG.info("Returned SUCCESS for " + svcOperation + " "); + serviceDataBuilder.setResponse("Welcome OOF POC " + input.getSalutation()); } - RpcResult<GreetingOutput> rpcResult = - RpcResultBuilder.<GreetingOutput> status(true).withResult(serviceDataBuilder.build()).build(); + RpcResult<GreetingOutput> rpcResult = RpcResultBuilder.<GreetingOutput>status(true) + .withResult(serviceDataBuilder.build()).build(); - LOG.info("Successful exit from greeting "); + LOG.info("Successful exit from greeting "); return Futures.immediateFuture(rpcResult); } // RPC configuration-phy-cell-id - @Override + @Override public ListenableFuture<RpcResult<ConfigurationPhyCellIdOutput>> configurationPhyCellId( ConfigurationPhyCellIdInput input) { final String svcOperation = "configuration-phy-cell-id"; @@ -174,47 +170,164 @@ public class OofpcipocProvider implements AutoCloseable, OofpcipocApiService { Properties parms = new Properties(); ConfigurationPhyCellIdOutputBuilder serviceDataBuilder = new ConfigurationPhyCellIdOutputBuilder(); - LOG.info( "Reached RPC configurationPhyCellId"); + LOG.info("Reached RPC configurationPhyCellId"); - LOG.info( svcOperation +" called." ); + LOG.info(svcOperation + " called."); - if(input == null ) { - LOG.debug("exiting " +svcOperation+ " because of invalid input"); + if (input == null) { + LOG.debug("exiting " + svcOperation + " because of invalid input"); serviceDataBuilder.setResponseCode("Input is null"); - RpcResult<ConfigurationPhyCellIdOutput> rpcResult = - RpcResultBuilder.<ConfigurationPhyCellIdOutput> status(true).withResult(serviceDataBuilder.build()).build(); + RpcResult<ConfigurationPhyCellIdOutput> rpcResult = RpcResultBuilder + .<ConfigurationPhyCellIdOutput>status(true).withResult(serviceDataBuilder.build()).build(); return Futures.immediateFuture(rpcResult); } // add input to parms - LOG.info("Adding INPUT data for "+svcOperation+" input: " + input); + LOG.info("Adding INPUT data for " + svcOperation + " input: " + input); ConfigurationPhyCellIdInputBuilder inputBuilder = new ConfigurationPhyCellIdInputBuilder(input); MdsalHelper.toProperties(parms, inputBuilder.build()); // Call SLI sync method - try - { + try { - if (OofpcipocClient.hasGraph("oofpcipoc-api", svcOperation , null, "sync")) - { - LOG.info( "OofpcipocClient has a Directed Graph for '" + svcOperation + "'"); + if (OofpcipocClient.hasGraph("oofpcipoc-api", svcOperation, null, "sync")) { + LOG.info("OofpcipocClient has a Directed Graph for '" + svcOperation + "'"); - try - { + try { OofpcipocClient.execute("oofpcipoc-api", svcOperation, null, "sync", serviceDataBuilder, parms); + } catch (Exception e) { + LOG.error("Caught exception executing service logic for " + svcOperation, e); + serviceDataBuilder.setResponseCode("500"); } - catch (Exception e) - { - LOG.error("Caught exception executing service logic for "+ svcOperation, e); + } else { + LOG.error("No service logic active for Oofpcipoc: '" + svcOperation + "'"); + serviceDataBuilder.setResponseCode("503"); + } + } catch (Exception e) { + LOG.error("Caught exception looking for service logic", e); + serviceDataBuilder.setResponseCode("500"); + } + + String errorCode = serviceDataBuilder.getResponseCode(); + + if (!("0".equals(errorCode) || "200".equals(errorCode))) { + LOG.error("Returned FAILED for " + svcOperation + " error code: '" + errorCode + "'"); + } else { + LOG.info("Returned SUCCESS for " + svcOperation + " "); + serviceDataBuilder + .setResponseCode("Welcome OOF POC. Number of FAP entries " + input.getFapServiceNumberOfEntries()); + } + + RpcResult<ConfigurationPhyCellIdOutput> rpcResult = RpcResultBuilder.<ConfigurationPhyCellIdOutput>status(true) + .withResult(serviceDataBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + // RPC add-neighbor + @Override + public ListenableFuture<RpcResult<AddNeighborOutput>> addNeighbor(AddNeighborInput input) { + final String svcOperation = "add-neighbor"; + + Properties parms = new Properties(); + AddNeighborOutputBuilder serviceDataBuilder = new AddNeighborOutputBuilder(); + + LOG.info("Reached RPC addNeighbor"); + + LOG.info(svcOperation + " called."); + + if (input == null) { + LOG.debug("exiting " + svcOperation + " because of invalid input"); + serviceDataBuilder.setResponseCode("Input is null"); + RpcResult<AddNeighborOutput> rpcResult = RpcResultBuilder.<AddNeighborOutput>status(true) + .withResult(serviceDataBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + + // add input to parms + LOG.info("Adding INPUT data for " + svcOperation + " input: " + input); + AddNeighborInputBuilder inputBuilder = new AddNeighborInputBuilder(input); + MdsalHelper.toProperties(parms, inputBuilder.build()); + + // Call SLI sync method + try { + + if (OofpcipocClient.hasGraph("oofpcipoc-api", svcOperation, null, "sync")) { + LOG.info("OofpcipocClient has a Directed Graph for '" + svcOperation + "'"); + + try { + OofpcipocClient.execute("oofpcipoc-api", svcOperation, null, "sync", serviceDataBuilder, parms); + } catch (Exception e) { + LOG.error("Caught exception executing service logic for " + svcOperation, e); serviceDataBuilder.setResponseCode("500"); } } else { LOG.error("No service logic active for Oofpcipoc: '" + svcOperation + "'"); serviceDataBuilder.setResponseCode("503"); } + } catch (Exception e) { + LOG.error("Caught exception looking for service logic", e); + serviceDataBuilder.setResponseCode("500"); + } + + String errorCode = serviceDataBuilder.getResponseCode(); + + if (!("0".equals(errorCode) || "200".equals(errorCode))) { + LOG.error("Returned FAILED for " + svcOperation + " error code: '" + errorCode + "'"); + } else { + LOG.info("Returned SUCCESS for " + svcOperation + " "); + serviceDataBuilder.setResponseCode( + "Welcome OOF POC. Number of Neighbor entries to be added " + input.getLteCellNumberOfEntries()); + } + + RpcResult<AddNeighborOutput> rpcResult = RpcResultBuilder.<AddNeighborOutput>status(true) + .withResult(serviceDataBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + // RPC delete-neighbor + @Override + public ListenableFuture<RpcResult<DeleteNeighborOutput>> deleteNeighbor(DeleteNeighborInput input) { + final String svcOperation = "delete-neighbor"; + + Properties parms = new Properties(); + DeleteNeighborOutputBuilder serviceDataBuilder = new DeleteNeighborOutputBuilder(); + + LOG.info("Reached RPC deleteNeighbor"); + + LOG.info(svcOperation + " called."); + + if (input == null) { + LOG.debug("exiting " + svcOperation + " because of invalid input"); + serviceDataBuilder.setResponseCode("Input is null"); + RpcResult<DeleteNeighborOutput> rpcResult = RpcResultBuilder.<DeleteNeighborOutput>status(true) + .withResult(serviceDataBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); } - catch (Exception e) - { + + // add input to parms + LOG.info("Adding INPUT data for " + svcOperation + " input: " + input); + DeleteNeighborInputBuilder inputBuilder = new DeleteNeighborInputBuilder(input); + MdsalHelper.toProperties(parms, inputBuilder.build()); + + // Call SLI sync method + try { + + if (OofpcipocClient.hasGraph("oofpcipoc-api", svcOperation, null, "sync")) { + LOG.info("OofpcipocClient has a Directed Graph for '" + svcOperation + "'"); + + try { + OofpcipocClient.execute("oofpcipoc-api", svcOperation, null, "sync", serviceDataBuilder, parms); + } catch (Exception e) { + LOG.error("Caught exception executing service logic for " + svcOperation, e); + serviceDataBuilder.setResponseCode("500"); + } + } else { + LOG.error("No service logic active for Oofpcipoc: '" + svcOperation + "'"); + serviceDataBuilder.setResponseCode("503"); + } + } catch (Exception e) { LOG.error("Caught exception looking for service logic", e); serviceDataBuilder.setResponseCode("500"); } @@ -222,292 +335,143 @@ public class OofpcipocProvider implements AutoCloseable, OofpcipocApiService { String errorCode = serviceDataBuilder.getResponseCode(); if (!("0".equals(errorCode) || "200".equals(errorCode))) { - LOG.error("Returned FAILED for "+svcOperation+" error code: '" + errorCode + "'"); + LOG.error("Returned FAILED for " + svcOperation + " error code: '" + errorCode + "'"); } else { - LOG.info("Returned SUCCESS for "+svcOperation+" "); - serviceDataBuilder.setResponseCode("Welcome OOF POC. Number of FAP entries " + input.getFapServiceNumberOfEntries()); + LOG.info("Returned SUCCESS for " + svcOperation + " "); + serviceDataBuilder.setResponseCode( + "Welcome OOF POC. Number of Neighbor entries to be deleted " + input.getLteCellNumberOfEntries()); } - RpcResult<ConfigurationPhyCellIdOutput> rpcResult = - RpcResultBuilder.<ConfigurationPhyCellIdOutput> status(true).withResult(serviceDataBuilder.build()).build(); + RpcResult<DeleteNeighborOutput> rpcResult = RpcResultBuilder.<DeleteNeighborOutput>status(true) + .withResult(serviceDataBuilder.build()).build(); return Futures.immediateFuture(rpcResult); } - // RPC add-neighbor - @Override - public ListenableFuture<RpcResult<AddNeighborOutput>> addNeighbor( - AddNeighborInput input) { - final String svcOperation = "add-neighbor"; - - Properties parms = new Properties(); - AddNeighborOutputBuilder serviceDataBuilder = new AddNeighborOutputBuilder(); - - LOG.info( "Reached RPC addNeighbor"); - - LOG.info( svcOperation +" called." ); - - if(input == null ) { - LOG.debug("exiting " +svcOperation+ " because of invalid input"); - serviceDataBuilder.setResponseCode("Input is null"); - RpcResult<AddNeighborOutput> rpcResult = - RpcResultBuilder.<AddNeighborOutput> status(true).withResult(serviceDataBuilder.build()).build(); - return Futures.immediateFuture(rpcResult); - } - - // add input to parms - LOG.info("Adding INPUT data for "+svcOperation+" input: " + input); - AddNeighborInputBuilder inputBuilder = new AddNeighborInputBuilder(input); - MdsalHelper.toProperties(parms, inputBuilder.build()); - - // Call SLI sync method - try - { - - if (OofpcipocClient.hasGraph("oofpcipoc-api", svcOperation , null, "sync")) - { - LOG.info( "OofpcipocClient has a Directed Graph for '" + svcOperation + "'"); - - try - { - OofpcipocClient.execute("oofpcipoc-api", svcOperation, null, "sync", serviceDataBuilder, parms); - } - catch (Exception e) - { - LOG.error("Caught exception executing service logic for "+ svcOperation, e); - serviceDataBuilder.setResponseCode("500"); - } - } else { - LOG.error("No service logic active for Oofpcipoc: '" + svcOperation + "'"); - serviceDataBuilder.setResponseCode("503"); - } - } - catch (Exception e) - { - LOG.error("Caught exception looking for service logic", e); - serviceDataBuilder.setResponseCode("500"); - } - - String errorCode = serviceDataBuilder.getResponseCode(); - - if (!("0".equals(errorCode) || "200".equals(errorCode))) { - LOG.error("Returned FAILED for "+svcOperation+" error code: '" + errorCode + "'"); - } else { - LOG.info("Returned SUCCESS for "+svcOperation+" "); - serviceDataBuilder.setResponseCode("Welcome OOF POC. Number of Neighbor entries to be added " + input.getLteCellNumberOfEntries()); - } - - RpcResult<AddNeighborOutput> rpcResult = - RpcResultBuilder.<AddNeighborOutput> status(true).withResult(serviceDataBuilder.build()).build(); - - return Futures.immediateFuture(rpcResult); - } - - // RPC delete-neighbor - @Override - public ListenableFuture<RpcResult<DeleteNeighborOutput>> deleteNeighbor( - DeleteNeighborInput input) { - final String svcOperation = "delete-neighbor"; - - Properties parms = new Properties(); - DeleteNeighborOutputBuilder serviceDataBuilder = new DeleteNeighborOutputBuilder(); - - LOG.info( "Reached RPC deleteNeighbor"); - - LOG.info( svcOperation +" called." ); - - if(input == null ) { - LOG.debug("exiting " +svcOperation+ " because of invalid input"); - serviceDataBuilder.setResponseCode("Input is null"); - RpcResult<DeleteNeighborOutput> rpcResult = - RpcResultBuilder.<DeleteNeighborOutput> status(true).withResult(serviceDataBuilder.build()).build(); - return Futures.immediateFuture(rpcResult); - } - - // add input to parms - LOG.info("Adding INPUT data for "+svcOperation+" input: " + input); - DeleteNeighborInputBuilder inputBuilder = new DeleteNeighborInputBuilder(input); - MdsalHelper.toProperties(parms, inputBuilder.build()); - - // Call SLI sync method - try - { - - if (OofpcipocClient.hasGraph("oofpcipoc-api", svcOperation , null, "sync")) - { - LOG.info( "OofpcipocClient has a Directed Graph for '" + svcOperation + "'"); - - try - { - OofpcipocClient.execute("oofpcipoc-api", svcOperation, null, "sync", serviceDataBuilder, parms); - } - catch (Exception e) - { - LOG.error("Caught exception executing service logic for "+ svcOperation, e); - serviceDataBuilder.setResponseCode("500"); - } - } else { - LOG.error("No service logic active for Oofpcipoc: '" + svcOperation + "'"); - serviceDataBuilder.setResponseCode("503"); - } - } - catch (Exception e) - { - LOG.error("Caught exception looking for service logic", e); - serviceDataBuilder.setResponseCode("500"); - } - - String errorCode = serviceDataBuilder.getResponseCode(); - - if (!("0".equals(errorCode) || "200".equals(errorCode))) { - LOG.error("Returned FAILED for "+svcOperation+" error code: '" + errorCode + "'"); - } else { - LOG.info("Returned SUCCESS for "+svcOperation+" "); - serviceDataBuilder.setResponseCode("Welcome OOF POC. Number of Neighbor entries to be deleted " + input.getLteCellNumberOfEntries()); - } - - RpcResult<DeleteNeighborOutput> rpcResult = - RpcResultBuilder.<DeleteNeighborOutput> status(true).withResult(serviceDataBuilder.build()).build(); - - return Futures.immediateFuture(rpcResult); - } - - // RPC generic-neighbor-configuration - @Override - public ListenableFuture<RpcResult<GenericNeighborConfigurationOutput>> genericNeighborConfiguration( - GenericNeighborConfigurationInput input) { - final String svcOperation = "generic-neighbor-configuration"; - - Properties parms = new Properties(); - GenericNeighborConfigurationOutputBuilder serviceDataBuilder = new GenericNeighborConfigurationOutputBuilder(); - - LOG.info( "Reached RPC genericNeighborConfiguration"); - - LOG.info( svcOperation +" called." ); - - if(input == null ) { - LOG.debug("exiting " +svcOperation+ " because of invalid input"); - serviceDataBuilder.setResponseCode("Input is null"); - RpcResult<GenericNeighborConfigurationOutput> rpcResult = - RpcResultBuilder.<GenericNeighborConfigurationOutput> status(true).withResult(serviceDataBuilder.build()).build(); - return Futures.immediateFuture(rpcResult); - } - - // add input to parms - LOG.info("Adding INPUT data for "+svcOperation+" input: " + input); - GenericNeighborConfigurationInputBuilder inputBuilder = new GenericNeighborConfigurationInputBuilder(input); - MdsalHelper.toProperties(parms, inputBuilder.build()); - - // Call SLI sync method - try - { - - if (OofpcipocClient.hasGraph("oofpcipoc-api", svcOperation , null, "sync")) - { - LOG.info( "OofpcipocClient has a Directed Graph for '" + svcOperation + "'"); - - try - { - OofpcipocClient.execute("oofpcipoc-api", svcOperation, null, "sync", serviceDataBuilder, parms); - } - catch (Exception e) - { - LOG.error("Caught exception executing service logic for "+ svcOperation, e); - serviceDataBuilder.setResponseCode("500"); - } - } else { - LOG.error("No service logic active for Oofpcipoc: '" + svcOperation + "'"); - serviceDataBuilder.setResponseCode("503"); - } - } - catch (Exception e) - { - LOG.error("Caught exception looking for service logic", e); - serviceDataBuilder.setResponseCode("500"); - } - - String errorCode = serviceDataBuilder.getResponseCode(); - - if (!("0".equals(errorCode) || "200".equals(errorCode))) { - LOG.error("Returned FAILED for "+svcOperation+" error code: '" + errorCode + "'"); - } else { - LOG.info("Returned SUCCESS for "+svcOperation+" "); - serviceDataBuilder.setResponseCode("Welcome OOF POC. Number of Neighbor entries to be configured " + input.getLteCellNumberOfEntries()); - } - - RpcResult<GenericNeighborConfigurationOutput> rpcResult = - RpcResultBuilder.<GenericNeighborConfigurationOutput> status(true).withResult(serviceDataBuilder.build()).build(); - - return Futures.immediateFuture(rpcResult); - } - - // RPC handle-nbrlist-change-notif - @Override - public ListenableFuture<RpcResult<HandleNbrlistChangeNotifOutput>> handleNbrlistChangeNotif( - HandleNbrlistChangeNotifInput input) { - final String svcOperation = "handle-nbrlist-change-notif"; - - Properties parms = new Properties(); - HandleNbrlistChangeNotifOutputBuilder serviceDataBuilder = new HandleNbrlistChangeNotifOutputBuilder(); - - LOG.info( "Reached RPC handle-nbrlist-change-notif"); - - LOG.info( svcOperation +" called." ); - - if(input == null ) { - LOG.debug("exiting " +svcOperation+ " because of invalid input"); - serviceDataBuilder.setResponseCode("Input is null"); - RpcResult<HandleNbrlistChangeNotifOutput> rpcResult = - RpcResultBuilder.<HandleNbrlistChangeNotifOutput> status(true).withResult(serviceDataBuilder.build()).build(); - return Futures.immediateFuture(rpcResult); - } - - // add input to parms - LOG.info("Adding INPUT data for "+svcOperation+" input: " + input); - HandleNbrlistChangeNotifInputBuilder inputBuilder = new HandleNbrlistChangeNotifInputBuilder(input); - MdsalHelper.toProperties(parms, inputBuilder.build()); - - // Call SLI sync method - try - { - if (OofpcipocClient.hasGraph("oofpcipoc-api", svcOperation , null, "sync")) - { - LOG.info( "OofpcipocClient has a Directed Graph for '" + svcOperation + "'"); - try - { - OofpcipocClient.execute("oofpcipoc-api", svcOperation, null, "sync", serviceDataBuilder, parms); - } - catch (Exception e) - { - LOG.error("Caught exception executing service logic for "+ svcOperation, e); - serviceDataBuilder.setResponseCode("500"); - } - } else { - LOG.error("No service logic active for Oofpcipoc: '" + svcOperation + "'"); - serviceDataBuilder.setResponseCode("503"); - } - } - catch (Exception e) - { - LOG.error("Caught exception looking for service logic", e); - serviceDataBuilder.setResponseCode("500"); - } - - String errorCode = serviceDataBuilder.getResponseCode(); - - if (!("0".equals(errorCode) || "200".equals(errorCode))) { - LOG.error("Returned FAILED for "+svcOperation+" error code: '" + errorCode + "'"); - } else { - LOG.info("Returned SUCCESS for "+svcOperation+" "); - serviceDataBuilder.setResponseCode("Welcome OOF POC. Number of FAP services changed = " + input.getFapServiceNumberOfEntriesChanged()); - } - - RpcResult<HandleNbrlistChangeNotifOutput> rpcResult = - RpcResultBuilder.<HandleNbrlistChangeNotifOutput> status(true).withResult(serviceDataBuilder.build()).build(); - - LOG.info("Successful exit from handle-nbrlist-change-notif "); - - return Futures.immediateFuture(rpcResult); - } + // RPC generic-neighbor-configuration + @Override + public ListenableFuture<RpcResult<GenericNeighborConfigurationOutput>> genericNeighborConfiguration( + GenericNeighborConfigurationInput input) { + final String svcOperation = "generic-neighbor-configuration"; + + Properties parms = new Properties(); + GenericNeighborConfigurationOutputBuilder serviceDataBuilder = new GenericNeighborConfigurationOutputBuilder(); + + LOG.info("Reached RPC genericNeighborConfiguration"); + + LOG.info(svcOperation + " called."); + + if (input == null) { + LOG.debug("exiting " + svcOperation + " because of invalid input"); + serviceDataBuilder.setResponseCode("Input is null"); + RpcResult<GenericNeighborConfigurationOutput> rpcResult = RpcResultBuilder + .<GenericNeighborConfigurationOutput>status(true).withResult(serviceDataBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + + // add input to parms + LOG.info("Adding INPUT data for " + svcOperation + " input: " + input); + GenericNeighborConfigurationInputBuilder inputBuilder = new GenericNeighborConfigurationInputBuilder(input); + MdsalHelper.toProperties(parms, inputBuilder.build()); + + // Call SLI sync method + try { + + if (OofpcipocClient.hasGraph("oofpcipoc-api", svcOperation, null, "sync")) { + LOG.info("OofpcipocClient has a Directed Graph for '" + svcOperation + "'"); + + try { + OofpcipocClient.execute("oofpcipoc-api", svcOperation, null, "sync", serviceDataBuilder, parms); + } catch (Exception e) { + LOG.error("Caught exception executing service logic for " + svcOperation, e); + serviceDataBuilder.setResponseCode("500"); + } + } else { + LOG.error("No service logic active for Oofpcipoc: '" + svcOperation + "'"); + serviceDataBuilder.setResponseCode("503"); + } + } catch (Exception e) { + LOG.error("Caught exception looking for service logic", e); + serviceDataBuilder.setResponseCode("500"); + } + + String errorCode = serviceDataBuilder.getResponseCode(); + + if (!("0".equals(errorCode) || "200".equals(errorCode))) { + LOG.error("Returned FAILED for " + svcOperation + " error code: '" + errorCode + "'"); + } else { + LOG.info("Returned SUCCESS for " + svcOperation + " "); + serviceDataBuilder.setResponseCode("Welcome OOF POC. Number of Neighbor entries to be configured " + + input.getLteCellNumberOfEntries()); + } + + RpcResult<GenericNeighborConfigurationOutput> rpcResult = RpcResultBuilder + .<GenericNeighborConfigurationOutput>status(true).withResult(serviceDataBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + // RPC handle-nbrlist-change-notif + @Override + public ListenableFuture<RpcResult<HandleNbrlistChangeNotifOutput>> handleNbrlistChangeNotif( + HandleNbrlistChangeNotifInput input) { + final String svcOperation = "handle-nbrlist-change-notif"; + + Properties parms = new Properties(); + HandleNbrlistChangeNotifOutputBuilder serviceDataBuilder = new HandleNbrlistChangeNotifOutputBuilder(); + + LOG.info("Reached RPC handle-nbrlist-change-notif"); + + LOG.info(svcOperation + " called."); + + if (input == null) { + LOG.debug("exiting " + svcOperation + " because of invalid input"); + serviceDataBuilder.setResponseCode("Input is null"); + RpcResult<HandleNbrlistChangeNotifOutput> rpcResult = RpcResultBuilder + .<HandleNbrlistChangeNotifOutput>status(true).withResult(serviceDataBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + + // add input to parms + LOG.info("Adding INPUT data for " + svcOperation + " input: " + input); + HandleNbrlistChangeNotifInputBuilder inputBuilder = new HandleNbrlistChangeNotifInputBuilder(input); + MdsalHelper.toProperties(parms, inputBuilder.build()); + + // Call SLI sync method + try { + if (OofpcipocClient.hasGraph("oofpcipoc-api", svcOperation, null, "sync")) { + LOG.info("OofpcipocClient has a Directed Graph for '" + svcOperation + "'"); + try { + OofpcipocClient.execute("oofpcipoc-api", svcOperation, null, "sync", serviceDataBuilder, parms); + } catch (Exception e) { + LOG.error("Caught exception executing service logic for " + svcOperation, e); + serviceDataBuilder.setResponseCode("500"); + } + } else { + LOG.error("No service logic active for Oofpcipoc: '" + svcOperation + "'"); + serviceDataBuilder.setResponseCode("503"); + } + } catch (Exception e) { + LOG.error("Caught exception looking for service logic", e); + serviceDataBuilder.setResponseCode("500"); + } + + String errorCode = serviceDataBuilder.getResponseCode(); + + if (!("0".equals(errorCode) || "200".equals(errorCode))) { + LOG.error("Returned FAILED for " + svcOperation + " error code: '" + errorCode + "'"); + } else { + LOG.info("Returned SUCCESS for " + svcOperation + " "); + serviceDataBuilder.setResponseCode( + "Welcome OOF POC. Number of FAP services changed = " + input.getFapServiceNumberOfEntriesChanged()); + } + + RpcResult<HandleNbrlistChangeNotifOutput> rpcResult = RpcResultBuilder + .<HandleNbrlistChangeNotifOutput>status(true).withResult(serviceDataBuilder.build()).build(); + + LOG.info("Successful exit from handle-nbrlist-change-notif "); + + return Futures.immediateFuture(rpcResult); + } } diff --git a/sdnr/northbound/oofpcipoc/provider/src/main/resources/OSGI-INF/blueprint/impl-blueprint.xml b/sdnr/northbound/oofpcipoc/provider/src/main/resources/OSGI-INF/blueprint/impl-blueprint.xml deleted file mode 100644 index d62c2f797..000000000 --- a/sdnr/northbound/oofpcipoc/provider/src/main/resources/OSGI-INF/blueprint/impl-blueprint.xml +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ ============LICENSE_START======================================================= - ~ ONAP : ccsdk features - ~ ================================================================================ - ~ 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======================================================= - ~ - --> - -<blueprint xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0" - xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" odl:use-default-for-reference-types="true"> - - <reference id="svcLogicService" - interface="org.onap.ccsdk.sli.core.sli.provider.SvcLogicService"/> - - <bean id="client" class="org.onap.ccsdk.features.sdnr.northbound.oofpcipoc.OofpcipocClient"> - <argument ref="svcLogicService"/> - </bean> - - <reference id="dataBroker" interface="org.opendaylight.controller.md.sal.binding.api.DataBroker" - odl:type="default"/> - - <reference id="notificationService" - interface="org.opendaylight.controller.md.sal.binding.api.NotificationPublishService" - odl:type="default"/> - - <reference id="rpcRegistry" interface="org.opendaylight.controller.sal.binding.api.RpcProviderRegistry" - odl:type="default"/> - - <bean id="provider" class="org.onap.ccsdk.features.sdnr.northbound.oofpcipoc.OofpcipocProvider"> - <argument ref="dataBroker"/> - <argument ref="rpcRegistry"/> - <argument ref="notificationService"/> - <argument ref="client"/> - </bean> - -</blueprint> diff --git a/sdnr/northbound/oofpcipoc/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml b/sdnr/northbound/oofpcipoc/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml index d62c2f797..a02e4a4cd 100644 --- a/sdnr/northbound/oofpcipoc/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml +++ b/sdnr/northbound/oofpcipoc/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml @@ -1,50 +1,46 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ ============LICENSE_START======================================================= - ~ ONAP : ccsdk features - ~ ================================================================================ - ~ 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======================================================= - ~ - --> - -<blueprint xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0" - xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" odl:use-default-for-reference-types="true"> - - <reference id="svcLogicService" - interface="org.onap.ccsdk.sli.core.sli.provider.SvcLogicService"/> - - <bean id="client" class="org.onap.ccsdk.features.sdnr.northbound.oofpcipoc.OofpcipocClient"> - <argument ref="svcLogicService"/> - </bean> - - <reference id="dataBroker" interface="org.opendaylight.controller.md.sal.binding.api.DataBroker" - odl:type="default"/> - - <reference id="notificationService" - interface="org.opendaylight.controller.md.sal.binding.api.NotificationPublishService" - odl:type="default"/> - - <reference id="rpcRegistry" interface="org.opendaylight.controller.sal.binding.api.RpcProviderRegistry" - odl:type="default"/> - - <bean id="provider" class="org.onap.ccsdk.features.sdnr.northbound.oofpcipoc.OofpcipocProvider"> - <argument ref="dataBroker"/> - <argument ref="rpcRegistry"/> - <argument ref="notificationService"/> - <argument ref="client"/> - </bean> +<!-- ~ ============LICENSE_START======================================================= + ~ ONAP : ccsdk features ~ ================================================================================ + ~ 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======================================================= + ~ --> + +<blueprint + xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0" + xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" + odl:use-default-for-reference-types="true"> + + <reference id="svcLogicService" + interface="org.onap.ccsdk.sli.core.sli.provider.SvcLogicService" /> + + <bean id="client" + class="org.onap.ccsdk.features.sdnr.northbound.oofpcipoc.OofpcipocClient"> + <argument ref="svcLogicService" /> + </bean> + + <reference id="dataBroker" + interface="org.opendaylight.mdsal.binding.api.DataBroker"/> + + <reference id="rpcProviderService" + interface="org.opendaylight.mdsal.binding.api.RpcProviderService" /> + + <reference id="notificationPublishService" + interface="org.opendaylight.mdsal.binding.api.NotificationPublishService" /> + + <bean id="provider" + class="org.onap.ccsdk.features.sdnr.northbound.oofpcipoc.OofpcipocProvider" + init-method="init" destroy-method="close"> + <property name="dataBroker" ref="dataBroker" /> + <property name="rpcProviderService" ref="rpcProviderService" /> + <property name="notificationPublishService" ref="notificationPublishService" /> + <property name="client" ref="client" /> + </bean> </blueprint> diff --git a/sdnr/northbound/oofpcipoc/provider/src/test/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/TestOofpcipoc.java b/sdnr/northbound/oofpcipoc/provider/src/test/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/TestOofpcipoc.java index daa210e4b..597c75cef 100644 --- a/sdnr/northbound/oofpcipoc/provider/src/test/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/TestOofpcipoc.java +++ b/sdnr/northbound/oofpcipoc/provider/src/test/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/TestOofpcipoc.java @@ -24,14 +24,6 @@ package org.onap.ccsdk.features.sdnr.northbound.oofpcipoc; import org.junit.Before; import org.junit.Test; -import org.onap.ccsdk.features.sdnr.northbound.oofpcipoc.OofpcipocClient; -import org.onap.ccsdk.features.sdnr.northbound.oofpcipoc.OofpcipocProvider; - -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService; -import org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest; -import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; - import org.opendaylight.yangtools.yang.common.RpcResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,15 +33,18 @@ import static org.mockito.Mockito.mock; import java.math.*; -import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev190308.ConfigurationPhyCellIdInput; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.NotificationPublishService; +import org.opendaylight.mdsal.binding.api.RpcProviderService; + import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev190308.ConfigurationPhyCellIdInputBuilder; import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev190308.ConfigurationPhyCellIdOutput; -import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev190308.ConfigurationPhyCellIdOutputBuilder; + import com.google.common.util.concurrent.ListenableFuture; -public class TestOofpcipoc extends AbstractConcurrentDataBrokerTest { +public class TestOofpcipoc { private OofpcipocProvider oofpcipocProvider; private static final Logger LOG = LoggerFactory.getLogger(OofpcipocProvider.class); @@ -57,11 +52,15 @@ public class TestOofpcipoc extends AbstractConcurrentDataBrokerTest { @Before public void setUp() throws Exception { if (null == oofpcipocProvider) { - DataBroker dataBroker = getDataBroker(); + DataBroker dataBroker = mock(DataBroker.class); NotificationPublishService mockNotification = mock(NotificationPublishService.class); - RpcProviderRegistry mockRpcRegistry = mock(RpcProviderRegistry.class); + RpcProviderService mockRpcRegistry = mock(RpcProviderService.class); OofpcipocClient mockSliClient = mock(OofpcipocClient.class); - oofpcipocProvider = new OofpcipocProvider(dataBroker, mockNotification, mockRpcRegistry, mockSliClient); + oofpcipocProvider = new OofpcipocProvider(); + oofpcipocProvider.setDataBroker(dataBroker); + oofpcipocProvider.setNotificationPublishService(mockNotification); + oofpcipocProvider.setRpcProviderService(mockRpcRegistry); + oofpcipocProvider.setClient(mockSliClient); } } diff --git a/sdnr/northbound/pom.xml b/sdnr/northbound/pom.xml index 071b5ca57..fa94a96e7 100644 --- a/sdnr/northbound/pom.xml +++ b/sdnr/northbound/pom.xml @@ -29,7 +29,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> <artifactId>odlparent-lite</artifactId> - <version>2.1.0</version> + <version>2.1.1-SNAPSHOT</version> <relativePath/> </parent> diff --git a/sdnr/northbound/ranSlice/feature/pom.xml b/sdnr/northbound/ranSlice/feature/pom.xml index 4ee6e4122..c390455f5 100644 --- a/sdnr/northbound/ranSlice/feature/pom.xml +++ b/sdnr/northbound/ranSlice/feature/pom.xml @@ -26,7 +26,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> <artifactId>single-feature-parent</artifactId> - <version>2.1.0</version> + <version>2.1.1-SNAPSHOT</version> <relativePath/> </parent> diff --git a/sdnr/northbound/ranSlice/installer/pom.xml b/sdnr/northbound/ranSlice/installer/pom.xml index 1fe6d1071..d84c7c52b 100644 --- a/sdnr/northbound/ranSlice/installer/pom.xml +++ b/sdnr/northbound/ranSlice/installer/pom.xml @@ -26,7 +26,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> <artifactId>odlparent-lite</artifactId> - <version>2.1.0</version> + <version>2.1.1-SNAPSHOT</version> <relativePath/> </parent> diff --git a/sdnr/northbound/ranSlice/model/pom.xml b/sdnr/northbound/ranSlice/model/pom.xml index 8de853138..924e4eee2 100644 --- a/sdnr/northbound/ranSlice/model/pom.xml +++ b/sdnr/northbound/ranSlice/model/pom.xml @@ -26,7 +26,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> <artifactId>binding-parent</artifactId> - <version>2.1.0</version> + <version>2.1.1-SNAPSHOT</version> <relativePath/> </parent> diff --git a/sdnr/northbound/ranSlice/pom.xml b/sdnr/northbound/ranSlice/pom.xml index 15071417c..5c4435672 100644 --- a/sdnr/northbound/ranSlice/pom.xml +++ b/sdnr/northbound/ranSlice/pom.xml @@ -26,7 +26,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> <artifactId>odlparent-lite</artifactId> - <version>2.1.0</version> + <version>2.1.1-SNAPSHOT</version> <relativePath/> </parent> diff --git a/sdnr/northbound/ranSlice/provider/pom.xml b/sdnr/northbound/ranSlice/provider/pom.xml index 03563b9cc..a4e068015 100644 --- a/sdnr/northbound/ranSlice/provider/pom.xml +++ b/sdnr/northbound/ranSlice/provider/pom.xml @@ -26,7 +26,7 @@ <parent> <groupId>org.onap.ccsdk.parent</groupId> <artifactId>binding-parent</artifactId> - <version>2.1.0</version> + <version>2.1.1-SNAPSHOT</version> <relativePath/> </parent> @@ -39,14 +39,7 @@ <dependencyManagement> <dependencies> - <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>mdsal-artifacts</artifactId> - <version>1.6.1</version> - <type>pom</type> - <scope>import</scope> - </dependency> - <dependency> + <dependency> <groupId>org.onap.ccsdk.sli.core</groupId> <artifactId>sli-core-artifacts</artifactId> <version>${ccsdk.sli.core.version}</version> @@ -61,27 +54,13 @@ <artifactId>ranSlice-model</artifactId> <version>${project.version}</version> </dependency> - <!-- - <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>sal-binding-config</artifactId> - </dependency> - --> - <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>sal-binding-api</artifactId> - </dependency> - <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>sal-common-util</artifactId> - </dependency> <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>sal-core-api</artifactId> + <groupId>org.opendaylight.mdsal</groupId> + <artifactId>mdsal-binding-api</artifactId> </dependency> <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>sal-binding-broker-impl</artifactId> + <groupId>org.opendaylight.mdsal</groupId> + <artifactId>mdsal-dom-api</artifactId> </dependency> <dependency> <groupId>org.opendaylight.yangtools</groupId> diff --git a/sdnr/northbound/ranSlice/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/ranSlice/RANSliceClient.java b/sdnr/northbound/ranSlice/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/ranSlice/RANSliceClient.java index f3d2a7da7..0b1d8c512 100644 --- a/sdnr/northbound/ranSlice/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/ranSlice/RANSliceClient.java +++ b/sdnr/northbound/ranSlice/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/ranSlice/RANSliceClient.java @@ -27,7 +27,7 @@ import java.util.Properties; import org.onap.ccsdk.sli.core.sli.SvcLogicException; import org.onap.ccsdk.sli.core.sli.provider.SvcLogicService; -import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker; +import org.opendaylight.mdsal.dom.api.DOMDataBroker; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/sdnr/northbound/ranSlice/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/ranSlice/RANSliceProvider.java b/sdnr/northbound/ranSlice/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/ranSlice/RANSliceProvider.java index a88595bfb..fbaab938c 100644 --- a/sdnr/northbound/ranSlice/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/ranSlice/RANSliceProvider.java +++ b/sdnr/northbound/ranSlice/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/ranSlice/RANSliceProvider.java @@ -27,17 +27,15 @@ import java.util.Date; import java.util.Properties; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; -import java.util.concurrent.Future; import org.onap.ccsdk.sli.core.sli.provider.MdsalHelper; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService; -import org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker; -import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker; -import org.opendaylight.controller.sal.binding.api.BindingAwareBroker; -import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.NotificationPublishService; +import org.opendaylight.mdsal.binding.api.RpcProviderService; +import org.opendaylight.mdsal.dom.api.DOMDataBroker; import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev200806.*; import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev200806.common.header.CommonHeaderBuilder; import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev200806.status.StatusBuilder; +import org.opendaylight.yangtools.concepts.ObjectRegistration; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; import org.slf4j.Logger; @@ -46,8 +44,6 @@ import org.slf4j.LoggerFactory; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; -import org.onap.ccsdk.features.sdnr.northbound.ranSlice.RANSliceResponseCode.*; - /** * Defines a base implementation for your provider. This class extends from a * helper class which provides storage for the most commonly used components of @@ -97,43 +93,56 @@ public class RANSliceProvider implements AutoCloseable, RanSliceApiService { protected DataBroker dataBroker; protected DOMDataBroker domDataBroker; protected NotificationPublishService notificationService; - protected RpcProviderRegistry rpcRegistry; - private final RANSliceClient RANSliceClient; + protected RpcProviderService rpcProviderRegistry; + private RANSliceClient RANSliceClient; - protected BindingAwareBroker.RpcRegistration<RanSliceApiService> rpcRegistration; + private ObjectRegistration<RanSliceApiService> rpcRegistration; - public RANSliceProvider(final DataBroker dataBroker, final NotificationPublishService notificationPublishService, - final RpcProviderRegistry rpcProviderRegistry, final RANSliceClient rANSliceClient) { + public RANSliceProvider() { LOG.info("Creating provider for {}", APPLICATION_NAME); executor = Executors.newFixedThreadPool(1); + this.dataBroker = null; + this.domDataBroker = null; + this.notificationService = null; + this.rpcProviderRegistry = null; + this.rpcRegistration = null; + this.RANSliceClient = null; + } + + public void setDataBroker(DataBroker dataBroker) { this.dataBroker = dataBroker; - if (dataBroker instanceof AbstractForwardedDataBroker) { - domDataBroker = ((AbstractForwardedDataBroker) dataBroker).getDelegate(); - } - notificationService = notificationPublishService; - rpcRegistry = rpcProviderRegistry; - this.RANSliceClient = rANSliceClient; - initialize(); } - public void initialize() { - LOG.info("Initializing {} for {}", this.getClass().getName(), APPLICATION_NAME); + public void setDomDataBroker(DOMDataBroker domDataBroker) { + this.domDataBroker = domDataBroker; + } + + public void setRpcProviderRegistry(RpcProviderService rpcProviderRegistry) { + this.rpcProviderRegistry = rpcProviderRegistry; + } + public void setNotificationPublishService(NotificationPublishService notificationPublishService) { + this.notificationService = notificationPublishService; + } + + public void setClient(RANSliceClient client) { + this.RANSliceClient = client; + } + + public void init() { + LOG.info("Initializing {} for {}", this.getClass().getName(), APPLICATION_NAME); + if (rpcRegistration == null) { - if (rpcRegistry != null) { - rpcRegistration = rpcRegistry.addRpcImplementation(RanSliceApiService.class, this); + if (rpcProviderRegistry != null) { + rpcRegistration = rpcProviderRegistry.registerRpcImplementation(RanSliceApiService.class, this); LOG.info("Initialization complete for {}", APPLICATION_NAME); } else { LOG.warn("Error initializing {} : rpcRegistry unset", APPLICATION_NAME); } } } - - protected void initializeChild() { - // Override if you have custom initialization intelligence - } - + @Override public void close() throws Exception { LOG.info("Closing provider for " + APPLICATION_NAME); diff --git a/sdnr/northbound/ranSlice/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/ranSlice/RANSliceResponseCode.java b/sdnr/northbound/ranSlice/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/ranSlice/RANSliceResponseCode.java index 814b27e64..77c09d172 100644 --- a/sdnr/northbound/ranSlice/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/ranSlice/RANSliceResponseCode.java +++ b/sdnr/northbound/ranSlice/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/ranSlice/RANSliceResponseCode.java @@ -1,3 +1,24 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * 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.features.sdnr.northbound.ranSlice; public enum RANSliceResponseCode { diff --git a/sdnr/northbound/ranSlice/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/ranSlice/RANSliceRpcInvocationException.java b/sdnr/northbound/ranSlice/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/ranSlice/RANSliceRpcInvocationException.java index 18b66312d..3e6fcb4ce 100644 --- a/sdnr/northbound/ranSlice/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/ranSlice/RANSliceRpcInvocationException.java +++ b/sdnr/northbound/ranSlice/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/ranSlice/RANSliceRpcInvocationException.java @@ -1,3 +1,24 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * 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.features.sdnr.northbound.ranSlice; import org.onap.ccsdk.sli.core.sli.SvcLogicException; diff --git a/sdnr/northbound/ranSlice/provider/src/main/resources/OSGI-INF/blueprint/impl-blueprint.xml b/sdnr/northbound/ranSlice/provider/src/main/resources/OSGI-INF/blueprint/impl-blueprint.xml deleted file mode 100644 index 57ebfbfcc..000000000 --- a/sdnr/northbound/ranSlice/provider/src/main/resources/OSGI-INF/blueprint/impl-blueprint.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ ============LICENSE_START======================================================= - ~ ONAP : ccsdk features - ~ ================================================================================ - ~ 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======================================================= - ~ - --> - -<blueprint xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0" - xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" odl:use-default-for-reference-types="true"> - - <reference id="svcLogicService" - interface="org.onap.ccsdk.sli.core.sli.provider.SvcLogicService"/> - - <bean id="client" class="org.onap.ccsdk.features.sdnr.northbound.ranSlice.RANSliceClient"> - <argument ref="svcLogicService"/> - </bean> - - <reference id="dataBroker" interface="org.opendaylight.controller.md.sal.binding.api.DataBroker" - odl:type="default"/> - - <reference id="notificationService" - interface="org.opendaylight.controller.md.sal.binding.api.NotificationPublishService" - odl:type="default"/> - - <reference id="rpcRegistry" interface="org.opendaylight.controller.sal.binding.api.RpcProviderRegistry" - odl:type="default"/> - - <bean id="provider" class="org.onap.ccsdk.features.sdnr.northbound.ranSlice.RANSliceProvider"> - <argument ref="dataBroker"/> - <argument ref="rpcRegistry"/> - <argument ref="notificationService"/> - <argument ref="client"/> - </bean> - - <odl:rpc-implementation ref="provider"/> - -</blueprint> diff --git a/sdnr/northbound/ranSlice/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml b/sdnr/northbound/ranSlice/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml index 57ebfbfcc..896c0575a 100644 --- a/sdnr/northbound/ranSlice/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml +++ b/sdnr/northbound/ranSlice/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml @@ -30,21 +30,25 @@ <argument ref="svcLogicService"/> </bean> - <reference id="dataBroker" interface="org.opendaylight.controller.md.sal.binding.api.DataBroker" - odl:type="default"/> - - <reference id="notificationService" - interface="org.opendaylight.controller.md.sal.binding.api.NotificationPublishService" - odl:type="default"/> - - <reference id="rpcRegistry" interface="org.opendaylight.controller.sal.binding.api.RpcProviderRegistry" - odl:type="default"/> - - <bean id="provider" class="org.onap.ccsdk.features.sdnr.northbound.ranSlice.RANSliceProvider"> - <argument ref="dataBroker"/> - <argument ref="rpcRegistry"/> - <argument ref="notificationService"/> - <argument ref="client"/> + <reference id="dataBroker" + interface="org.opendaylight.mdsal.binding.api.DataBroker"/> + + <reference id="domDataBroker" + interface="org.opendaylight.mdsal.dom.api.DOMDataBroker"/> + + <reference id="notificationPublishService" + interface="org.opendaylight.mdsal.binding.api.NotificationPublishService" /> + + <reference id="rpcProviderRegistry" + interface="org.opendaylight.mdsal.binding.api.RpcProviderService" /> + + <bean id="provider" class="org.onap.ccsdk.features.sdnr.northbound.ranSlice.RANSliceProvider" + init-method="init" destroy-method="close"> + <property name="dataBroker" ref="dataBroker"/> + <property name="domDataBroker" ref="domDataBroker"/> + <property name="rpcProviderRegistry" ref="rpcProviderRegistry"/> + <property name="notificationPublishService" ref="notificationPublishService"/> + <property name="client" ref="client"/> </bean> <odl:rpc-implementation ref="provider"/> diff --git a/sdnr/northbound/ranSlice/provider/src/test/java/org/onap/ccsdk/features/sdnr/northbound/ranSlice/RANSliceProviderTest.java b/sdnr/northbound/ranSlice/provider/src/test/java/org/onap/ccsdk/features/sdnr/northbound/ranSlice/RANSliceProviderTest.java index f1e1524ec..4bd3e5049 100644 --- a/sdnr/northbound/ranSlice/provider/src/test/java/org/onap/ccsdk/features/sdnr/northbound/ranSlice/RANSliceProviderTest.java +++ b/sdnr/northbound/ranSlice/provider/src/test/java/org/onap/ccsdk/features/sdnr/northbound/ranSlice/RANSliceProviderTest.java @@ -42,13 +42,17 @@ import org.onap.ccsdk.sli.core.sli.SvcLogicStoreFactory; import org.onap.ccsdk.sli.core.sli.provider.SvcLogicClassResolver; import org.onap.ccsdk.sli.core.sli.provider.SvcLogicPropertiesProviderImpl; import org.onap.ccsdk.sli.core.sli.provider.SvcLogicServiceImpl; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.NotificationPublishService; +import org.opendaylight.mdsal.binding.api.RpcProviderService; +import org.opendaylight.mdsal.dom.api.DOMDataBroker; +/*import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService; import org.opendaylight.controller.sal.binding.api.BindingAwareBroker; import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; -import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev200806.*; +*/import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev200806.*; import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev200806.common.header.CommonHeaderBuilder; - +import org.opendaylight.yangtools.concepts.ObjectRegistration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -63,10 +67,12 @@ public class RANSliceProviderTest { @Before public void setUp() throws Exception { DataBroker dataBroker = mock(DataBroker.class); + DOMDataBroker domDataBroker = mock(DOMDataBroker.class); NotificationPublishService notifyService = mock(NotificationPublishService.class); - RpcProviderRegistry rpcRegistry = mock(RpcProviderRegistry.class); - BindingAwareBroker.RpcRegistration<RanSliceApiService> rpcRegistration = (BindingAwareBroker.RpcRegistration<RanSliceApiService>) mock(BindingAwareBroker.RpcRegistration.class); - when(rpcRegistry.addRpcImplementation(any(Class.class), any(RanSliceApiService.class))).thenReturn(rpcRegistration); + //RpcProviderRegistry rpcRegistry = mock(RpcProviderRegistry.class); + RpcProviderService rpcRegistry = mock(RpcProviderService.class); + ObjectRegistration<RanSliceApiService> rpcRegistration = mock(ObjectRegistration.class); + when(rpcRegistry.registerRpcImplementation(any(Class.class), any(RanSliceApiService.class))).thenReturn(rpcRegistration); // Load svclogic.properties and get a SvcLogicStore @@ -95,7 +101,14 @@ public class RANSliceProviderTest { // Finally ready to create sliapiProvider RANSliceClient client = new RANSliceClient(svc); - provider = new RANSliceProvider(dataBroker, notifyService, rpcRegistry, client); + provider = new RANSliceProvider(); + provider.setDataBroker(dataBroker); + provider.setDomDataBroker(domDataBroker); + provider.setNotificationPublishService(notifyService); + provider.setClient(client); + provider.init(); + + } /** @@ -103,7 +116,7 @@ public class RANSliceProviderTest { */ @After public void tearDown() throws Exception { - provider.close(); + //provider.close(); } @@ -124,7 +137,7 @@ public class RANSliceProviderTest { try { ConfigureNearRTRICOutput results = provider.configureNearRTRIC(builder.build()).get().getResult(); LOG.info("configureNearRTRIC returned status {} : {}", results.getStatus().getCode(), results.getStatus().getMessage()); - assert(results.getStatus().getCode() == 400); + assert(results.getStatus().getCode().intValue() == 400); } catch (InterruptedException | ExecutionException e) { LOG.error("Caught exception", e); fail("configureNearRTRIC threw exception"); @@ -150,7 +163,7 @@ public class RANSliceProviderTest { try { InstantiateRANSliceOutput results = provider.instantiateRANSlice(builder.build()).get().getResult(); LOG.info("instantiateRANSlice returned status {} : {}", results.getStatus().getCode(), results.getStatus().getMessage()); - assert(results.getStatus().getCode() == 400); + assert(results.getStatus().getCode().intValue() == 400); } catch (InterruptedException | ExecutionException e) { LOG.error("Caught exception", e); fail("instantiateRANSlice threw exception"); @@ -176,7 +189,7 @@ public class RANSliceProviderTest { try { ConfigureRANSliceInstanceOutput results = provider.configureRANSliceInstance(builder.build()).get().getResult(); LOG.info("configureRANSliceInstance returned status {} : {}", results.getStatus().getCode(), results.getStatus().getMessage()); - assert(results.getStatus().getCode() == 400); + assert(results.getStatus().getCode().intValue() == 400); } catch (InterruptedException | ExecutionException e) { LOG.error("Caught exception", e); fail("configureRANSliceInstance threw exception"); @@ -201,7 +214,7 @@ public class RANSliceProviderTest { try { ConfigureCUOutput results = provider.configureCU(builder.build()).get().getResult(); LOG.info("configureCU returned status {} : {}", results.getStatus().getCode(), results.getStatus().getMessage()); - assert(results.getStatus().getCode() == 400); + assert(results.getStatus().getCode().intValue() == 400); } catch (InterruptedException | ExecutionException e) { LOG.error("Caught exception", e); fail("configureCU threw exception"); @@ -227,7 +240,7 @@ public class RANSliceProviderTest { try { ConfigureDUOutput results = provider.configureDU(builder.build()).get().getResult(); LOG.info("configureDU returned status {} : {}", results.getStatus().getCode(), results.getStatus().getMessage()); - assert(results.getStatus().getCode() == 400); + assert(results.getStatus().getCode().intValue() == 400); } catch (InterruptedException | ExecutionException e) { LOG.error("Caught exception", e); fail("configureDU threw exception"); @@ -252,7 +265,7 @@ public class RANSliceProviderTest { try { ActivateRANSliceInstanceOutput results = provider.activateRANSliceInstance(builder.build()).get().getResult(); LOG.info("activateRANSliceInstance returned status {} : {}", results.getStatus().getCode(), results.getStatus().getMessage()); - assert(results.getStatus().getCode() == 400); + assert(results.getStatus().getCode().intValue() == 400); } catch (InterruptedException | ExecutionException e) { LOG.error("Caught exception", e); fail("activateRANSliceInstance threw exception"); @@ -278,7 +291,7 @@ public class RANSliceProviderTest { try { DeactivateRANSliceInstanceOutput results = provider.deactivateRANSliceInstance(builder.build()).get().getResult(); LOG.info("deactivateRANSliceInstance returned status {} : {}", results.getStatus().getCode(), results.getStatus().getMessage()); - assert(results.getStatus().getCode() == 400); + assert(results.getStatus().getCode().intValue() == 400); } catch (InterruptedException | ExecutionException e) { LOG.error("Caught exception", e); fail("deactivateRANSliceInstance threw exception"); @@ -303,7 +316,7 @@ public class RANSliceProviderTest { try { TerminateRANSliceInstanceOutput results = provider.terminateRANSliceInstance(builder.build()).get().getResult(); LOG.info("terminateRANSliceInstance returned status {} : {}", results.getStatus().getCode(), results.getStatus().getMessage()); - assert(results.getStatus().getCode() == 400); + assert(results.getStatus().getCode().intValue() == 400); } catch (InterruptedException | ExecutionException e) { LOG.error("Caught exception", e); fail("terminateRANSliceInstance threw exception"); @@ -328,7 +341,7 @@ public class RANSliceProviderTest { try { DetermineRANSliceResourcesOutput results = provider.determineRANSliceResources(builder.build()).get().getResult(); LOG.info("determineRANSliceResources returned status {} : {}", results.getStatus().getCode(), results.getStatus().getMessage()); - assert(results.getStatus().getCode() == 400); + assert(results.getStatus().getCode().intValue() == 400); } catch (InterruptedException | ExecutionException e) { LOG.error("Caught exception", e); fail("determineRANSliceResources threw exception"); @@ -354,7 +367,7 @@ public class RANSliceProviderTest { try { ConfigNotificationOutput results = provider.configNotification(builder.build()).get().getResult(); LOG.info("configNotification returned status {} : {}", results.getStatus().getCode(), results.getStatus().getMessage()); - assert(results.getStatus().getCode() == 400); + assert(results.getStatus().getCode().intValue() == 400); } catch (InterruptedException | ExecutionException e) { LOG.error("Caught exception", e); fail("configNotification threw exception"); |