summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRavi Pendurty <ravi.pendurty@highstreet-technologies.com>2021-02-03 14:09:25 +0100
committerDan Timoney <dtimoney@att.com>2021-02-05 22:55:34 +0000
commit2f9e781a7c3e22bf25df83dcc3ff44b885a80957 (patch)
treed14ec0201ea7012cfc6c70954dcef6475370cfc9
parent80ebbf5b525b1a251f8e0eebd4a841d85716cf65 (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>
-rw-r--r--sdnr/northbound/CMNotify/feature/pom.xml2
-rw-r--r--sdnr/northbound/CMNotify/installer/pom.xml2
-rw-r--r--sdnr/northbound/CMNotify/model/pom.xml2
-rw-r--r--sdnr/northbound/CMNotify/pom.xml2
-rw-r--r--sdnr/northbound/CMNotify/provider/pom.xml83
-rw-r--r--sdnr/northbound/CMNotify/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/cmnotify/CMNotifyProvider.java271
-rw-r--r--sdnr/northbound/CMNotify/provider/src/main/resources/OSGI-INF/blueprint/impl-blueprint.xml50
-rw-r--r--sdnr/northbound/CMNotify/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml29
-rw-r--r--sdnr/northbound/CMNotify/provider/src/test/java/org/onap/ccsdk/features/sdnr/northbound/cmnotify/TestCMNotify.java25
-rw-r--r--sdnr/northbound/energysavings/features/pom.xml2
-rwxr-xr-xsdnr/northbound/energysavings/installer/pom.xml2
-rw-r--r--sdnr/northbound/energysavings/model/pom.xml2
-rw-r--r--sdnr/northbound/energysavings/pom.xml2
-rw-r--r--sdnr/northbound/energysavings/provider/pom.xml2
-rw-r--r--sdnr/northbound/features/ccsdk-features-sdnr-northbound-all/pom.xml2
-rw-r--r--sdnr/northbound/features/installer/pom.xml2
-rw-r--r--sdnr/northbound/features/pom.xml2
-rw-r--r--sdnr/northbound/oofpcipoc/consumer/pom.xml16
-rw-r--r--sdnr/northbound/oofpcipoc/consumer/src/main/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/OofpcipocHandleNotif.java44
-rw-r--r--sdnr/northbound/oofpcipoc/consumer/src/main/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/handlenotif/pojos/CellConfig.java20
-rw-r--r--sdnr/northbound/oofpcipoc/consumer/src/main/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/handlenotif/pojos/NeighborListInUse.java20
-rw-r--r--sdnr/northbound/oofpcipoc/consumer/src/main/resources/OSGI-INF/blueprint/impl-blueprint.xml45
-rw-r--r--sdnr/northbound/oofpcipoc/consumer/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml2
-rw-r--r--sdnr/northbound/oofpcipoc/feature/pom.xml22
-rw-r--r--sdnr/northbound/oofpcipoc/installer/pom.xml2
-rw-r--r--sdnr/northbound/oofpcipoc/model/pom.xml2
-rw-r--r--sdnr/northbound/oofpcipoc/pom.xml2
-rw-r--r--sdnr/northbound/oofpcipoc/provider/pom.xml34
-rw-r--r--sdnr/northbound/oofpcipoc/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/OofpcipocProvider.java720
-rw-r--r--sdnr/northbound/oofpcipoc/provider/src/main/resources/OSGI-INF/blueprint/impl-blueprint.xml50
-rw-r--r--sdnr/northbound/oofpcipoc/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml90
-rw-r--r--sdnr/northbound/oofpcipoc/provider/src/test/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/TestOofpcipoc.java27
-rw-r--r--sdnr/northbound/pom.xml2
-rw-r--r--sdnr/northbound/ranSlice/feature/pom.xml2
-rw-r--r--sdnr/northbound/ranSlice/installer/pom.xml2
-rw-r--r--sdnr/northbound/ranSlice/model/pom.xml2
-rw-r--r--sdnr/northbound/ranSlice/pom.xml2
-rw-r--r--sdnr/northbound/ranSlice/provider/pom.xml33
-rw-r--r--sdnr/northbound/ranSlice/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/ranSlice/RANSliceClient.java2
-rw-r--r--sdnr/northbound/ranSlice/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/ranSlice/RANSliceProvider.java69
-rw-r--r--sdnr/northbound/ranSlice/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/ranSlice/RANSliceResponseCode.java21
-rw-r--r--sdnr/northbound/ranSlice/provider/src/main/java/org/onap/ccsdk/features/sdnr/northbound/ranSlice/RANSliceRpcInvocationException.java21
-rw-r--r--sdnr/northbound/ranSlice/provider/src/main/resources/OSGI-INF/blueprint/impl-blueprint.xml52
-rw-r--r--sdnr/northbound/ranSlice/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml34
-rw-r--r--sdnr/northbound/ranSlice/provider/src/test/java/org/onap/ccsdk/features/sdnr/northbound/ranSlice/RANSliceProviderTest.java49
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");