migrate sli to alu-SR1

migrate ODL interfaces and fix code for changes in alu-SR1

Issue-ID: CCSDK-3089
Signed-off-by: Michael DÜrre <michael.duerre@highstreet-technologies.com>
Change-Id: Id48dcfc517585f2ce6b30047113cd1d173c3c9dc
Signed-off-by: Michael DÜrre <michael.duerre@highstreet-technologies.com>
diff --git a/northbound/daexim-offsite-backup/provider/pom.xml b/northbound/daexim-offsite-backup/provider/pom.xml
index c7b7d1c..9db8934 100755
--- a/northbound/daexim-offsite-backup/provider/pom.xml
+++ b/northbound/daexim-offsite-backup/provider/pom.xml
@@ -23,30 +23,30 @@
             <version>${project.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.opendaylight.controller</groupId>
-            <artifactId>sal-binding-api</artifactId>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>mdsal-binding-api</artifactId>
         </dependency>
         <dependency>
             <groupId>org.opendaylight.controller</groupId>
             <artifactId>sal-common-util</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.opendaylight.controller</groupId>
-            <artifactId>sal-test-model</artifactId>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>mdsal-binding-test-model</artifactId>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>org.opendaylight.controller</groupId>
-            <artifactId>sal-binding-broker-impl</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.opendaylight.controller</groupId>
-            <artifactId>sal-binding-broker-impl</artifactId>
-            <type>test-jar</type>
-            <classifier>tests</classifier>
-            <scope>test</scope>
-        </dependency>
+<!--         <dependency> -->
+<!--             <groupId>org.opendaylight.controller</groupId> -->
+<!--             <artifactId>sal-binding-broker-impl</artifactId> -->
+<!--             <scope>test</scope> -->
+<!--         </dependency> -->
+<!--         <dependency> -->
+<!--             <groupId>org.opendaylight.controller</groupId> -->
+<!--             <artifactId>sal-binding-broker-impl</artifactId> -->
+<!--             <type>test-jar</type> -->
+<!--             <classifier>tests</classifier> -->
+<!--             <scope>test</scope> -->
+<!--         </dependency> -->
         <dependency>
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-lang3</artifactId>
diff --git a/northbound/daexim-offsite-backup/provider/src/main/java/org/onap/ccsdk/sli/northbound/daeximoffsitebackup/DaeximOffsiteBackupProvider.java b/northbound/daexim-offsite-backup/provider/src/main/java/org/onap/ccsdk/sli/northbound/daeximoffsitebackup/DaeximOffsiteBackupProvider.java
index 09c8f92..7ee2a91 100755
--- a/northbound/daexim-offsite-backup/provider/src/main/java/org/onap/ccsdk/sli/northbound/daeximoffsitebackup/DaeximOffsiteBackupProvider.java
+++ b/northbound/daexim-offsite-backup/provider/src/main/java/org/onap/ccsdk/sli/northbound/daeximoffsitebackup/DaeximOffsiteBackupProvider.java
@@ -21,6 +21,9 @@
 
 package org.onap.ccsdk.sli.northbound.daeximoffsitebackup;
 
+import com.google.common.util.concurrent.FluentFuture;
+import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
@@ -44,27 +47,22 @@
 import java.util.zip.ZipInputStream;
 import java.util.zip.ZipOutputStream;
 import javax.annotation.Nonnull;
-
-import com.google.common.util.concurrent.CheckedFuture;
-import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
-
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeChangeListener;
-import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
-import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
-import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
+import org.eclipse.jdt.annotation.NonNull;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataTreeChangeListener;
+import org.opendaylight.mdsal.binding.api.RpcProviderService;
+import org.opendaylight.mdsal.binding.api.WriteTransaction;
+import org.opendaylight.mdsal.common.api.CommitInfo;
 import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.daeximoffsitebackup.rev180926.BackupDataInput;
 import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.daeximoffsitebackup.rev180926.BackupDataOutput;
 import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.daeximoffsitebackup.rev180926.BackupDataOutputBuilder;
 import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.daeximoffsitebackup.rev180926.DaeximOffsiteBackupService;
+import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.daeximoffsitebackup.rev180926.RetrieveDataInput;
 import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.daeximoffsitebackup.rev180926.RetrieveDataOutput;
 import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.daeximoffsitebackup.rev180926.RetrieveDataOutputBuilder;
-import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.daeximoffsitebackup.rev180926.RetrieveDataInput;
+import org.opendaylight.yangtools.concepts.ObjectRegistration;
 import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -86,11 +84,11 @@
     private final ExecutorService executor;
     private Properties properties;
     private DataBroker dataBroker;
-    private RpcProviderRegistry rpcRegistry;
-    private BindingAwareBroker.RpcRegistration<DaeximOffsiteBackupService> rpcRegistration;
+    private RpcProviderService rpcRegistry;
+    private ObjectRegistration<DaeximOffsiteBackupService> rpcRegistration;
 
     public DaeximOffsiteBackupProvider(DataBroker dataBroker,
-                                       RpcProviderRegistry rpcProviderRegistry) {
+            RpcProviderService rpcProviderRegistry) {
         LOG.info("Creating provider for " + appName);
         this.executor = Executors.newFixedThreadPool(1);
         this.dataBroker = dataBroker;
@@ -107,7 +105,7 @@
         } catch (Exception e) {
             LOG.error("Caught Exception while trying to load properties file", e);
         }
-        rpcRegistration = rpcRegistry.addRpcImplementation(DaeximOffsiteBackupService.class, this);
+        rpcRegistration = rpcRegistry.registerRpcImplementation(DaeximOffsiteBackupService.class, this);
         LOG.info("Initialization complete for " + appName);
     }
 
@@ -173,7 +171,7 @@
     private void createContainers() {
         final WriteTransaction t = dataBroker.newReadWriteTransaction();
         try {
-            CheckedFuture<Void, TransactionCommitFailedException> checkedFuture = t.submit();
+            FluentFuture<? extends @NonNull CommitInfo> checkedFuture = t.commit();
             checkedFuture.get();
             LOG.info("Create Containers succeeded!: ");
         } catch (InterruptedException | ExecutionException e) {
diff --git a/northbound/daexim-offsite-backup/provider/src/main/resources/OSGI-INF/blueprint/DaeximOffsiteBackup.xml b/northbound/daexim-offsite-backup/provider/src/main/resources/OSGI-INF/blueprint/DaeximOffsiteBackup.xml
deleted file mode 100755
index 8e2101a..0000000
--- a/northbound/daexim-offsite-backup/provider/src/main/resources/OSGI-INF/blueprint/DaeximOffsiteBackup.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
-           xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
-           odl:use-default-for-reference-types="true">
-
-    <reference id="dataBroker"
-               interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
-               odl:type="default" />
-
-    <reference id="rpcRegistry"
-               interface="org.opendaylight.controller.sal.binding.api.RpcProviderRegistry"
-               odl:type="default" />
-
-    <bean id="provider" class="org.onap.ccsdk.sli.northbound.daeximoffsitebackup.DaeximOffsiteBackupProvider">
-        <argument ref="dataBroker" />
-        <argument ref="rpcRegistry" />
-    </bean>
-
-    <odl:rpc-implementation ref="provider"/>
-</blueprint>
diff --git a/northbound/daexim-offsite-backup/provider/src/main/resources/org/opendaylight/blueprint/DaeximOffsiteBackup.xml b/northbound/daexim-offsite-backup/provider/src/main/resources/org/opendaylight/blueprint/DaeximOffsiteBackup.xml
index 8e2101a..6118f28 100755
--- a/northbound/daexim-offsite-backup/provider/src/main/resources/org/opendaylight/blueprint/DaeximOffsiteBackup.xml
+++ b/northbound/daexim-offsite-backup/provider/src/main/resources/org/opendaylight/blueprint/DaeximOffsiteBackup.xml
@@ -4,12 +4,10 @@
            odl:use-default-for-reference-types="true">
 
     <reference id="dataBroker"
-               interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
-               odl:type="default" />
+               interface="org.opendaylight.controller.md.sal.binding.api.DataBroker" />
 
     <reference id="rpcRegistry"
-               interface="org.opendaylight.controller.sal.binding.api.RpcProviderRegistry"
-               odl:type="default" />
+               interface="org.opendaylight.mdsal.binding.api.RpcProviderService" />
 
     <bean id="provider" class="org.onap.ccsdk.sli.northbound.daeximoffsitebackup.DaeximOffsiteBackupProvider">
         <argument ref="dataBroker" />
diff --git a/northbound/daexim-offsite-backup/provider/src/test/java/org/onap/ccsdk/sli/northbound/daeximoffsitebackup/DaeximOffsiteBackupProviderTest.java b/northbound/daexim-offsite-backup/provider/src/test/java/org/onap/ccsdk/sli/northbound/daeximoffsitebackup/DaeximOffsiteBackupProviderTest.java
index 0f0cee2..03fe375 100644
--- a/northbound/daexim-offsite-backup/provider/src/test/java/org/onap/ccsdk/sli/northbound/daeximoffsitebackup/DaeximOffsiteBackupProviderTest.java
+++ b/northbound/daexim-offsite-backup/provider/src/test/java/org/onap/ccsdk/sli/northbound/daeximoffsitebackup/DaeximOffsiteBackupProviderTest.java
@@ -26,7 +26,7 @@
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
-import com.google.common.util.concurrent.CheckedFuture;
+import com.google.common.util.concurrent.FluentFuture;
 import java.io.File;
 import java.lang.reflect.Field;
 import java.lang.reflect.InvocationTargetException;
@@ -38,10 +38,9 @@
 import org.eclipse.jdt.annotation.Nullable;
 import org.junit.Before;
 import org.junit.Test;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
-import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.ReadWriteTransaction;
+import org.opendaylight.mdsal.binding.api.RpcProviderService;
 import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.daeximoffsitebackup.rev180926.DaeximOffsiteBackupService;
 import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.daeximoffsitebackup.rev180926.RetrieveDataInput;
 import org.opendaylight.yangtools.yang.binding.Augmentation;
@@ -49,8 +48,8 @@
 public class DaeximOffsiteBackupProviderTest {
     public DataBroker dataBroker;
     public ReadWriteTransaction writeTransaction;
-    public CheckedFuture<Void, TransactionCommitFailedException> checkedFuture;
-    public RpcProviderRegistry rpcRegistry;
+    public FluentFuture checkedFuture;
+    public RpcProviderService rpcRegistry;
     public DaeximOffsiteBackupProvider provider;
     public Properties resProps;
 
@@ -61,16 +60,16 @@
         resProps.put("error-message", "Success");
         dataBroker = mock(DataBroker.class);
         writeTransaction = mock(ReadWriteTransaction.class);
-        checkedFuture = mock(CheckedFuture.class);
-        rpcRegistry = mock(RpcProviderRegistry.class);
-        when(rpcRegistry.addRoutedRpcImplementation(any(), any(DaeximOffsiteBackupService.class))).thenReturn(null);
+        checkedFuture = mock(FluentFuture.class);
+        rpcRegistry = mock(RpcProviderService.class);
+        when(rpcRegistry.registerRpcImplementation(any(), any(DaeximOffsiteBackupService.class))).thenReturn(null);
         try {
             when(checkedFuture.get()).thenReturn(null);
         }
         catch(InterruptedException | ExecutionException e) {
             e.printStackTrace();
         }
-        when(writeTransaction.submit()).thenReturn(checkedFuture);
+        when(writeTransaction.commit()).thenReturn(checkedFuture);
         when(dataBroker.newReadWriteTransaction()).thenReturn(writeTransaction);
 
         provider = new DaeximOffsiteBackupProvider(dataBroker, rpcRegistry);