Update sdnc/northbound to support Fluorine 19/75019/4
authorTimoney, Dan (dt5972) <dtimoney@att.com>
Thu, 20 Dec 2018 19:53:11 +0000 (14:53 -0500)
committerTimoney, Dan (dt5972) <dtimoney@att.com>
Fri, 18 Jan 2019 19:37:14 +0000 (14:37 -0500)
Update code to support OpenDaylight Fluorine changes.

Change-Id: Iec7e5173076419b101d07e3321b1ca93178b6fa7
Issue-ID: SDNC-552
Signed-off-by: Timoney, Dan (dt5972) <dtimoney@att.com>
33 files changed:
features/features-sdnc-northbound/pom.xml
features/installer/pom.xml
features/pom.xml
features/sdnc-northbound-all/pom.xml
generic-resource-api/client/pom.xml
generic-resource-api/features/features-generic-resource-api/pom.xml
generic-resource-api/features/pom.xml
generic-resource-api/features/sdnc-generic-resource-api/pom.xml
generic-resource-api/installer/pom.xml
generic-resource-api/model/pom.xml
generic-resource-api/model/src/main/yang/GENERIC-RESOURCE-API.yang
generic-resource-api/pom.xml
generic-resource-api/provider/pom.xml
generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/GenericResourceApiProvider.java
generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/DataBrokerUtil.java
pom.xml
vnfapi/features/features-vnfapi/pom.xml
vnfapi/features/pom.xml
vnfapi/features/sdnc-vnfapi/pom.xml
vnfapi/installer/pom.xml
vnfapi/model/pom.xml
vnfapi/model/src/main/yang/VNF-API.yang
vnfapi/pom.xml
vnfapi/provider/pom.xml
vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/VnfApiProvider.java
vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfapiProviderTestBase.java
vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/util/DataBrokerUtil.java
vnftools/features/features-vnftools/pom.xml
vnftools/features/pom.xml
vnftools/features/sdnc-vnftools/pom.xml
vnftools/installer/pom.xml
vnftools/pom.xml
vnftools/provider/pom.xml

index ec2df20..a0639a5 100644 (file)
@@ -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>
 
index 7451af5..2d11711 100755 (executable)
@@ -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>
index 25f82a5..bb0811b 100755 (executable)
@@ -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>
 
index 0b023d4..78c68f4 100644 (file)
@@ -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>
 
        <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>
index a982204..bc10eba 100644 (file)
@@ -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>
index dfb9102..42cb99a 100644 (file)
@@ -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>
 
index 227fb64..d972997 100644 (file)
@@ -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>
index 2088942..868d9fb 100644 (file)
@@ -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>
index e87448c..43fcb74 100755 (executable)
@@ -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>
index cd47c7d..f2172fe 100644 (file)
@@ -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>
     <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>
 
index e1958aa..1332887 100644 (file)
@@ -4,7 +4,7 @@ module GENERIC-RESOURCE-API {
 \r
    prefix generic-resource-api;\r
 \r
-   import ietf-inet-types { prefix "inet"; revision-date "2010-09-24"; }\r
+   import ietf-inet-types { prefix "inet"; revision-date "2013-07-15"; }\r
 \r
    import ietf-yang-types { prefix yang; }\r
 \r
index 7ae80a0..feb70d6 100644 (file)
@@ -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>
index 9f362b6..bf6801e 100644 (file)
@@ -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>
 
     <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>
             <artifactId>sli-provider</artifactId>
         </dependency>
 
-        <dependency>
-            <groupId>org.opendaylight.controller</groupId>
-            <artifactId>sal-binding-config</artifactId>
-        </dependency>
-
         <dependency>
             <groupId>org.opendaylight.controller</groupId>
             <artifactId>sal-binding-api</artifactId>
index ef5b9e4..8c7e1a3 100644 (file)
@@ -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;
index 9bbb399..878487c 100644 (file)
@@ -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 70e28d5..5dd30d0 100644 (file)
--- 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>
index 964174c..5fe3f1a 100644 (file)
@@ -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>
 
index 82a2c67..71ff643 100644 (file)
@@ -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>
index c91c805..2a81d34 100644 (file)
@@ -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>
index 74eb8be..a138094 100755 (executable)
@@ -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>
index a72517c..b7d200f 100644 (file)
@@ -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>
     <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>
index 3dd5105..5a6a472 100755 (executable)
@@ -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";
 
index c159343..00469a6 100644 (file)
@@ -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>
index 678cc16..7d799eb 100644 (file)
@@ -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>
     <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>
             <artifactId>vnfapi-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>
index 1a05d2d..46184b0 100644 (file)
@@ -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);
     }
+
+
 }
index 0c02552..7ce99ec 100644 (file)
@@ -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);
 
index d791fa9..352e940 100644 (file)
@@ -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();
index ef0c097..3353caf 100644 (file)
@@ -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>
 
index 3bc92e8..e4a9ba5 100644 (file)
@@ -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>
index fd63f3a..34b8e60 100644 (file)
@@ -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>
index 7aaed39..1ad019b 100755 (executable)
@@ -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>
index 89aac2b..263bf97 100644 (file)
@@ -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>
index ced219d..19d8c4f 100644 (file)
@@ -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>
     <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>