diff options
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(); @@ -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> |