aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimoney, Dan (dt5972) <dtimoney@att.com>2018-12-20 14:53:11 -0500
committerTimoney, Dan (dt5972) <dtimoney@att.com>2019-01-18 14:37:14 -0500
commitfc7132985898981337055ae4cef3104836fd16d1 (patch)
tree393d362bd0251cb6663675b89b8e2cbc938c8163
parent8d5dd448588cca26cbb76ef9b4877ef1469471c6 (diff)
Update sdnc/northbound to support Fluorine
Update code to support OpenDaylight Fluorine changes. Change-Id: Iec7e5173076419b101d07e3321b1ca93178b6fa7 Issue-ID: SDNC-552 Signed-off-by: Timoney, Dan (dt5972) <dtimoney@att.com>
-rw-r--r--features/features-sdnc-northbound/pom.xml2
-rwxr-xr-xfeatures/installer/pom.xml7
-rwxr-xr-xfeatures/pom.xml2
-rw-r--r--features/sdnc-northbound-all/pom.xml33
-rw-r--r--generic-resource-api/client/pom.xml6
-rw-r--r--generic-resource-api/features/features-generic-resource-api/pom.xml2
-rw-r--r--generic-resource-api/features/pom.xml6
-rw-r--r--generic-resource-api/features/sdnc-generic-resource-api/pom.xml4
-rwxr-xr-xgeneric-resource-api/installer/pom.xml4
-rw-r--r--generic-resource-api/model/pom.xml10
-rw-r--r--generic-resource-api/model/src/main/yang/GENERIC-RESOURCE-API.yang2
-rw-r--r--generic-resource-api/pom.xml8
-rw-r--r--generic-resource-api/provider/pom.xml22
-rw-r--r--generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/GenericResourceApiProvider.java62
-rw-r--r--generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/DataBrokerUtil.java2
-rw-r--r--pom.xml4
-rw-r--r--vnfapi/features/features-vnfapi/pom.xml2
-rw-r--r--vnfapi/features/pom.xml4
-rw-r--r--vnfapi/features/sdnc-vnfapi/pom.xml4
-rwxr-xr-xvnfapi/installer/pom.xml4
-rw-r--r--vnfapi/model/pom.xml8
-rwxr-xr-xvnfapi/model/src/main/yang/VNF-API.yang2
-rw-r--r--vnfapi/pom.xml4
-rw-r--r--vnfapi/provider/pom.xml20
-rw-r--r--vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/VnfApiProvider.java176
-rw-r--r--vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfapiProviderTestBase.java42
-rw-r--r--vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/util/DataBrokerUtil.java2
-rw-r--r--vnftools/features/features-vnftools/pom.xml2
-rw-r--r--vnftools/features/pom.xml4
-rw-r--r--vnftools/features/sdnc-vnftools/pom.xml4
-rwxr-xr-xvnftools/installer/pom.xml2
-rw-r--r--vnftools/pom.xml2
-rw-r--r--vnftools/provider/pom.xml16
33 files changed, 260 insertions, 214 deletions
diff --git a/features/features-sdnc-northbound/pom.xml b/features/features-sdnc-northbound/pom.xml
index ec2df205..a0639a5f 100644
--- a/features/features-sdnc-northbound/pom.xml
+++ b/features/features-sdnc-northbound/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>feature-repo-parent</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.1-SNAPSHOT</version>
<relativePath/>
</parent>
diff --git a/features/installer/pom.xml b/features/installer/pom.xml
index 7451af55..2d11711f 100755
--- a/features/installer/pom.xml
+++ b/features/installer/pom.xml
@@ -1,13 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <relativePath />
+ <version>1.2.1-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.onap.sdnc.northbound</groupId>
diff --git a/features/pom.xml b/features/pom.xml
index 25f82a54..bb0811be 100755
--- a/features/pom.xml
+++ b/features/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.1-SNAPSHOT</version>
<relativePath/>
</parent>
diff --git a/features/sdnc-northbound-all/pom.xml b/features/sdnc-northbound-all/pom.xml
index 0b023d49..78c68f4b 100644
--- a/features/sdnc-northbound-all/pom.xml
+++ b/features/sdnc-northbound-all/pom.xml
@@ -1,14 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <relativePath />
+ <version>1.2.1-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.onap.sdnc.northbound</groupId>
@@ -18,22 +16,15 @@
<name>sdnc-northbound :: features :: ${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>
+ <dependencies>
+ <dependency>
+ <groupId>org.onap.ccsdk.sli.core</groupId>
+ <artifactId>sli-core-artifacts</artifactId>
+ <version>${ccsdk.sli.core.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
</dependencyManagement>
<dependencies>
diff --git a/generic-resource-api/client/pom.xml b/generic-resource-api/client/pom.xml
index a9822046..bc10eba4 100644
--- a/generic-resource-api/client/pom.xml
+++ b/generic-resource-api/client/pom.xml
@@ -1,7 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
@@ -17,7 +15,7 @@
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>client-parent</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.1-SNAPSHOT</version>
</parent>
<dependencies>
diff --git a/generic-resource-api/features/features-generic-resource-api/pom.xml b/generic-resource-api/features/features-generic-resource-api/pom.xml
index dfb91022..42cb99a2 100644
--- a/generic-resource-api/features/features-generic-resource-api/pom.xml
+++ b/generic-resource-api/features/features-generic-resource-api/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>feature-repo-parent</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.1-SNAPSHOT</version>
<relativePath/>
</parent>
diff --git a/generic-resource-api/features/pom.xml b/generic-resource-api/features/pom.xml
index 227fb64d..d972997c 100644
--- a/generic-resource-api/features/pom.xml
+++ b/generic-resource-api/features/pom.xml
@@ -1,12 +1,12 @@
-<?xml version='1.0' encoding='UTF-8'?>
+<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <relativePath />
+ <version>1.2.1-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.onap.sdnc.northbound</groupId>
diff --git a/generic-resource-api/features/sdnc-generic-resource-api/pom.xml b/generic-resource-api/features/sdnc-generic-resource-api/pom.xml
index 20889428..868d9fb4 100644
--- a/generic-resource-api/features/sdnc-generic-resource-api/pom.xml
+++ b/generic-resource-api/features/sdnc-generic-resource-api/pom.xml
@@ -5,8 +5,8 @@
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <relativePath />
+ <version>1.2.1-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.onap.sdnc.northbound</groupId>
diff --git a/generic-resource-api/installer/pom.xml b/generic-resource-api/installer/pom.xml
index e87448c1..43fcb74a 100755
--- a/generic-resource-api/installer/pom.xml
+++ b/generic-resource-api/installer/pom.xml
@@ -5,8 +5,8 @@
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <relativePath />
+ <version>1.2.1-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.onap.sdnc.northbound</groupId>
diff --git a/generic-resource-api/model/pom.xml b/generic-resource-api/model/pom.xml
index cd47c7d6..f2172feb 100644
--- a/generic-resource-api/model/pom.xml
+++ b/generic-resource-api/model/pom.xml
@@ -1,12 +1,12 @@
-<?xml version='1.0' encoding='UTF-8'?>
+<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <relativePath />
+ <version>1.2.1-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.onap.sdnc.northbound</groupId>
@@ -19,11 +19,11 @@
<dependencies>
<dependency>
<groupId>org.opendaylight.mdsal.model</groupId>
- <artifactId>ietf-inet-types</artifactId>
+ <artifactId>ietf-inet-types-2013-07-15</artifactId>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.model</groupId>
- <artifactId>ietf-yang-types</artifactId>
+ <artifactId>ietf-yang-types-20130715</artifactId>
</dependency>
</dependencies>
diff --git a/generic-resource-api/model/src/main/yang/GENERIC-RESOURCE-API.yang b/generic-resource-api/model/src/main/yang/GENERIC-RESOURCE-API.yang
index e1958aac..1332887b 100644
--- a/generic-resource-api/model/src/main/yang/GENERIC-RESOURCE-API.yang
+++ b/generic-resource-api/model/src/main/yang/GENERIC-RESOURCE-API.yang
@@ -4,7 +4,7 @@ module GENERIC-RESOURCE-API {
prefix generic-resource-api;
- import ietf-inet-types { prefix "inet"; revision-date "2010-09-24"; }
+ import ietf-inet-types { prefix "inet"; revision-date "2013-07-15"; }
import ietf-yang-types { prefix yang; }
diff --git a/generic-resource-api/pom.xml b/generic-resource-api/pom.xml
index 7ae80a0f..feb70d67 100644
--- a/generic-resource-api/pom.xml
+++ b/generic-resource-api/pom.xml
@@ -1,14 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <relativePath />
+ <version>1.2.1-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.onap.sdnc.northbound</groupId>
diff --git a/generic-resource-api/provider/pom.xml b/generic-resource-api/provider/pom.xml
index 9f362b68..bf6801ec 100644
--- a/generic-resource-api/provider/pom.xml
+++ b/generic-resource-api/provider/pom.xml
@@ -1,12 +1,12 @@
-<?xml version='1.0' encoding='UTF-8'?>
+<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <relativePath />
+ <version>1.2.1-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.onap.sdnc.northbound</groupId>
@@ -16,6 +16,17 @@
<name>sdnc-northbound :: generic-resource-api :: ${project.artifactId}</name>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.onap.ccsdk.sli.core</groupId>
+ <artifactId>sli-core-artifacts</artifactId>
+ <version>${ccsdk.sli.core.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
<dependencies>
<dependency>
<groupId>org.onap.sdnc.northbound</groupId>
@@ -37,11 +48,6 @@
<dependency>
<groupId>org.opendaylight.controller</groupId>
- <artifactId>sal-binding-config</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.opendaylight.controller</groupId>
<artifactId>sal-binding-api</artifactId>
</dependency>
diff --git a/generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/GenericResourceApiProvider.java b/generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/GenericResourceApiProvider.java
index ef5b9e47..8c7e1a35 100644
--- a/generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/GenericResourceApiProvider.java
+++ b/generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/GenericResourceApiProvider.java
@@ -3,6 +3,8 @@ package org.onap.sdnc.northbound;
import com.google.common.base.Optional;
import com.google.common.util.concurrent.CheckedFuture;
import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
+
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -37,6 +39,7 @@ import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.re
import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GENERICRESOURCEAPIService;
import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GenericConfigurationNotificationInput;
import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GenericConfigurationNotificationInputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GenericConfigurationNotificationOutput;
import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GenericConfigurationTopologyOperationInput;
import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GenericConfigurationTopologyOperationInputBuilder;
import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GenericConfigurationTopologyOperationOutput;
@@ -400,7 +403,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
// Each entry will be identifiable by a unique key, we have to create that
// identifier
InstanceIdentifier<Service> path = InstanceIdentifier.builder(Services.class)
- .child(Service.class, entry.getKey()).build();
+ .child(Service.class, entry.key()).build();
trySaveEntry(entry, merge, storeType, path);
}
@@ -441,7 +444,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
// Each entry will be identifiable by a unique key, we have to create
// that identifier
InstanceIdentifier<Service> path = InstanceIdentifier.builder(Services.class)
- .child(Service.class, entry.getKey()).build();
+ .child(Service.class, entry.key()).build();
tryDeleteEntry(storeType, path);
}
@@ -516,7 +519,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
// Each entry will be identifiable by a unique key, we have to create that
// identifier
InstanceIdentifier.InstanceIdentifierBuilder<PreloadList> preloadListBuilder = InstanceIdentifier
- .<PreloadInformation>builder(PreloadInformation.class).child(PreloadList.class, entry.getKey());
+ .<PreloadInformation>builder(PreloadInformation.class).child(PreloadList.class, entry.key());
InstanceIdentifier<PreloadList> path = preloadListBuilder.build();
int tries = 2;
while (true) {
@@ -549,7 +552,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
// Each entry will be identifiable by a unique key, we have to create
// that identifier
InstanceIdentifier<PreloadList> path = InstanceIdentifier.builder(PreloadInformation.class)
- .child(PreloadList.class, entry.getKey()).build();
+ .child(PreloadList.class, entry.key()).build();
tryDeletePreloadListEntry(storeType, path);
}
@@ -582,7 +585,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
}
@Override
- public Future<RpcResult<ServiceTopologyOperationOutput>> serviceTopologyOperation(
+ public ListenableFuture<RpcResult<ServiceTopologyOperationOutput>> serviceTopologyOperation(
ServiceTopologyOperationInput input) {
final String svcOperation = "service-topology-operation";
@@ -780,7 +783,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
}
@Override
- public Future<RpcResult<VnfTopologyOperationOutput>> vnfTopologyOperation(VnfTopologyOperationInput input) {
+ public ListenableFuture<RpcResult<VnfTopologyOperationOutput>> vnfTopologyOperation(VnfTopologyOperationInput input) {
final String svcOperation = "vnf-topology-operation";
ServiceData serviceData;
@@ -998,7 +1001,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
}
@Override
- public Future<RpcResult<VfModuleTopologyOperationOutput>> vfModuleTopologyOperation(
+ public ListenableFuture<RpcResult<VfModuleTopologyOperationOutput>> vfModuleTopologyOperation(
VfModuleTopologyOperationInput input) {
final String svcOperation = "vf-module-topology-operation";
@@ -1231,7 +1234,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
}
@Override
- public Future<RpcResult<NetworkTopologyOperationOutput>> networkTopologyOperation(
+ public ListenableFuture<RpcResult<NetworkTopologyOperationOutput>> networkTopologyOperation(
NetworkTopologyOperationInput input) {
final String svcOperation = "network-topology-operation";
@@ -1377,7 +1380,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
|| input.getServiceInformation().getServiceInstanceId().length() == 0;
}
- private Future<RpcResult<NetworkTopologyOperationOutput>> buildRpcResultFuture(
+ private ListenableFuture<RpcResult<NetworkTopologyOperationOutput>> buildRpcResultFuture(
NetworkTopologyOperationOutputBuilder responseBuilder, String responseMessage) {
responseBuilder.setResponseCode("404");
@@ -1395,7 +1398,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
}
@Override
- public Future<RpcResult<ContrailRouteTopologyOperationOutput>> contrailRouteTopologyOperation(
+ public ListenableFuture<RpcResult<ContrailRouteTopologyOperationOutput>> contrailRouteTopologyOperation(
ContrailRouteTopologyOperationInput input) {
final String svcOperation = "contrail-route-topology-operation";
@@ -1539,7 +1542,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
|| input.getServiceInformation().getServiceInstanceId().length() == 0;
}
- private Future<RpcResult<ContrailRouteTopologyOperationOutput>> buildRpcResultFuture(
+ private ListenableFuture<RpcResult<ContrailRouteTopologyOperationOutput>> buildRpcResultFuture(
ContrailRouteTopologyOperationOutputBuilder responseBuilder, String responseMessage) {
responseBuilder.setResponseCode("404");
responseBuilder.setResponseMessage(responseMessage);
@@ -1556,7 +1559,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
}
@Override
- public Future<RpcResult<SecurityZoneTopologyOperationOutput>> securityZoneTopologyOperation(
+ public ListenableFuture<RpcResult<SecurityZoneTopologyOperationOutput>> securityZoneTopologyOperation(
SecurityZoneTopologyOperationInput input) {
final String svcOperation = "security-zone-topology-operation";
@@ -1725,7 +1728,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
|| input.getServiceInformation().getServiceInstanceId().length() == 0;
}
- private Future<RpcResult<SecurityZoneTopologyOperationOutput>> buildRpcResultFuture(
+ private ListenableFuture<RpcResult<SecurityZoneTopologyOperationOutput>> buildRpcResultFuture(
SecurityZoneTopologyOperationOutputBuilder responseBuilder, String responseMessage) {
responseBuilder.setResponseCode("404");
@@ -1763,7 +1766,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
}
}
- private Future<RpcResult<ConnectionAttachmentTopologyOperationOutput>>
+ private ListenableFuture<RpcResult<ConnectionAttachmentTopologyOperationOutput>>
buildRpcResultFuture(ConnectionAttachmentTopologyOperationOutputBuilder responseBuilder, String responseMessage) {
responseBuilder.setResponseCode("404");
@@ -1793,7 +1796,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
}
@Override
- public Future<RpcResult<ConnectionAttachmentTopologyOperationOutput>> connectionAttachmentTopologyOperation(ConnectionAttachmentTopologyOperationInput input) {
+ public ListenableFuture<RpcResult<ConnectionAttachmentTopologyOperationOutput>> connectionAttachmentTopologyOperation(ConnectionAttachmentTopologyOperationInput input) {
final String svcOperation = "connection-attachment-topology-operation";
Properties parms = new Properties();
log.info(CALLED_STR, svcOperation);
@@ -1925,7 +1928,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
}
@Override
- public Future<RpcResult<TunnelxconnTopologyOperationOutput>> tunnelxconnTopologyOperation(
+ public ListenableFuture<RpcResult<TunnelxconnTopologyOperationOutput>> tunnelxconnTopologyOperation(
TunnelxconnTopologyOperationInput input) {
final String svcOperation = "tunnelxconn-topology-operation";
@@ -2056,7 +2059,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
}
@Override
- public Future<RpcResult<BrgTopologyOperationOutput>> brgTopologyOperation(BrgTopologyOperationInput input) {
+ public ListenableFuture<RpcResult<BrgTopologyOperationOutput>> brgTopologyOperation(BrgTopologyOperationInput input) {
final String svcOperation = "brg-topology-operation";
Properties parms = new Properties();
@@ -2175,7 +2178,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
}
@Override
- public Future<RpcResult<PreloadNetworkTopologyOperationOutput>> preloadNetworkTopologyOperation(
+ public ListenableFuture<RpcResult<PreloadNetworkTopologyOperationOutput>> preloadNetworkTopologyOperation(
PreloadNetworkTopologyOperationInput input) {
final String svcOperation = "preload-network-topology-operation";
@@ -2350,7 +2353,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
}
@Override
- public Future<RpcResult<PreloadVfModuleTopologyOperationOutput>> preloadVfModuleTopologyOperation(
+ public ListenableFuture<RpcResult<PreloadVfModuleTopologyOperationOutput>> preloadVfModuleTopologyOperation(
PreloadVfModuleTopologyOperationInput input) {
final String svcOperation = "preload-vf-module-topology-operation";
@@ -2505,7 +2508,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
}
@Override
- public Future<RpcResult<GenericConfigurationTopologyOperationOutput>> genericConfigurationTopologyOperation(
+ public ListenableFuture<RpcResult<GenericConfigurationTopologyOperationOutput>> genericConfigurationTopologyOperation(
GenericConfigurationTopologyOperationInput input) {
final String svcOperation = "generic-configuration-topology-operation";
@@ -2680,7 +2683,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
}
@Override
- public Future<RpcResult<Void>> genericConfigurationNotification(GenericConfigurationNotificationInput input) {
+ public ListenableFuture<RpcResult<GenericConfigurationNotificationOutput>> genericConfigurationNotification(GenericConfigurationNotificationInput input) {
final String svcOperation = "generic-configuration-notification";
ServiceData serviceData;
@@ -2735,8 +2738,11 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
} catch (Exception e) {
log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e);
}
+
+
+
- RpcResult<Void> rpcResult = RpcResultBuilder.<Void>status(true).build();
+ RpcResult<GenericConfigurationNotificationOutput> rpcResult = RpcResultBuilder.<GenericConfigurationNotificationOutput>status(true).build();
return Futures.immediateFuture(rpcResult);
}
@@ -2757,7 +2763,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
} catch (Exception e) {
log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e);
- RpcResult<Void> rpcResult = RpcResultBuilder.<Void>status(true).build();
+ RpcResult<GenericConfigurationNotificationOutput> rpcResult = RpcResultBuilder.<GenericConfigurationNotificationOutput>status(true).build();
return Futures.immediateFuture(rpcResult);
}
@@ -2765,13 +2771,13 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
// Update succeeded
log.info(UPDATED_MDSAL_INFO_MESSAGE, svcOperation, siid);
- RpcResult<Void> rpcResult = RpcResultBuilder.<Void>status(true).build();
+ RpcResult<GenericConfigurationNotificationOutput> rpcResult = RpcResultBuilder.<GenericConfigurationNotificationOutput>status(true).build();
return Futures.immediateFuture(rpcResult);
}
@Override
- public Future<RpcResult<GetpathsegmentTopologyOperationOutput>> getpathsegmentTopologyOperation(
+ public ListenableFuture<RpcResult<GetpathsegmentTopologyOperationOutput>> getpathsegmentTopologyOperation(
GetpathsegmentTopologyOperationInput input) {
final String svcOperation = "getpathsegment-topology-operation";
@@ -2936,7 +2942,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
}
@Override
- public Future<RpcResult<PolicyUpdateNotifyOperationOutput>> policyUpdateNotifyOperation(
+ public ListenableFuture<RpcResult<PolicyUpdateNotifyOperationOutput>> policyUpdateNotifyOperation(
PolicyUpdateNotifyOperationInput input) {
final String svcOperation = "policy-update-notify-operation";
@@ -3002,7 +3008,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
}
@Override
- public Future<RpcResult<PortMirrorTopologyOperationOutput>> portMirrorTopologyOperation(
+ public ListenableFuture<RpcResult<PortMirrorTopologyOperationOutput>> portMirrorTopologyOperation(
final PortMirrorTopologyOperationInput input) {
final String svcOperation = "port-mirror-topology-operation";
@@ -3291,7 +3297,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC
}
@Override
- public Future<RpcResult<VnfGetResourceRequestOutput>> vnfGetResourceRequest(VnfGetResourceRequestInput input) {
+ public ListenableFuture<RpcResult<VnfGetResourceRequestOutput>> vnfGetResourceRequest(VnfGetResourceRequestInput input) {
final String svcOperation = "vnf-get-resource-request";
ServiceData serviceData;
diff --git a/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/DataBrokerUtil.java b/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/DataBrokerUtil.java
index 9bbb3998..878487cf 100644
--- a/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/DataBrokerUtil.java
+++ b/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/DataBrokerUtil.java
@@ -87,7 +87,7 @@ public class DataBrokerUtil {
// Each entry will be identifiable by a unique key, we have to create that
// identifier
InstanceIdentifier.InstanceIdentifierBuilder<Service> serviceBuilder = InstanceIdentifier
- .<Services>builder(Services.class).child(Service.class, service.getKey());
+ .<Services>builder(Services.class).child(Service.class, service.key());
InstanceIdentifier<Service> path = serviceBuilder.build();
WriteTransaction tx = dataBroker.newWriteOnlyTransaction();
diff --git a/pom.xml b/pom.xml
index 70e28d55..5dd30d05 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,8 +5,8 @@
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <relativePath />
+ <version>1.2.1-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.onap.sdnc.northbound</groupId>
diff --git a/vnfapi/features/features-vnfapi/pom.xml b/vnfapi/features/features-vnfapi/pom.xml
index 964174cc..5fe3f1ad 100644
--- a/vnfapi/features/features-vnfapi/pom.xml
+++ b/vnfapi/features/features-vnfapi/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>feature-repo-parent</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.1-SNAPSHOT</version>
<relativePath/>
</parent>
diff --git a/vnfapi/features/pom.xml b/vnfapi/features/pom.xml
index 82a2c67c..71ff6436 100644
--- a/vnfapi/features/pom.xml
+++ b/vnfapi/features/pom.xml
@@ -5,8 +5,8 @@
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <relativePath />
+ <version>1.2.1-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.onap.sdnc.northbound</groupId>
diff --git a/vnfapi/features/sdnc-vnfapi/pom.xml b/vnfapi/features/sdnc-vnfapi/pom.xml
index c91c805a..2a81d349 100644
--- a/vnfapi/features/sdnc-vnfapi/pom.xml
+++ b/vnfapi/features/sdnc-vnfapi/pom.xml
@@ -5,8 +5,8 @@
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <relativePath />
+ <version>1.2.1-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.onap.sdnc.northbound</groupId>
diff --git a/vnfapi/installer/pom.xml b/vnfapi/installer/pom.xml
index 74eb8bec..a1380940 100755
--- a/vnfapi/installer/pom.xml
+++ b/vnfapi/installer/pom.xml
@@ -5,8 +5,8 @@
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <relativePath />
+ <version>1.2.1-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.onap.sdnc.northbound</groupId>
diff --git a/vnfapi/model/pom.xml b/vnfapi/model/pom.xml
index a72517c0..b7d200fb 100644
--- a/vnfapi/model/pom.xml
+++ b/vnfapi/model/pom.xml
@@ -5,8 +5,8 @@
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <relativePath />
+ <version>1.2.1-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.onap.sdnc.northbound</groupId>
@@ -19,11 +19,11 @@
<dependencies>
<dependency>
<groupId>org.opendaylight.mdsal.model</groupId>
- <artifactId>ietf-inet-types</artifactId>
+ <artifactId>ietf-inet-types-2013-07-15</artifactId>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.model</groupId>
- <artifactId>ietf-yang-types</artifactId>
+ <artifactId>ietf-yang-types-20130715</artifactId>
</dependency>
</dependencies>
</project>
diff --git a/vnfapi/model/src/main/yang/VNF-API.yang b/vnfapi/model/src/main/yang/VNF-API.yang
index 3dd5105a..5a6a472c 100755
--- a/vnfapi/model/src/main/yang/VNF-API.yang
+++ b/vnfapi/model/src/main/yang/VNF-API.yang
@@ -6,7 +6,7 @@ module VNF-API {
prefix vnfapi;
- import ietf-inet-types { prefix "ietf"; revision-date "2010-09-24"; }
+ import ietf-inet-types { prefix "ietf"; revision-date "2013-07-15"; }
include "vnfsubmodule";
diff --git a/vnfapi/pom.xml b/vnfapi/pom.xml
index c159343b..00469a65 100644
--- a/vnfapi/pom.xml
+++ b/vnfapi/pom.xml
@@ -5,8 +5,8 @@
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <relativePath />
+ <version>1.2.1-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.onap.sdnc.northbound</groupId>
diff --git a/vnfapi/provider/pom.xml b/vnfapi/provider/pom.xml
index 678cc16e..7d799eb3 100644
--- a/vnfapi/provider/pom.xml
+++ b/vnfapi/provider/pom.xml
@@ -5,8 +5,8 @@
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <relativePath />
+ <version>1.2.1-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.onap.sdnc.northbound</groupId>
@@ -15,7 +15,17 @@
<packaging>bundle</packaging>
<name>sdnc-northbound :: vnfapi :: ${project.artifactId}</name>
-
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.onap.ccsdk.sli.core</groupId>
+ <artifactId>sli-core-artifacts</artifactId>
+ <version>${ccsdk.sli.core.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
<dependencies>
<dependency>
<groupId>org.onap.sdnc.northbound</groupId>
@@ -24,10 +34,6 @@
</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>
diff --git a/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/VnfApiProvider.java b/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/VnfApiProvider.java
index 1a05d2db..46184b0a 100644
--- a/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/VnfApiProvider.java
+++ b/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/VnfApiProvider.java
@@ -24,13 +24,14 @@ package org.onap.sdnc.vnfapi;
import com.google.common.util.concurrent.CheckedFuture;
import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.base.Optional;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.DataChangeListener;
+import org.opendaylight.controller.md.sal.binding.api.DataTreeChangeListener;
+import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.controller.md.sal.common.api.data.OptimisticLockFailedException;
import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
@@ -145,6 +146,7 @@ import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.concurrent.Future;
/**
@@ -153,7 +155,7 @@ import java.util.concurrent.Future;
* initialization / clean up methods.
*/
-public class VnfApiProvider implements AutoCloseable, VNFAPIService, DataChangeListener {
+public class VnfApiProvider implements AutoCloseable, VNFAPIService, DataTreeChangeListener {
protected DataBroker dataBroker;
protected NotificationPublishService notificationService;
protected RpcProviderRegistry rpcRegistry;
@@ -276,60 +278,69 @@ public class VnfApiProvider implements AutoCloseable, VNFAPIService, DataChangeL
}
// On data change not used
- @Override
- public void onDataChanged(AsyncDataChangeEvent<InstanceIdentifier<?>, DataObject> change) {
-
- log.info(" IN ON DATA CHANGE: ");
-
- boolean changed = false;
- WriteTransaction writeTransaction = dataBroker.newWriteOnlyTransaction();
- DataObject updatedSubTree = change.getUpdatedSubtree();
-
- if (updatedSubTree != null) {
- if (log.isDebugEnabled()) {
- log.debug("updatedSubTree was non-null:" + updatedSubTree);
- }
- if (updatedSubTree instanceof Vnfs) {
- changed = isChanged(changed, (Vnfs) updatedSubTree);
- }
- if (updatedSubTree instanceof PreloadVnfs) {
- changed = isChanged(changed, (PreloadVnfs) updatedSubTree);
- }
- //1610
- if (updatedSubTree instanceof PreloadVnfInstances) {
- changed = isChanged(changed, (PreloadVnfInstances) updatedSubTree);
- }
- //1610
- if (updatedSubTree instanceof VnfInstances) {
- changed = isChanged(changed, (VnfInstances) updatedSubTree);
- }
- //1610
- if (updatedSubTree instanceof PreloadVfModules) {
- changed = isChanged(changed, (PreloadVfModules) updatedSubTree);
- }
- //1610
- if (updatedSubTree instanceof VfModules) {
- changed = isChanged(changed, (VfModules) updatedSubTree);
- }
- }
-
- // Do the write transaction only if something changed.
- if (changed) {
- CheckedFuture<Void, TransactionCommitFailedException> checkedFuture = writeTransaction.submit();
- Futures.addCallback(checkedFuture, new FutureCallback<Void>() {
-
- @Override
- public void onSuccess(Void arg0) {
- log.debug("Successfully updated Service Status");
- }
-
- @Override
- public void onFailure(Throwable e) {
- log.debug("Failed updating Service Status", e);
- }
- }, executor);
- }
- }
+ @Override
+ public void onDataTreeChanged(Collection changes) {
+
+ log.info(" IN ON DATA CHANGE: ");
+
+ for (Object changeObj : changes) {
+
+ if (changeObj instanceof DataTreeModification) {
+
+ DataTreeModification change = (DataTreeModification) changeObj;
+
+
+ boolean changed = false;
+ WriteTransaction writeTransaction = dataBroker.newWriteOnlyTransaction();
+ DataObject updatedSubTree = change.getRootNode().getDataAfter();
+
+ if (updatedSubTree != null) {
+ if (log.isDebugEnabled()) {
+ log.debug("updatedSubTree was non-null:" + updatedSubTree);
+ }
+ if (updatedSubTree instanceof Vnfs) {
+ changed = isChanged(changed, (Vnfs) updatedSubTree);
+ }
+ if (updatedSubTree instanceof PreloadVnfs) {
+ changed = isChanged(changed, (PreloadVnfs) updatedSubTree);
+ }
+ // 1610
+ if (updatedSubTree instanceof PreloadVnfInstances) {
+ changed = isChanged(changed, (PreloadVnfInstances) updatedSubTree);
+ }
+ // 1610
+ if (updatedSubTree instanceof VnfInstances) {
+ changed = isChanged(changed, (VnfInstances) updatedSubTree);
+ }
+ // 1610
+ if (updatedSubTree instanceof PreloadVfModules) {
+ changed = isChanged(changed, (PreloadVfModules) updatedSubTree);
+ }
+ // 1610
+ if (updatedSubTree instanceof VfModules) {
+ changed = isChanged(changed, (VfModules) updatedSubTree);
+ }
+ }
+
+ // Do the write transaction only if something changed.
+ if (changed) {
+ CheckedFuture<Void, TransactionCommitFailedException> checkedFuture = writeTransaction.submit();
+ Futures.addCallback(checkedFuture, new FutureCallback<Void>() {
+
+ @Override
+ public void onSuccess(Void arg0) {
+ log.debug("Successfully updated Service Status");
+ }
+
+ @Override
+ public void onFailure(Throwable e) {
+ log.debug("Failed updating Service Status", e);
+ }
+ }, executor);
+ }
+ }
+ }
+ }
private boolean isChanged(boolean changed, VfModules updatedSubTree) {
ArrayList<VfModuleList> vfModuleList =
@@ -813,7 +824,7 @@ public class VnfApiProvider implements AutoCloseable, VNFAPIService, DataChangeL
// Each entry will be identifiable by a unique key, we have to create that identifier
InstanceIdentifier<VnfList> path = InstanceIdentifier
.builder(Vnfs.class)
- .child(VnfList.class, entry.getKey())
+ .child(VnfList.class, entry.key())
.build();
int optimisticLockTries = 2;
@@ -834,13 +845,22 @@ public class VnfApiProvider implements AutoCloseable, VNFAPIService, DataChangeL
tryAgain = true;
} catch (final TransactionCommitFailedException e) {
-
- if (e.getCause() instanceof ModifiedNodeDoesNotExistException) {
- log.debug("Ignoring MpdifiedNodeDoesNotExistException");
+ Throwable eCause = e.getCause();
+
+
+ if (eCause instanceof org.opendaylight.mdsal.common.api.TransactionCommitFailedException) {
+ log.debug("Nested TransactionCommitFailed exception - getting next cause");
+ eCause = eCause.getCause();
+ } else {
+ log.debug("Got TransactionCommitFailedException, caused by {}", eCause.getClass().getName());
+ }
+
+ if (eCause instanceof ModifiedNodeDoesNotExistException) {
+ log.debug("Ignoring ModifiedNodeDoesNotExistException");
break;
}
- log.debug("Delete DataStore failed");
+ log.debug("Delete DataStore failed due to exception", eCause);
throw new IllegalStateException(e);
}
}
@@ -850,7 +870,7 @@ public class VnfApiProvider implements AutoCloseable, VNFAPIService, DataChangeL
// Each entry will be identifiable by a unique key, we have to create that identifier
InstanceIdentifier<VnfList> path = InstanceIdentifier
.builder(Vnfs.class)
- .child(VnfList.class, entry.getKey())
+ .child(VnfList.class, entry.key())
.build();
tryUpdateDataStore(entry, merge, storeType, path);
@@ -861,7 +881,7 @@ public class VnfApiProvider implements AutoCloseable, VNFAPIService, DataChangeL
// Each entry will be identifiable by a unique key, we have to create that identifier
InstanceIdentifier<VnfInstanceList> path = InstanceIdentifier
.builder(VnfInstances.class)
- .child(VnfInstanceList.class, entry.getKey())
+ .child(VnfInstanceList.class, entry.key())
.build();
tryUpdateDataStore(entry, merge, storeType, path);
@@ -872,7 +892,7 @@ public class VnfApiProvider implements AutoCloseable, VNFAPIService, DataChangeL
// Each entry will be identifiable by a unique key, we have to create that identifier
InstanceIdentifier<VfModuleList> path = InstanceIdentifier
.builder(VfModules.class)
- .child(VfModuleList.class, entry.getKey())
+ .child(VfModuleList.class, entry.key())
.build();
tryUpdateDataStore(entry, merge, storeType, path);
@@ -883,7 +903,7 @@ public class VnfApiProvider implements AutoCloseable, VNFAPIService, DataChangeL
// Each entry will be identifiable by a unique key, we have to create that identifier
InstanceIdentifier<VnfPreloadList> path = InstanceIdentifier
.builder(PreloadVnfs.class)
- .child(VnfPreloadList.class, entry.getKey())
+ .child(VnfPreloadList.class, entry.key())
.build();
tryUpdateDataStore(entry, merge, storeType, path);
@@ -896,7 +916,7 @@ public class VnfApiProvider implements AutoCloseable, VNFAPIService, DataChangeL
// Each entry will be identifiable by a unique key, we have to create that identifier
InstanceIdentifier<VnfInstancePreloadList> path = InstanceIdentifier
.builder(PreloadVnfInstances.class)
- .child(VnfInstancePreloadList.class, entry.getKey())
+ .child(VnfInstancePreloadList.class, entry.key())
.build();
tryUpdateDataStore(entry, merge, storeType, path);
@@ -909,7 +929,7 @@ public class VnfApiProvider implements AutoCloseable, VNFAPIService, DataChangeL
// Each entry will be identifiable by a unique key, we have to create that identifier
InstanceIdentifier<VfModulePreloadList> path = InstanceIdentifier
.builder(PreloadVfModules.class)
- .child(VfModulePreloadList.class, entry.getKey())
+ .child(VfModulePreloadList.class, entry.key())
.build();
tryUpdateDataStore(entry, merge, storeType, path);
@@ -957,7 +977,7 @@ public class VnfApiProvider implements AutoCloseable, VNFAPIService, DataChangeL
&& input.getVnfInstanceRequestInformation().getVnfInstanceId().length() != 0;
}
- private Future<RpcResult<VnfInstanceTopologyOperationOutput>> buildVnfInstanceTopologyOperationOutputWithtError(
+ private ListenableFuture<RpcResult<VnfInstanceTopologyOperationOutput>> buildVnfInstanceTopologyOperationOutputWithtError(
String responseCode, String responseMessage, String ackFinalIndicator) {
VnfInstanceTopologyOperationOutputBuilder responseBuilder = new VnfInstanceTopologyOperationOutputBuilder();
responseBuilder.setResponseCode(responseCode);
@@ -970,7 +990,7 @@ public class VnfApiProvider implements AutoCloseable, VNFAPIService, DataChangeL
}
@Override
- public Future<RpcResult<VnfInstanceTopologyOperationOutput>> vnfInstanceTopologyOperation(
+ public ListenableFuture<RpcResult<VnfInstanceTopologyOperationOutput>> vnfInstanceTopologyOperation(
VnfInstanceTopologyOperationInput input) {
final String svcOperation = "vnf-instance-topology-operation";
@@ -1156,7 +1176,7 @@ public class VnfApiProvider implements AutoCloseable, VNFAPIService, DataChangeL
//1610 vf-module-topology-operation
@Override
- public Future<RpcResult<VfModuleTopologyOperationOutput>> vfModuleTopologyOperation(
+ public ListenableFuture<RpcResult<VfModuleTopologyOperationOutput>> vfModuleTopologyOperation(
VfModuleTopologyOperationInput input) {
final String svcOperation = "vf-module-topology-operation";
@@ -1388,7 +1408,7 @@ public class VnfApiProvider implements AutoCloseable, VNFAPIService, DataChangeL
}
@Override
- public Future<RpcResult<VnfTopologyOperationOutput>> vnfTopologyOperation(VnfTopologyOperationInput input) {
+ public ListenableFuture<RpcResult<VnfTopologyOperationOutput>> vnfTopologyOperation(VnfTopologyOperationInput input) {
final String svcOperation = "vnf-topology-operation";
ServiceData serviceData;
ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder();
@@ -1580,7 +1600,7 @@ public class VnfApiProvider implements AutoCloseable, VNFAPIService, DataChangeL
}
@Override
- public Future<RpcResult<NetworkTopologyOperationOutput>> networkTopologyOperation(
+ public ListenableFuture<RpcResult<NetworkTopologyOperationOutput>> networkTopologyOperation(
NetworkTopologyOperationInput input) {
final String svcOperation = "network-topology-operation";
@@ -1722,7 +1742,7 @@ public class VnfApiProvider implements AutoCloseable, VNFAPIService, DataChangeL
}
@Override
- public Future<RpcResult<PreloadVnfTopologyOperationOutput>> preloadVnfTopologyOperation(
+ public ListenableFuture<RpcResult<PreloadVnfTopologyOperationOutput>> preloadVnfTopologyOperation(
PreloadVnfTopologyOperationInput input) {
final String svcOperation = "preload-vnf-topology-operation";
@@ -1909,7 +1929,7 @@ public class VnfApiProvider implements AutoCloseable, VNFAPIService, DataChangeL
//1610 preload-vnf-instance-topology-operation
@Override
- public Future<RpcResult<PreloadVnfInstanceTopologyOperationOutput>> preloadVnfInstanceTopologyOperation(
+ public ListenableFuture<RpcResult<PreloadVnfInstanceTopologyOperationOutput>> preloadVnfInstanceTopologyOperation(
PreloadVnfInstanceTopologyOperationInput input) {
final String svcOperation = "preload-vnf-instance-topology-operation";
@@ -2098,7 +2118,7 @@ public class VnfApiProvider implements AutoCloseable, VNFAPIService, DataChangeL
//1610 preload-vf-module-topology-operation
@Override
- public Future<RpcResult<PreloadVfModuleTopologyOperationOutput>> preloadVfModuleTopologyOperation(
+ public ListenableFuture<RpcResult<PreloadVfModuleTopologyOperationOutput>> preloadVfModuleTopologyOperation(
PreloadVfModuleTopologyOperationInput input) {
final String svcOperation = "preload-vf-module-topology-operation";
@@ -2288,7 +2308,7 @@ public class VnfApiProvider implements AutoCloseable, VNFAPIService, DataChangeL
@Override
- public Future<RpcResult<PreloadNetworkTopologyOperationOutput>> preloadNetworkTopologyOperation(
+ public ListenableFuture<RpcResult<PreloadNetworkTopologyOperationOutput>> preloadNetworkTopologyOperation(
PreloadNetworkTopologyOperationInput input) {
final String svcOperation = "preload-network-topology-operation";
@@ -2477,4 +2497,6 @@ public class VnfApiProvider implements AutoCloseable, VNFAPIService, DataChangeL
.build();
return Futures.immediateFuture(rpcResult);
}
+
+
}
diff --git a/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfapiProviderTestBase.java b/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfapiProviderTestBase.java
index 0c025523..7ce99ec6 100644
--- a/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfapiProviderTestBase.java
+++ b/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfapiProviderTestBase.java
@@ -31,11 +31,12 @@ import org.mockito.Mock;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.controller.md.sal.binding.api.DataObjectModification;
+import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
@@ -105,6 +106,8 @@ import org.opendaylight.yangtools.yang.common.RpcResult;
import org.powermock.reflect.Whitebox;
import java.util.ArrayList;
+import java.util.Collection;
+import java.util.LinkedList;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
@@ -171,11 +174,15 @@ public class VnfapiProviderTestBase {
verify(vnfapiServiceRpcRegistration, times(1)).close();
}
- @Test public void onDataChanged() throws Exception {
- AsyncDataChangeEvent<InstanceIdentifier<?>, DataObject> asyncDataChangeEvent = mock(AsyncDataChangeEvent.class);
+ @Test public void onDataTreeChanged() throws Exception {
+ DataTreeModification dtm = mock(DataTreeModification.class);
+ DataObjectModification dom = mock(DataObjectModification.class);
+
+
// instance of Vnfs
Vnfs vnfs = mock(Vnfs.class);
- doReturn(vnfs).when(asyncDataChangeEvent).getUpdatedSubtree();
+ doReturn(dom).when(dtm).getRootNode();
+ doReturn(vnfs).when(dom).getDataAfter();
VnfList vnfList = mock(VnfList.class);
ServiceData serviceData = mock(ServiceData.class);
doReturn(serviceData).when(vnfList).getServiceData();
@@ -189,13 +196,16 @@ public class VnfapiProviderTestBase {
doReturn(readWriteTransactionInDataChanged).when(dataBroker).newWriteOnlyTransaction();
doReturn(checkedFuture).when(readWriteTransactionInDataChanged).submit();
- vnfapiProvider.onDataChanged(asyncDataChangeEvent);
+ Collection dtmList = new LinkedList<DataTreeModification>();
+ dtmList.add(dtm);
+
+ vnfapiProvider.onDataTreeChanged(dtmList);
verify(readWriteTransactionInDataChanged, times(1)).submit();
// instance of PreloadVnfs
PreloadVnfs preloadVnfs = mock(PreloadVnfs.class);
- doReturn(preloadVnfs).when(asyncDataChangeEvent).getUpdatedSubtree();
+ doReturn(preloadVnfs).when(dom).getDataAfter();
ArrayList<VnfPreloadList> vnfPreloadLists = new ArrayList<>();
doReturn(vnfPreloadLists).when(preloadVnfs).getVnfPreloadList();
PreloadData preloadData = mock(PreloadData.class);
@@ -203,13 +213,13 @@ public class VnfapiProviderTestBase {
doReturn(preloadData).when(vnfPreloadList).getPreloadData();
vnfPreloadLists.add(vnfPreloadList);
- vnfapiProvider.onDataChanged(asyncDataChangeEvent);
+ vnfapiProvider.onDataTreeChanged(dtmList);
verify(readWriteTransactionInDataChanged, times(2)).submit();
// instance of PreloadVnfInstances
PreloadVnfInstances preloadVnfInstances = mock(PreloadVnfInstances.class);
- doReturn(preloadVnfInstances).when(asyncDataChangeEvent).getUpdatedSubtree();
+ doReturn(preloadVnfInstances).when(dom).getDataAfter();
ArrayList<VnfInstancePreloadList> vnfInstancePreloadLists = new ArrayList<>();
doReturn(vnfInstancePreloadLists).when(preloadVnfInstances).getVnfInstancePreloadList();
VnfInstancePreloadList vnfInstancePreloadList = mock(VnfInstancePreloadList.class);
@@ -217,13 +227,13 @@ public class VnfapiProviderTestBase {
doReturn(vnfInstancePreloadData).when(vnfInstancePreloadList).getVnfInstancePreloadData();
vnfInstancePreloadLists.add(vnfInstancePreloadList);
- vnfapiProvider.onDataChanged(asyncDataChangeEvent);
+ vnfapiProvider.onDataTreeChanged(dtmList);
verify(readWriteTransactionInDataChanged, times(3)).submit();
// instance of VnfInstances
VnfInstances vnfInstances = mock(VnfInstances.class);
- doReturn(vnfInstances).when(asyncDataChangeEvent).getUpdatedSubtree();
+ doReturn(vnfInstances).when(dom).getDataAfter();
ArrayList<VnfInstanceList> vnfInstanceLists = new ArrayList<>();
doReturn(vnfInstanceLists).when(vnfInstances).getVnfInstanceList();
VnfInstanceList vnfInstanceList = mock(VnfInstanceList.class);
@@ -232,13 +242,13 @@ public class VnfapiProviderTestBase {
doReturn(vnfInstanceServiceData).when(vnfInstanceList).getVnfInstanceServiceData();
doReturn(serviceStatus).when(vnfInstanceList).getServiceStatus();
- vnfapiProvider.onDataChanged(asyncDataChangeEvent);
+ vnfapiProvider.onDataTreeChanged(dtmList);
verify(readWriteTransactionInDataChanged, times(4)).submit();
// instance of PreloadVfModules
PreloadVfModules preloadVfModules = mock(PreloadVfModules.class);
- doReturn(preloadVfModules).when(asyncDataChangeEvent).getUpdatedSubtree();
+ doReturn(preloadVfModules).when(dom).getDataAfter();
ArrayList<VfModulePreloadList> vfModulePreloadLists = new ArrayList<>();
doReturn(vfModulePreloadLists).when(preloadVfModules).getVfModulePreloadList();
VfModulePreloadList vfModulePreloadList = mock(VfModulePreloadList.class);
@@ -246,13 +256,13 @@ public class VnfapiProviderTestBase {
VfModulePreloadData vfModulePreloadData = mock(VfModulePreloadData.class);
doReturn(vfModulePreloadData).when(vfModulePreloadList).getVfModulePreloadData();
- vnfapiProvider.onDataChanged(asyncDataChangeEvent);
+ vnfapiProvider.onDataTreeChanged(dtmList);
verify(readWriteTransactionInDataChanged, times(5)).submit();
// instance of VfModules
VfModules vfModules = mock(VfModules.class);
- doReturn(preloadVfModules).when(asyncDataChangeEvent).getUpdatedSubtree();
+ doReturn(preloadVfModules).when(dom).getDataAfter();
ArrayList<VfModuleList> vfModuleLists = new ArrayList<>();
doReturn(vfModuleLists).when(vfModules).getVfModuleList();
VfModuleList vfModuleList = mock(VfModuleList.class);
@@ -261,7 +271,7 @@ public class VnfapiProviderTestBase {
doReturn(vfModuleServiceData).when(vfModuleList).getVfModuleServiceData();
doReturn(serviceStatus).when(vfModuleList).getServiceStatus();
- vnfapiProvider.onDataChanged(asyncDataChangeEvent);
+ vnfapiProvider.onDataTreeChanged(dtmList);
verify(readWriteTransactionInDataChanged, times(6)).submit();
}
@@ -1497,7 +1507,7 @@ public class VnfapiProviderTestBase {
LogicalDatastoreType configuration = LogicalDatastoreType.CONFIGURATION;
VnfList vnfList = mock(VnfList.class);
VnfListKey vnfListKey = mock(VnfListKey.class);
- doReturn(vnfListKey).when(vnfList).getKey();
+ doReturn(vnfListKey).when(vnfList).key();
InstanceIdentifier<VnfList> vnfListInstanceIdentifier = mock(InstanceIdentifier.class);
dataBroker.newWriteOnlyTransaction().put(configuration, vnfListInstanceIdentifier, vnfList);
diff --git a/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/util/DataBrokerUtil.java b/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/util/DataBrokerUtil.java
index d791fa97..352e9404 100644
--- a/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/util/DataBrokerUtil.java
+++ b/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/util/DataBrokerUtil.java
@@ -71,7 +71,7 @@ public class DataBrokerUtil {
// Each entry will be identifiable by a unique key, we have to create that
// identifier
InstanceIdentifier.InstanceIdentifierBuilder<VnfList> VnfListBuilder = InstanceIdentifier
- .<Vnfs>builder(Vnfs.class).child(VnfList.class, VnfList.getKey());
+ .<Vnfs>builder(Vnfs.class).child(VnfList.class, VnfList.key());
InstanceIdentifier<VnfList> path = VnfListBuilder.build();
WriteTransaction tx = dataBroker.newWriteOnlyTransaction();
diff --git a/vnftools/features/features-vnftools/pom.xml b/vnftools/features/features-vnftools/pom.xml
index ef0c0971..3353caf3 100644
--- a/vnftools/features/features-vnftools/pom.xml
+++ b/vnftools/features/features-vnftools/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>feature-repo-parent</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.1-SNAPSHOT</version>
<relativePath/>
</parent>
diff --git a/vnftools/features/pom.xml b/vnftools/features/pom.xml
index 3bc92e8d..e4a9ba5d 100644
--- a/vnftools/features/pom.xml
+++ b/vnftools/features/pom.xml
@@ -5,8 +5,8 @@
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <relativePath />
+ <version>1.2.1-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.onap.sdnc.northbound</groupId>
diff --git a/vnftools/features/sdnc-vnftools/pom.xml b/vnftools/features/sdnc-vnftools/pom.xml
index fd63f3a9..34b8e60c 100644
--- a/vnftools/features/sdnc-vnftools/pom.xml
+++ b/vnftools/features/sdnc-vnftools/pom.xml
@@ -5,8 +5,8 @@
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <relativePath />
+ <version>1.2.1-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.onap.sdnc.northbound</groupId>
diff --git a/vnftools/installer/pom.xml b/vnftools/installer/pom.xml
index 7aaed39e..1ad019b0 100755
--- a/vnftools/installer/pom.xml
+++ b/vnftools/installer/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.1-SNAPSHOT</version>
</parent>
<groupId>org.onap.sdnc.northbound</groupId>
diff --git a/vnftools/pom.xml b/vnftools/pom.xml
index 89aac2be..263bf973 100644
--- a/vnftools/pom.xml
+++ b/vnftools/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.1-SNAPSHOT</version>
</parent>
<groupId>org.onap.sdnc.northbound</groupId>
diff --git a/vnftools/provider/pom.xml b/vnftools/provider/pom.xml
index ced219d4..19d8c4fc 100644
--- a/vnftools/provider/pom.xml
+++ b/vnftools/provider/pom.xml
@@ -5,8 +5,8 @@
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <relativePath />
+ <version>1.2.1-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.onap.sdnc.northbound</groupId>
@@ -19,7 +19,17 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
-
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.onap.ccsdk.sli.core</groupId>
+ <artifactId>sli-core-artifacts</artifactId>
+ <version>${ccsdk.sli.core.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>