Migrate to MD-SAL APIs 24/80524/4
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 21 Feb 2019 16:14:32 +0000 (17:14 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 9 May 2019 15:20:16 +0000 (17:20 +0200)
Migrate to use MD-SAL APIs instead of deprecated Controller APIs.

Change-Id: I642d319c8cddf958ac44cad328d99fdd1e1270e9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
43 files changed:
commons/parent/pom.xml
mappingservice/dsbackend/pom.xml
mappingservice/dsbackend/src/main/java/org/opendaylight/lispflowmapping/dsbackend/DataStoreBackEnd.java
mappingservice/dsbackend/src/test/java/org/opendaylight/lispflowmapping/dsbackend/DataStoreBackEndTest.java
mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/LispMappingService.java
mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/MappingService.java
mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/MappingSystem.java
mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/lisp/MapServer.java
mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/mdsal/AbstractDataListener.java
mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/mdsal/AuthenticationKeyDataListener.java
mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/mdsal/MappingDataListener.java
mappingservice/implementation/src/main/resources/OSGI-INF/blueprint/mappingservice.xml
mappingservice/implementation/src/test/java/org/opendaylight/lispflowmapping/implementation/LispMappingServiceTest.java
mappingservice/implementation/src/test/java/org/opendaylight/lispflowmapping/implementation/MappingSystemTest.java
mappingservice/implementation/src/test/java/org/opendaylight/lispflowmapping/implementation/lisp/MapServerTest.java
mappingservice/implementation/src/test/java/org/opendaylight/lispflowmapping/implementation/lisp/MappingServiceTest.java
mappingservice/implementation/src/test/java/org/opendaylight/lispflowmapping/implementation/mdsal/AuthenticationKeyDataListenerTest.java
mappingservice/implementation/src/test/java/org/opendaylight/lispflowmapping/implementation/mdsal/MappingDataListenerTest.java
mappingservice/neutron/pom.xml
mappingservice/neutron/src/main/java/org/opendaylight/lispflowmapping/neutron/DelegatingDataTreeListener.java
mappingservice/neutron/src/main/java/org/opendaylight/lispflowmapping/neutron/LispNeutronService.java
mappingservice/neutron/src/main/java/org/opendaylight/lispflowmapping/neutron/NetworkListener.java
mappingservice/neutron/src/main/java/org/opendaylight/lispflowmapping/neutron/PortListener.java
mappingservice/neutron/src/main/java/org/opendaylight/lispflowmapping/neutron/SubnetListener.java
mappingservice/neutron/src/main/java/org/opendaylight/lispflowmapping/neutron/intenthandler/GroupBasedPolicyNeutronIntentHandlerBean.java
mappingservice/neutron/src/main/java/org/opendaylight/lispflowmapping/neutron/intenthandler/listener/VbridgeTopologyListener.java
mappingservice/neutron/src/main/java/org/opendaylight/lispflowmapping/neutron/intenthandler/listener/VppEndpointListener.java
mappingservice/neutron/src/main/java/org/opendaylight/lispflowmapping/neutron/intenthandler/listener/service/VbridgeTopologyListenerService.java
mappingservice/neutron/src/main/java/org/opendaylight/lispflowmapping/neutron/intenthandler/util/LispNeutronUtil.java
mappingservice/neutron/src/main/java/org/opendaylight/lispflowmapping/neutron/intenthandler/util/VppNetconfConnectionProbe.java
mappingservice/neutron/src/main/java/org/opendaylight/lispflowmapping/neutron/intenthandler/util/VppNetconfTrasaction.java
mappingservice/neutron/src/main/java/org/opendaylight/lispflowmapping/neutron/intenthandler/util/VppNodeReader.java
mappingservice/neutron/src/main/resources/OSGI-INF/blueprint/neutron.xml
mappingservice/neutron/src/test/java/org/opendaylight/lispflowmapping/neutron/DelegatingDataTreeListenerTest.java
mappingservice/neutron/src/test/java/org/opendaylight/lispflowmapping/neutron/LispNeutronServiceTest.java
mappingservice/neutron/src/test/java/org/opendaylight/lispflowmapping/neutron/ListenerTest.java
mappingservice/neutron/src/test/java/org/opendaylight/lispflowmapping/neutron/SubnetDataProcessorTest.java
mappingservice/southbound/src/main/java/org/opendaylight/lispflowmapping/southbound/LispSouthboundPlugin.java
mappingservice/southbound/src/main/java/org/opendaylight/lispflowmapping/southbound/lisp/AuthenticationKeyDataListener.java
mappingservice/southbound/src/main/resources/OSGI-INF/blueprint/mappingservice-southbound.xml
mappingservice/southbound/src/test/java/org/opendaylight/lispflowmapping/southbound/LispSouthboundPluginTest.java
mappingservice/southbound/src/test/java/org/opendaylight/lispflowmapping/southbound/lisp/AuthenticationKeyDataListenerTest.java
mappingservice/southbound/src/test/java/org/opendaylight/lispflowmapping/southbound/lisp/LispSouthboundHandlerTest.java

index e3135dc0ebda37e400089a332c187031112a6c62..4f9d38eeeb095f1c14b865cffc390ea00771fbc6 100644 (file)
         <artifactId>netty-event-executor-config</artifactId>
         <version>${config.version}</version>
       </dependency>
-      <dependency>
-        <groupId>org.opendaylight.controller</groupId>
-        <artifactId>sal-binding-api</artifactId>
-        <version>${mdsal.version}</version>
-      </dependency>
       <dependency>
         <groupId>org.opendaylight.controller</groupId>
         <artifactId>sal-binding-broker-impl</artifactId>
index a5dbbcf45b38c6128dcf686be158e2fd48baa47f..e6d162c44b5512c4cf8056931711a24b50684a0e 100644 (file)
@@ -36,9 +36,8 @@
       <artifactId>junit-addons</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-binding-api</artifactId>
-      <version>1.10.0-SNAPSHOT</version>
+      <groupId>org.opendaylight.mdsal</groupId>
+      <artifactId>mdsal-binding-api</artifactId>
     </dependency>
     <dependency>
       <groupId>javax.xml.bind</groupId>
index aa29a060456f7f7fb671e36caaedbd516c3d2b51..52aa77b816efc3696496d3cd15cb4ff13eddff6c 100644 (file)
@@ -7,25 +7,24 @@
  */
 package org.opendaylight.lispflowmapping.dsbackend;
 
-import com.google.common.base.Optional;
 import com.google.common.base.Preconditions;
-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.util.concurrent.MoreExecutors;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
-import org.opendaylight.controller.md.sal.binding.api.BindingTransactionChain;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-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.AsyncTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
-import org.opendaylight.controller.md.sal.common.api.data.TransactionChain;
-import org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener;
+import java.util.Optional;
+import java.util.concurrent.ExecutionException;
 import org.opendaylight.lispflowmapping.lisp.util.LispAddressStringifier;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.ReadTransaction;
+import org.opendaylight.mdsal.binding.api.Transaction;
+import org.opendaylight.mdsal.binding.api.TransactionChain;
+import org.opendaylight.mdsal.binding.api.TransactionChainListener;
+import org.opendaylight.mdsal.binding.api.WriteTransaction;
+import org.opendaylight.mdsal.common.api.CommitInfo;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.XtrId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.MappingDatabase;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.MappingOrigin;
@@ -51,8 +50,8 @@ public class DataStoreBackEnd implements TransactionChainListener {
             InstanceIdentifier.create(MappingDatabase.class);
     private static final InstanceIdentifier<LastUpdated> LAST_UPDATED =
             InstanceIdentifier.create(MappingDatabase.class).child(LastUpdated.class);
-    private DataBroker broker;
-    private BindingTransactionChain txChain;
+    private final DataBroker broker;
+    private TransactionChain txChain;
 
     public DataStoreBackEnd(DataBroker broker) {
         this.broker = broker;
@@ -61,7 +60,7 @@ public class DataStoreBackEnd implements TransactionChainListener {
 
     public void createTransactionChain() {
         LOG.debug("Creating DataStoreBackEnd transaction chain...");
-        txChain = broker.createTransactionChain(this);
+        txChain = broker.createMergingTransactionChain(this);
     }
 
     public void addAuthenticationKey(AuthenticationKey authenticationKey) {
@@ -193,7 +192,7 @@ public class DataStoreBackEnd implements TransactionChainListener {
     public List<Mapping> getAllMappings(LogicalDatastoreType logicalDataStore) {
         LOG.debug("MD-SAL: Get all mappings from {} datastore",
                 logicalDataStore == LogicalDatastoreType.CONFIGURATION ? "config" : "operational");
-        List<Mapping> mappings = new ArrayList<Mapping>();
+        List<Mapping> mappings = new ArrayList<>();
         MappingDatabase mdb = readTransaction(DATABASE_ROOT, logicalDataStore);
 
         if (mdb != null && mdb.getVirtualNetworkIdentifier() != null) {
@@ -210,7 +209,7 @@ public class DataStoreBackEnd implements TransactionChainListener {
 
     public List<AuthenticationKey> getAllAuthenticationKeys() {
         LOG.debug("MD-SAL: Get all authentication keys from datastore");
-        List<AuthenticationKey> authKeys = new ArrayList<AuthenticationKey>();
+        List<AuthenticationKey> authKeys = new ArrayList<>();
         MappingDatabase mdb = readTransaction(DATABASE_ROOT, LogicalDatastoreType.CONFIGURATION);
 
         if (mdb != null && mdb.getVirtualNetworkIdentifier() != null) {
@@ -260,11 +259,13 @@ public class DataStoreBackEnd implements TransactionChainListener {
             InstanceIdentifier<U> addIID, U data, LogicalDatastoreType logicalDatastoreType, String errMsg) {
         WriteTransaction writeTx = txChain.newWriteOnlyTransaction();
         writeTx.put(logicalDatastoreType, addIID, data, true);
-        Futures.addCallback(writeTx.submit(), new FutureCallback<Void>() {
+        writeTx.commit().addCallback(new FutureCallback<CommitInfo>() {
 
-            public void onSuccess(Void result) {
+            @Override
+            public void onSuccess(CommitInfo result) {
             }
 
+            @Override
             public void onFailure(Throwable throwable) {
                 LOG.error("Transaction failed:", throwable);
             }
@@ -273,17 +274,18 @@ public class DataStoreBackEnd implements TransactionChainListener {
 
     private <U extends org.opendaylight.yangtools.yang.binding.DataObject> U readTransaction(
             InstanceIdentifier<U> readIID, LogicalDatastoreType logicalDatastoreType) {
-        ReadOnlyTransaction readTx = txChain.newReadOnlyTransaction();
-        CheckedFuture<Optional<U>, ReadFailedException> readFuture = readTx.read(logicalDatastoreType, readIID);
-        readTx.close();
+        final ListenableFuture<Optional<U>> readFuture;
+        try (ReadTransaction readTx = txChain.newReadOnlyTransaction()) {
+            readFuture = readTx.read(logicalDatastoreType, readIID);
+        }
         try {
-            Optional<U> optionalDataObject = readFuture.checkedGet();
+            Optional<U> optionalDataObject = readFuture.get();
             if (optionalDataObject != null && optionalDataObject.isPresent()) {
                 return optionalDataObject.get();
             } else {
                 LOG.debug("{}: Failed to read", Thread.currentThread().getStackTrace()[1]);
             }
-        } catch (ReadFailedException e) {
+        } catch (InterruptedException | ExecutionException e) {
             LOG.warn("Failed to ....", e);
         }
         return null;
@@ -294,24 +296,26 @@ public class DataStoreBackEnd implements TransactionChainListener {
 
         WriteTransaction writeTx = txChain.newWriteOnlyTransaction();
         writeTx.delete(logicalDatastoreType, deleteIID);
-        Futures.addCallback(writeTx.submit(), new FutureCallback<Void>() {
-
-            public void onSuccess(Void result) {
+        writeTx.commit().addCallback(new FutureCallback<CommitInfo>() {
+            @Override
+            public void onSuccess(CommitInfo result) {
             }
 
+            @Override
             public void onFailure(Throwable throwable) {
                 LOG.error("Transaction failed:", throwable);
             }
         }, MoreExecutors.directExecutor());
     }
 
-    public void onTransactionChainFailed(TransactionChain<?, ?> chain, AsyncTransaction<?, ?> transaction,
-            Throwable cause) {
+    @Override
+    public void onTransactionChainFailed(TransactionChain chain, Transaction transaction, Throwable cause) {
         LOG.error("Broken chain {} in DataStoreBackEnd, transaction {}, cause {}", chain, transaction.getIdentifier(),
                 cause);
     }
 
-    public void onTransactionChainSuccessful(TransactionChain<?, ?> chain) {
+    @Override
+    public void onTransactionChainSuccessful(TransactionChain chain) {
         LOG.info("DataStoreBackEnd closed successfully, chain {}", chain);
     }
 
index 6baf180fd47392e8a7963563542dd60e91b854a5..0659bcfc29189aeefaac7af2df79084e6e2122c5 100644 (file)
@@ -9,11 +9,10 @@ package org.opendaylight.lispflowmapping.dsbackend;
 
 import static org.junit.Assert.assertEquals;
 
-import com.google.common.base.Optional;
 import com.google.common.collect.Lists;
-import com.google.common.util.concurrent.CheckedFuture;
-import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.FluentFuture;
 import java.util.ArrayList;
+import java.util.Optional;
 import javax.xml.bind.DatatypeConverter;
 import org.junit.Before;
 import org.junit.Test;
@@ -23,16 +22,14 @@ import org.mockito.Captor;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.junit.MockitoJUnitRunner;
-import org.opendaylight.controller.md.sal.binding.api.BindingTransactionChain;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-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.AsyncTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
-import org.opendaylight.controller.md.sal.common.api.data.TransactionChain;
-import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
 import org.opendaylight.lispflowmapping.lisp.util.LispAddressUtil;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.ReadTransaction;
+import org.opendaylight.mdsal.binding.api.Transaction;
+import org.opendaylight.mdsal.binding.api.TransactionChain;
+import org.opendaylight.mdsal.binding.api.WriteTransaction;
+import org.opendaylight.mdsal.common.api.CommitInfo;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.XtrId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.Eid;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.authkey.container.MappingAuthkeyBuilder;
@@ -54,6 +51,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev15090
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.db.instance.mapping.XtrIdMappingKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.mapping.database.VirtualNetworkIdentifier;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.mapping.database.VirtualNetworkIdentifierBuilder;
+import org.opendaylight.yangtools.util.concurrent.FluentFutures;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.powermock.api.mockito.PowerMockito;
 import org.powermock.core.classloader.annotations.PowerMockIgnore;
@@ -72,7 +70,7 @@ public class DataStoreBackEndTest {
     @Captor private static ArgumentCaptor<InstanceIdentifier<AuthenticationKey>> iidCaptorAuthKey;
     @Captor private static ArgumentCaptor<InstanceIdentifier<Mapping>> iidCaptorMapping;
     @Captor private static ArgumentCaptor<InstanceIdentifier<XtrIdMapping>> iidCaptorXtrIdMapping;
-    @Mock private static BindingTransactionChain txChainMock;
+    @Mock private static TransactionChain txChainMock;
     @Mock private static WriteTransaction wTxMock;
     private static DataStoreBackEnd dataStoreBackEnd;
 
@@ -98,12 +96,12 @@ public class DataStoreBackEndTest {
         PowerMockito.when(LoggerFactory.getLogger(DataStoreBackEnd.class))
                 .thenReturn(logMock);
         Mockito.when(logMock.isDebugEnabled()).thenReturn(true);
-        Mockito.when(brokerMock.createTransactionChain(Mockito.any(DataStoreBackEnd.class))).thenReturn(txChainMock);
+        Mockito.when(brokerMock.createMergingTransactionChain(Mockito.any(DataStoreBackEnd.class)))
+                .thenReturn(txChainMock);
         dataStoreBackEnd = PowerMockito.spy(new DataStoreBackEnd(brokerMock));
 
         Mockito.when(txChainMock.newWriteOnlyTransaction()).thenReturn(wTxMock);
-        Mockito.when(wTxMock.submit())
-                .thenReturn(Futures.<Void, TransactionCommitFailedException>immediateCheckedFuture(null));
+        Mockito.doReturn(CommitInfo.emptyFluentFuture()).when(wTxMock).commit();
     }
 
     /**
@@ -256,43 +254,31 @@ public class DataStoreBackEndTest {
      * Tests {@link DataStoreBackEnd#getAllMappings} method.
      */
     @Test
-    @SuppressWarnings("unchecked")
-    public void getAllMappingsTest() throws ReadFailedException {
-        final ReadOnlyTransaction rTxMock = Mockito.mock(ReadOnlyTransaction.class);
-        final CheckedFuture<Optional<MappingDatabase>, ReadFailedException> readFutureMock
-                = Mockito.mock(CheckedFuture.class);
-        final Optional<MappingDatabase> optionalMock = Mockito.mock(Optional.class);
+    public void getAllMappingsTest() {
+        final ReadTransaction rTxMock = Mockito.mock(ReadTransaction.class);
+        final FluentFuture<Optional<MappingDatabase>> readFutureMock = FluentFutures.immediateFluentFuture(
+            Optional.of(getDefaultMappingDatabase().build()));
 
         Mockito.when(txChainMock.newReadOnlyTransaction()).thenReturn(rTxMock);
         Mockito.when(rTxMock.read(LogicalDatastoreType.CONFIGURATION, DATABASE_ROOT)).thenReturn(readFutureMock);
         Mockito.when(rTxMock.read(LogicalDatastoreType.OPERATIONAL, DATABASE_ROOT)).thenReturn(readFutureMock);
-        Mockito.when(readFutureMock.checkedGet()).thenReturn(optionalMock);
-        Mockito.when(optionalMock.isPresent()).thenReturn(true);
-        Mockito.when(optionalMock.get()).thenReturn(getDefaultMappingDatabase().build());
 
         assertEquals(8, dataStoreBackEnd.getAllMappings().size());
-        Mockito.verify(optionalMock, Mockito.times(2)).get();
     }
 
     /**
      * Tests {@link DataStoreBackEnd#getAllAuthenticationKeys} method.
      */
     @Test
-    @SuppressWarnings("unchecked")
-    public void getAllAuthenticationKeysTest() throws ReadFailedException {
-        final ReadOnlyTransaction rTxMock = Mockito.mock(ReadOnlyTransaction.class);
-        final CheckedFuture<Optional<MappingDatabase>, ReadFailedException> readFutureMock
-                = Mockito.mock(CheckedFuture.class);
-        final Optional<MappingDatabase> optionalMock = Mockito.mock(Optional.class);
+    public void getAllAuthenticationKeysTest() {
+        final ReadTransaction rTxMock = Mockito.mock(ReadTransaction.class);
+        final FluentFuture<Optional<MappingDatabase>> readFutureMock = FluentFutures.immediateFluentFuture(
+            Optional.of(getDefaultMappingDatabase().build()));
 
         Mockito.when(txChainMock.newReadOnlyTransaction()).thenReturn(rTxMock);
         Mockito.when(rTxMock.read(LogicalDatastoreType.CONFIGURATION, DATABASE_ROOT)).thenReturn(readFutureMock);
-        Mockito.when(readFutureMock.checkedGet()).thenReturn(optionalMock);
-        Mockito.when(optionalMock.isPresent()).thenReturn(true);
-        Mockito.when(optionalMock.get()).thenReturn(getDefaultMappingDatabase().build());
 
         assertEquals(4, dataStoreBackEnd.getAllAuthenticationKeys().size());
-        Mockito.verify(optionalMock).get();
     }
 
     /**
@@ -310,7 +296,7 @@ public class DataStoreBackEndTest {
      */
     @Test
     public void onTransactionChainFailedTest() {
-        AsyncTransaction<?,?> asyncTransactionMock = Mockito.mock(AsyncTransaction.class);
+        Transaction asyncTransactionMock = Mockito.mock(Transaction.class);
         Mockito.when(asyncTransactionMock.getIdentifier()).thenReturn(new Object());
         dataStoreBackEnd.onTransactionChainFailed(Mockito.mock(TransactionChain.class), asyncTransactionMock,
                 Mockito.mock(Throwable.class));
index 1fcfe00c96a90b3f084016359fd7f5700171403f..c14f74f7fd589f73e71386ee60894b9e0ddc8e49 100644 (file)
@@ -13,7 +13,6 @@ import com.google.common.util.concurrent.ListenableFuture;
 import java.util.List;
 import org.apache.commons.lang3.tuple.MutablePair;
 import org.apache.commons.lang3.tuple.Pair;
-import org.opendaylight.controller.md.sal.binding.api.NotificationService;
 import org.opendaylight.lispflowmapping.config.ConfigIni;
 import org.opendaylight.lispflowmapping.implementation.lisp.MapResolver;
 import org.opendaylight.lispflowmapping.implementation.lisp.MapServer;
@@ -27,6 +26,7 @@ import org.opendaylight.lispflowmapping.interfaces.lisp.ISmrNotificationListener
 import org.opendaylight.lispflowmapping.interfaces.mappingservice.IMappingService;
 import org.opendaylight.lispflowmapping.lisp.type.LispMessage;
 import org.opendaylight.lispflowmapping.lisp.util.LispAddressStringifier;
+import org.opendaylight.mdsal.binding.api.NotificationService;
 import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonService;
 import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider;
 import org.opendaylight.mdsal.singleton.common.api.ServiceGroupIdentifier;
@@ -73,11 +73,9 @@ public class LispMappingService implements IFlowMapping, IMapRequestResultHandle
     private volatile boolean smr = ConfigIni.getInstance().smrIsSet();
     private volatile String elpPolicy = ConfigIni.getInstance().getElpPolicy();
 
-    private ThreadLocal<MapReply> tlsMapReply = new ThreadLocal<MapReply>();
-    private ThreadLocal<Pair<MapNotify, List<TransportAddress>>> tlsMapNotify =
-            new ThreadLocal<Pair<MapNotify, List<TransportAddress>>>();
-    private ThreadLocal<Pair<MapRequest, TransportAddress>> tlsMapRequest =
-            new ThreadLocal<Pair<MapRequest, TransportAddress>>();
+    private ThreadLocal<MapReply> tlsMapReply = new ThreadLocal<>();
+    private ThreadLocal<Pair<MapNotify, List<TransportAddress>>> tlsMapNotify = new ThreadLocal<>();
+    private ThreadLocal<Pair<MapRequest, TransportAddress>> tlsMapRequest = new ThreadLocal<>();
 
     private final OdlLispSbService lispSB;
     private IMapResolverAsync mapResolver;
@@ -101,6 +99,7 @@ public class LispMappingService implements IFlowMapping, IMapRequestResultHandle
         return this.smr;
     }
 
+    @Override
     public void setShouldUseSmr(boolean shouldUseSmr) {
         this.smr = shouldUseSmr;
         if (mapServer != null) {
@@ -130,6 +129,7 @@ public class LispMappingService implements IFlowMapping, IMapRequestResultHandle
         mapResolver.setSmrNotificationListener((ISmrNotificationListener) mapServer);
     }
 
+    @Override
     public MapReply handleMapRequest(MapRequest request) {
         if (LOG.isDebugEnabled()) {
             LOG.debug("LISP: Retrieving mapping for {}",
@@ -151,6 +151,7 @@ public class LispMappingService implements IFlowMapping, IMapRequestResultHandle
         }
     }
 
+    @Override
     public Pair<MapNotify, List<TransportAddress>> handleMapRegister(MapRegister mapRegister) {
         if (LOG.isDebugEnabled()) {
             LOG.debug("LISP: Adding mapping for {}",
@@ -201,7 +202,7 @@ public class LispMappingService implements IFlowMapping, IMapRequestResultHandle
         MapReply mapReply = handleMapRequest(mapRequestNotification.getMapRequest());
         if (mapReply != null) {
             SendMapReplyInputBuilder smrib = new SendMapReplyInputBuilder();
-            smrib.setMapReply((new MapReplyBuilder(mapReply).build()));
+            smrib.setMapReply(new MapReplyBuilder(mapReply).build());
             smrib.setTransportAddress(mapRequestNotification.getTransportAddress());
             getLispSB().sendMapReply(smrib.build());
         } else {
@@ -253,7 +254,7 @@ public class LispMappingService implements IFlowMapping, IMapRequestResultHandle
 
     @Override
     public void handleMapNotify(MapNotify notify, List<TransportAddress> rlocs) {
-        tlsMapNotify.set(new MutablePair<MapNotify, List<TransportAddress>>(notify, rlocs));
+        tlsMapNotify.set(new MutablePair<>(notify, rlocs));
     }
 
     @Override
@@ -273,7 +274,7 @@ public class LispMappingService implements IFlowMapping, IMapRequestResultHandle
 
     @Override
     public void handleNonProxyMapRequest(MapRequest mapRequest, TransportAddress transportAddress) {
-        tlsMapRequest.set(new MutablePair<MapRequest, TransportAddress>(mapRequest, transportAddress));
+        tlsMapRequest.set(new MutablePair<>(mapRequest, transportAddress));
     }
 
     private void destroy() {
index fbfb83774ea6c7ac2d5bafdc4f3a50ab8aee3721..e8ac91bdfb5120918a01985aaff4255ca78499c9 100644 (file)
@@ -13,9 +13,6 @@ import com.google.common.util.concurrent.ListenableFuture;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
-
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
 import org.opendaylight.lispflowmapping.config.ConfigIni;
 import org.opendaylight.lispflowmapping.dsbackend.DataStoreBackEnd;
 import org.opendaylight.lispflowmapping.implementation.mdsal.AuthenticationKeyDataListener;
@@ -27,6 +24,8 @@ import org.opendaylight.lispflowmapping.interfaces.dao.Subscriber;
 import org.opendaylight.lispflowmapping.interfaces.mappingservice.IMappingService;
 import org.opendaylight.lispflowmapping.lisp.type.MappingData;
 import org.opendaylight.lispflowmapping.lisp.util.LispAddressUtil;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.NotificationPublishService;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.SiteId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.XtrId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.Eid;
@@ -123,8 +122,8 @@ public class MappingService implements OdlMappingserviceService, IMappingService
     private final NotificationPublishService notificationPublishService;
 
     private boolean mappingMergePolicy = ConfigIni.getInstance().mappingMergeIsSet();
-    private boolean notificationPolicy = ConfigIni.getInstance().smrIsSet();
-    private boolean iterateMask = true;
+    private final boolean notificationPolicy = ConfigIni.getInstance().smrIsSet();
+    private final boolean iterateMask = true;
     private boolean isMaster = false;
 
     public MappingService(final DataBroker broker,
@@ -576,7 +575,7 @@ public class MappingService implements OdlMappingserviceService, IMappingService
         }
 
         if (LispAddressUtil.addressNeedsConversionFromBinary(originalRecord.getEid().getAddress())
-                || (originalLocators != null && convertedLocators != null)) {
+                || originalLocators != null && convertedLocators != null) {
             MappingRecordBuilder mrb = new MappingRecordBuilder(originalRecord);
             mrb.setEid(LispAddressUtil.convertFromBinary(originalRecord.getEid()));
             if (convertedLocators != null) {
@@ -594,7 +593,7 @@ public class MappingService implements OdlMappingserviceService, IMappingService
                 LocatorRecordBuilder lrb = new LocatorRecordBuilder(record);
                 lrb.setRloc(LispAddressUtil.convertFromBinary(record.getRloc()));
                 if (convertedLocators == null) {
-                    convertedLocators = new ArrayList<LocatorRecord>();
+                    convertedLocators = new ArrayList<>();
                 }
                 convertedLocators.add(lrb.build());
             }
index 6b813e4cbfabca50607dbbdd0705edd7faa266bf..8ce1e77c2018c6b1886fd575548e93ee85bb1562 100644 (file)
@@ -19,8 +19,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
-import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.lispflowmapping.config.ConfigIni;
 import org.opendaylight.lispflowmapping.dsbackend.DataStoreBackEnd;
 import org.opendaylight.lispflowmapping.implementation.timebucket.implementation.TimeBucketMappingTimeoutService;
@@ -48,6 +46,8 @@ import org.opendaylight.lispflowmapping.mapcache.AuthKeyDb;
 import org.opendaylight.lispflowmapping.mapcache.MultiTableMapCache;
 import org.opendaylight.lispflowmapping.mapcache.SimpleMapCache;
 import org.opendaylight.lispflowmapping.mapcache.lisp.LispMapCacheStringifier;
+import org.opendaylight.mdsal.binding.api.NotificationPublishService;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.SimpleAddress;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.ExplicitLocatorPath;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Ipv4;
@@ -88,19 +88,19 @@ public class MappingSystem implements IMappingSystem {
     private static final String AUTH_KEY_TABLE = "authentication";
     //private static final int TTL_RLOC_TIMED_OUT = 1;
     private static final int TTL_NO_RLOC_KNOWN = ConfigIni.getInstance().getNegativeMappingTTL();
-    private NotificationPublishService notificationPublishService;
+    private final NotificationPublishService notificationPublishService;
     private boolean mappingMerge;
-    private ILispDAO dao;
+    private final ILispDAO dao;
     private ILispDAO sdao;
     private ILispMapCache smc;
     private IMapCache pmc;
-    private ConcurrentHashMap<Eid, Set<Subscriber>> subscriberdb = new ConcurrentHashMap<>();
+    private final ConcurrentHashMap<Eid, Set<Subscriber>> subscriberdb = new ConcurrentHashMap<>();
     private IAuthKeyDb akdb;
     private final EnumMap<MappingOrigin, IMapCache> tableMap = new EnumMap<>(MappingOrigin.class);
     private DataStoreBackEnd dsbe;
     private boolean isMaster = false;
 
-    private ISouthBoundMappingTimeoutService sbMappingTimeoutService;
+    private final ISouthBoundMappingTimeoutService sbMappingTimeoutService;
 
     public MappingSystem(ILispDAO dao, boolean iterateMask, NotificationPublishService nps, boolean mappingMerge) {
         this.dao = dao;
@@ -210,7 +210,7 @@ public class MappingSystem implements IMappingSystem {
     }
 
     private static MappingRecord getMappingRecord(MappingData mappingData) {
-        return (mappingData != null) ? mappingData.getRecord() : null;
+        return mappingData != null ? mappingData.getRecord() : null;
     }
 
     @SuppressWarnings("unchecked")
@@ -329,6 +329,7 @@ public class MappingSystem implements IMappingSystem {
      * Since this method is only called when there is a hit in the southbound Map-Register cache, and that cache is
      * not used when merge is on, it's OK to ignore the effects of timestamp changes on merging for now.
      */
+    @Override
     public void refreshMappingRegistration(Eid key, XtrId xtrId, Long timestamp) {
 
         sbMappingTimeoutService.removeExpiredMappings();
index 5dd1c36f66252057384666b5376c7304847fd96e..6ac847b1157b0a94d762f996b515ee6563345fd3 100644 (file)
@@ -28,7 +28,6 @@ import java.util.concurrent.ScheduledFuture;
 import java.util.concurrent.ThreadFactory;
 import java.util.concurrent.TimeUnit;
 import org.apache.commons.lang3.BooleanUtils;
-import org.opendaylight.controller.md.sal.binding.api.NotificationService;
 import org.opendaylight.lispflowmapping.config.ConfigIni;
 import org.opendaylight.lispflowmapping.implementation.util.LoggingUtil;
 import org.opendaylight.lispflowmapping.implementation.util.MSNotificationInputUtil;
@@ -49,6 +48,7 @@ import org.opendaylight.lispflowmapping.lisp.util.MapRequestUtil;
 import org.opendaylight.lispflowmapping.lisp.util.MappingRecordUtil;
 import org.opendaylight.lispflowmapping.lisp.util.MaskUtil;
 import org.opendaylight.lispflowmapping.lisp.util.SourceDestKeyHelper;
+import org.opendaylight.mdsal.binding.api.NotificationService;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.Address;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.SourceDestKey;
@@ -82,12 +82,12 @@ public class MapServer implements IMapServerAsync, OdlMappingserviceListener, IS
 
     private static final Logger LOG = LoggerFactory.getLogger(MapServer.class);
     private static final byte[] ALL_ZEROES_XTR_ID = new byte[] {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ,0};
-    private IMappingService mapService;
+    private final IMappingService mapService;
     private boolean subscriptionService;
-    private IMapNotifyHandler notifyHandler;
-    private NotificationService notificationService;
+    private final IMapNotifyHandler notifyHandler;
+    private final NotificationService notificationService;
     private ListenerRegistration<MapServer> mapServerListenerRegistration;
-    private SmrScheduler scheduler;
+    private final SmrScheduler scheduler;
 
     public MapServer(IMappingService mapService, boolean subscriptionService,
                      IMapNotifyHandler notifyHandler, NotificationService notificationService) {
@@ -107,6 +107,7 @@ public class MapServer implements IMapServerAsync, OdlMappingserviceListener, IS
         this.subscriptionService = subscriptionService;
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     public void handleMapRegister(MapRegister mapRegister) {
         boolean mappingUpdated = false;
@@ -145,8 +146,8 @@ public class MapServer implements IMapServerAsync, OdlMappingserviceListener, IS
             MapNotifyBuilder builder = new MapNotifyBuilder();
             List<TransportAddress> rlocs = null;
             if (merge) {
-                Set<IpAddressBinary> notifyRlocs = new LinkedHashSet<IpAddressBinary>();
-                List<MappingRecordItem> mergedMappings = new ArrayList<MappingRecordItem>();
+                Set<IpAddressBinary> notifyRlocs = new LinkedHashSet<>();
+                List<MappingRecordItem> mergedMappings = new ArrayList<>();
                 for (MappingRecordItem record : mapRegister.getMappingRecordItem()) {
                     MappingRecord mapping = record.getMappingRecord();
                     MappingRecord currentRecord = getMappingRecord(mapService.getMapping(MappingOrigin.Southbound,
@@ -180,7 +181,7 @@ public class MapServer implements IMapServerAsync, OdlMappingserviceListener, IS
     }
 
     private static List<TransportAddress> getTransportAddresses(Set<IpAddressBinary> addresses) {
-        List<TransportAddress> rlocs = new ArrayList<TransportAddress>();
+        List<TransportAddress> rlocs = new ArrayList<>();
         for (IpAddressBinary address : addresses) {
             TransportAddressBuilder tab = new TransportAddressBuilder();
             tab.setIpAddress(address);
@@ -191,11 +192,11 @@ public class MapServer implements IMapServerAsync, OdlMappingserviceListener, IS
     }
 
     private static SiteId getSiteId(MapRegister mapRegister) {
-        return (mapRegister.getSiteId() != null) ? new SiteId(mapRegister.getSiteId()) : null;
+        return mapRegister.getSiteId() != null ? new SiteId(mapRegister.getSiteId()) : null;
     }
 
     private static MappingRecord getMappingRecord(MappingData mappingData) {
-        return (mappingData != null) ? mappingData.getRecord() : null;
+        return mappingData != null ? mappingData.getRecord() : null;
     }
 
     @Override
@@ -387,8 +388,8 @@ public class MapServer implements IMapServerAsync, OdlMappingserviceListener, IS
         }
 
         private final class CancellableRunnable implements Runnable {
-            private MapRequestBuilder mrb;
-            private Subscriber subscriber;
+            private final MapRequestBuilder mrb;
+            private final Subscriber subscriber;
             private int executionCount = 1;
 
             CancellableRunnable(MapRequestBuilder mrb, Subscriber subscriber) {
index 09d9b590815666ca84b3938e7de119128cc02246..40ba2704f074dcc2cc77ddd6b09af7d65fc996a2 100644 (file)
@@ -7,10 +7,10 @@
  */
 package org.opendaylight.lispflowmapping.implementation.mdsal;
 
-import org.opendaylight.controller.md.sal.binding.api.ClusteredDataTreeChangeListener;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.mdsal.binding.api.ClusteredDataTreeChangeListener;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yangtools.concepts.ListenerRegistration;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
@@ -26,9 +26,9 @@ public abstract class AbstractDataListener<T extends DataObject> implements Clus
     private ListenerRegistration<ClusteredDataTreeChangeListener<T>> operRegistration;
 
     void registerDataChangeListener() {
-        final DataTreeIdentifier<T> configDataTreeIdentifier = new DataTreeIdentifier<>(
+        final DataTreeIdentifier<T> configDataTreeIdentifier = DataTreeIdentifier.create(
                 LogicalDatastoreType.CONFIGURATION, path);
-        final DataTreeIdentifier<T> operDataTreeIdentifier = new DataTreeIdentifier<>(
+        final DataTreeIdentifier<T> operDataTreeIdentifier = DataTreeIdentifier.create(
                 LogicalDatastoreType.OPERATIONAL, path);
 
         configRegistration = broker.registerDataTreeChangeListener(configDataTreeIdentifier, this);
index afa59841fba1aa626f592787a572b4ea9d35b50e..17a8c21ee42ba0fd91faeac19250ab1f458ae9fd 100644 (file)
@@ -8,12 +8,12 @@
 package org.opendaylight.lispflowmapping.implementation.mdsal;
 
 import java.util.Collection;
-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.DataObjectModification.ModificationType;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
 import org.opendaylight.lispflowmapping.interfaces.mapcache.IMappingSystem;
 import org.opendaylight.lispflowmapping.lisp.util.LispAddressUtil;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataObjectModification;
+import org.opendaylight.mdsal.binding.api.DataObjectModification.ModificationType;
+import org.opendaylight.mdsal.binding.api.DataTreeModification;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.Eid;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.MappingDatabase;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.db.instance.AuthenticationKey;
index 04453fa50a92fde6b954b9a982918d6126957414..1f7f9abead0c02da8c3ffba6fd2f68ebcb039998 100644 (file)
@@ -10,14 +10,14 @@ package org.opendaylight.lispflowmapping.implementation.mdsal;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
-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.DataObjectModification.ModificationType;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
-import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
 import org.opendaylight.lispflowmapping.interfaces.mapcache.IMappingSystem;
 import org.opendaylight.lispflowmapping.lisp.type.MappingData;
 import org.opendaylight.lispflowmapping.lisp.util.LispAddressUtil;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataObjectModification;
+import org.opendaylight.mdsal.binding.api.DataObjectModification.ModificationType;
+import org.opendaylight.mdsal.binding.api.DataTreeModification;
+import org.opendaylight.mdsal.binding.api.NotificationPublishService;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.Eid;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.locatorrecords.LocatorRecord;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.locatorrecords.LocatorRecordBuilder;
@@ -43,7 +43,7 @@ public class MappingDataListener extends AbstractDataListener<Mapping> {
     private static final Logger LOG = LoggerFactory.getLogger(MappingDataListener.class);
     private IMappingSystem mapSystem;
     private NotificationPublishService notificationPublishService;
-    private boolean isMaster = false;
+    private final boolean isMaster = false;
 
     public MappingDataListener(DataBroker broker, IMappingSystem msmr, NotificationPublishService nps) {
         setBroker(broker);
@@ -131,7 +131,7 @@ public class MappingDataListener extends AbstractDataListener<Mapping> {
         }
 
         if (LispAddressUtil.addressNeedsConversionToBinary(originalRecord.getEid().getAddress())
-                || (originalLocators != null && convertedLocators != null)) {
+                || originalLocators != null && convertedLocators != null) {
             MappingRecordBuilder mrb = new MappingRecordBuilder(originalRecord);
             mrb.setEid(LispAddressUtil.convertToBinary(originalRecord.getEid()));
             if (convertedLocators != null) {
@@ -149,7 +149,7 @@ public class MappingDataListener extends AbstractDataListener<Mapping> {
                 LocatorRecordBuilder lrb = new LocatorRecordBuilder(record);
                 lrb.setRloc(LispAddressUtil.convertToBinary(record.getRloc()));
                 if (convertedLocators == null) {
-                    convertedLocators = new ArrayList<LocatorRecord>();
+                    convertedLocators = new ArrayList<>();
                 }
                 convertedLocators.add(lrb.build());
             }
index 738999171dd5d6f5ef280ef739936f2d4e494d99..22726bcfefbf12a2941d8676212e2181244abe70 100644 (file)
@@ -4,12 +4,11 @@
   odl:use-default-for-reference-types="true">
 
   <reference id="dataBroker"
-    interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
-    odl:type="pingpong" />
+    interface="org.opendaylight.mdsal.binding.api.DataBroker" />
   <reference id="notificationPublishService"
-    interface="org.opendaylight.controller.md.sal.binding.api.NotificationPublishService" />
+    interface="org.opendaylight.mdsal.binding.api.NotificationPublishService" />
   <reference id="notificationService"
-    interface="org.opendaylight.controller.md.sal.binding.api.NotificationService" />
+    interface="org.opendaylight.mdsal.binding.api.NotificationService" />
   <reference id="lispDAO"
     interface="org.opendaylight.lispflowmapping.interfaces.dao.ILispDAO" />
   <reference id="clusterSingletonService"
@@ -56,4 +55,4 @@
     interface="org.opendaylight.lispflowmapping.interfaces.lisp.IMapNotifyHandler"
     odl:type="default" />
   <odl:notification-listener ref="lispMappingService" />
-</blueprint>
\ No newline at end of file
+</blueprint>
index cffe326be1cabac68463fbf6f2624e9811c18af8..9ac5e42d6c6dbee62d54809472bd8ace5e42e648 100644 (file)
@@ -24,12 +24,12 @@ import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.junit.MockitoJUnitRunner;
-import org.opendaylight.controller.md.sal.binding.api.NotificationService;
 import org.opendaylight.lispflowmapping.interfaces.lisp.IMapResolverAsync;
 import org.opendaylight.lispflowmapping.interfaces.lisp.IMapServerAsync;
 import org.opendaylight.lispflowmapping.interfaces.mappingservice.IMappingService;
 import org.opendaylight.lispflowmapping.lisp.type.LispMessage;
 import org.opendaylight.lispflowmapping.lisp.util.LispAddressUtil;
+import org.opendaylight.mdsal.binding.api.NotificationService;
 import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.inet.binary.types.rev160303.IpAddressBinary;
@@ -394,6 +394,7 @@ public class LispMappingServiceTest {
     }
 
     class TransportAddressMatch implements ArgumentMatcher<SendMapNotifyInput> {
+        @Override
         public boolean matches(SendMapNotifyInput sendMapNotify) {
             final TransportAddress notifyTransportAddress = sendMapNotify.getTransportAddress();
             return TRANSPORT_ADDRESS_1.equals(notifyTransportAddress)
index 46cea2dd7b99388c88601f04606ad3bf400bdf47..195448f7e9368e5ba3a54cc4174371c549e8099f 100644 (file)
@@ -27,8 +27,6 @@ import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.junit.MockitoJUnitRunner;
-import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.lispflowmapping.config.ConfigIni;
 import org.opendaylight.lispflowmapping.dsbackend.DataStoreBackEnd;
 import org.opendaylight.lispflowmapping.implementation.util.MappingMergeUtil;
@@ -41,6 +39,8 @@ import org.opendaylight.lispflowmapping.interfaces.mapcache.IMapCache;
 import org.opendaylight.lispflowmapping.interfaces.mappingservice.IMappingService;
 import org.opendaylight.lispflowmapping.lisp.type.MappingData;
 import org.opendaylight.lispflowmapping.lisp.util.LispAddressUtil;
+import org.opendaylight.mdsal.binding.api.NotificationPublishService;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.ExplicitLocatorPathLcaf;
@@ -259,7 +259,7 @@ public class MappingSystemTest {
         final MappingData mappingData = getDefaultMappingData(mappingRecord);
         Mockito.when(pmcMock.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH)).thenReturn(mappingData);
 
-        final MappingData result = (MappingData) mappingSystem.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH);
+        final MappingData result = mappingSystem.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH);
         final Ipv4Binary ipv4Result = (Ipv4Binary) result.getRecord().getLocatorRecord().get(0).getRloc().getAddress();
         assertTrue(Arrays
                 .equals(InetAddress.getByName(IPV4_STRING_3).getAddress(), ipv4Result.getIpv4Binary().getValue()));
index c3812323401aea79a50752be67b8ae4d8db4f8da..461dadce88414ce7b3095a001ac2cd372f37bef6 100644 (file)
@@ -27,7 +27,6 @@ import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.Spy;
 import org.mockito.junit.MockitoJUnitRunner;
-import org.opendaylight.controller.md.sal.binding.api.NotificationService;
 import org.opendaylight.lispflowmapping.config.ConfigIni;
 import org.opendaylight.lispflowmapping.interfaces.dao.SubKeys;
 import org.opendaylight.lispflowmapping.interfaces.dao.Subscriber;
@@ -37,6 +36,7 @@ import org.opendaylight.lispflowmapping.lisp.type.LispMessage;
 import org.opendaylight.lispflowmapping.lisp.type.MappingData;
 import org.opendaylight.lispflowmapping.lisp.util.LispAddressUtil;
 import org.opendaylight.lispflowmapping.lisp.util.SourceDestKeyHelper;
+import org.opendaylight.mdsal.binding.api.NotificationService;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.inet.binary.types.rev160303.IpAddressBinary;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.inet.binary.types.rev160303.Ipv4AddressBinary;
index 0f3ca539dc7dc650b2de0a198af55326fc058177..b3ebccbe1d170c4366894a209c6089fa793744d1 100644 (file)
@@ -19,8 +19,6 @@ import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.junit.MockitoJUnitRunner;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
 import org.opendaylight.lispflowmapping.dsbackend.DataStoreBackEnd;
 import org.opendaylight.lispflowmapping.implementation.MappingService;
 import org.opendaylight.lispflowmapping.implementation.MappingSystem;
@@ -32,6 +30,8 @@ import org.opendaylight.lispflowmapping.interfaces.dao.ILispDAO;
 import org.opendaylight.lispflowmapping.interfaces.dao.SubKeys;
 import org.opendaylight.lispflowmapping.lisp.type.MappingData;
 import org.opendaylight.lispflowmapping.lisp.util.LispAddressUtil;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.NotificationPublishService;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.SiteId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.XtrId;
@@ -269,7 +269,7 @@ public class MappingServiceTest {
         final RpcError error = rpc.getErrors().iterator().next();
 
         //result
-        final Future<RpcResult<GetMappingOutput>> result = (mappingService.getMapping(getMappingInput));
+        final Future<RpcResult<GetMappingOutput>> result = mappingService.getMapping(getMappingInput);
         final RpcError errorResult = result.get().getErrors().iterator().next();
 
         assertEquals(1, result.get().getErrors().size());
index 342895410ecd70bccc1cb59d78caf159718209cb..9f4802889458a1adea40093d16519aa02e33ccaa 100644 (file)
@@ -12,14 +12,14 @@ import java.util.List;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.Mockito;
-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.DataObjectModification.ModificationType;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.lispflowmapping.interfaces.mapcache.IMappingSystem;
 import org.opendaylight.lispflowmapping.lisp.util.LispAddressUtil;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataObjectModification;
+import org.opendaylight.mdsal.binding.api.DataObjectModification.ModificationType;
+import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
+import org.opendaylight.mdsal.binding.api.DataTreeModification;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.Eid;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.authkey.container.MappingAuthkeyBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.db.instance.AuthenticationKey;
@@ -57,7 +57,7 @@ public class AuthenticationKeyDataListenerTest {
 
         final InstanceIdentifier<AuthenticationKey> instanceIdentifierMock = Mockito.mock(InstanceIdentifier.class);
         final DataTreeIdentifier<AuthenticationKey> dataTreeIdentifier =
-                new DataTreeIdentifier<>(LogicalDatastoreType.CONFIGURATION, instanceIdentifierMock);
+                DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION, instanceIdentifierMock);
 
         change_del = Mockito.mock(DataTreeModification.class);
         change_subtreeModified = Mockito.mock(DataTreeModification.class);
@@ -81,7 +81,6 @@ public class AuthenticationKeyDataListenerTest {
      * Tests {@link AuthenticationKeyDataListener#onDataTreeChanged} method with DELETE modification type.
      */
     @Test
-    @SuppressWarnings("unchecked")
     public void onDataTreeChangedTest_delete() {
         final List<DataTreeModification<AuthenticationKey>> changes = Lists.newArrayList(change_del);
         Mockito.when(mod_del.getDataBefore()).thenReturn(AUTHENTICATION_KEY_1);
@@ -94,7 +93,6 @@ public class AuthenticationKeyDataListenerTest {
      * Tests {@link AuthenticationKeyDataListener#onDataTreeChanged} method with WRITE modification type.
      */
     @Test
-    @SuppressWarnings("unchecked")
     public void onDataTreeChangedTest_write() {
         final List<DataTreeModification<AuthenticationKey>> changes = Lists.newArrayList(change_write);
         Mockito.when(mod_write.getDataAfter()).thenReturn(AUTHENTICATION_KEY_2);
@@ -107,7 +105,6 @@ public class AuthenticationKeyDataListenerTest {
      * Tests {@link AuthenticationKeyDataListener#onDataTreeChanged} method with SUBTREE_MODIFIED modification type.
      */
     @Test
-    @SuppressWarnings("unchecked")
     public void onDataTreeChangedTest_subtreeModified() {
         final List<DataTreeModification<AuthenticationKey>> changes = Lists.newArrayList(change_subtreeModified);
         Mockito.when(mod_subtreeModified.getDataAfter()).thenReturn(AUTHENTICATION_KEY_3);
@@ -120,7 +117,6 @@ public class AuthenticationKeyDataListenerTest {
      * Tests {@link AuthenticationKeyDataListener#onDataTreeChanged} method with multiple modification types.
      */
     @Test
-    @SuppressWarnings("unchecked")
     public void onDataTreeChangedTest_multipleModTypes() {
         final List<DataTreeModification<AuthenticationKey>> changes =
                 Lists.newArrayList(change_del, change_write, change_subtreeModified);
index d4f96f4c7e390c5cd9d1ba0fdcc1bb137f223613..dd0b6770dffc25c0771167530cef4275f8fe78ca 100644 (file)
@@ -16,17 +16,17 @@ import org.junit.Ignore;
 import org.junit.Test;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mockito;
-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.DataObjectModification.ModificationType;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
-import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.lispflowmapping.implementation.util.MSNotificationInputUtil;
 import org.opendaylight.lispflowmapping.interfaces.mapcache.IMappingSystem;
 import org.opendaylight.lispflowmapping.lisp.type.MappingData;
 import org.opendaylight.lispflowmapping.lisp.util.LispAddressUtil;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataObjectModification;
+import org.opendaylight.mdsal.binding.api.DataObjectModification.ModificationType;
+import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
+import org.opendaylight.mdsal.binding.api.DataTreeModification;
+import org.opendaylight.mdsal.binding.api.NotificationPublishService;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.Eid;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.record.container.MappingRecord;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.record.container.MappingRecordBuilder;
@@ -76,7 +76,7 @@ public class MappingDataListenerTest {
 
         final InstanceIdentifier<Mapping> instanceIdentifierMock = Mockito.mock(InstanceIdentifier.class);
         final DataTreeIdentifier<Mapping> dataTreeIdentifier =
-                new DataTreeIdentifier<>(LogicalDatastoreType.CONFIGURATION, instanceIdentifierMock);
+                DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION, instanceIdentifierMock);
 
         change_del = Mockito.mock(DataTreeModification.class);
         change_subtreeModified = Mockito.mock(DataTreeModification.class);
@@ -101,7 +101,6 @@ public class MappingDataListenerTest {
      * Tests {@link MappingDataListener#onDataTreeChanged} method with DELETE modification type from northbound.
      */
     @Test
-    @SuppressWarnings("unchecked")
     public void onDataTreeChangedTest_delete_NB() throws InterruptedException {
         final List<DataTreeModification<Mapping>> changes = Lists.newArrayList(change_del);
         Mockito.when(mod_del.getDataBefore()).thenReturn(MAPPING_EID_1_NB);
@@ -114,7 +113,6 @@ public class MappingDataListenerTest {
      * Tests {@link MappingDataListener#onDataTreeChanged} method with DELETE modification type from southbound.
      */
     @Test
-    @SuppressWarnings("unchecked")
     public void onDataTreeChangedTest_delete_SB() {
         final List<DataTreeModification<Mapping>> changes = Lists.newArrayList(change_del);
         Mockito.when(mod_del.getDataBefore()).thenReturn(MAPPING_EID_1_SB);
@@ -130,7 +128,6 @@ public class MappingDataListenerTest {
      */
     @Test
     @Ignore
-    @SuppressWarnings("unchecked")
     public void onDataTreeChangedTest_subtreeModified_NB() throws InterruptedException {
         final List<DataTreeModification<Mapping>> changes = Lists.newArrayList(change_subtreeModified);
         final MappingChanged mapChanged = MSNotificationInputUtil.toMappingChanged(
@@ -150,7 +147,6 @@ public class MappingDataListenerTest {
      * southbound.
      */
     @Test
-    @SuppressWarnings("unchecked")
     public void onDataTreeChangedTest_subtreeModified_SB() {
         final List<DataTreeModification<Mapping>> changes = Lists.newArrayList(change_subtreeModified);
         Mockito.when(mod_subtreeModified.getDataAfter()).thenReturn(MAPPING_EID_2_SB);
@@ -165,7 +161,6 @@ public class MappingDataListenerTest {
      */
     @Test
     @Ignore
-    @SuppressWarnings("unchecked")
     public void onDataTreeChangedTest_write_NB() throws InterruptedException {
         final List<DataTreeModification<Mapping>> changes = Lists.newArrayList(change_write);
         final MappingChanged mapChanged = MSNotificationInputUtil.toMappingChanged(
@@ -184,7 +179,6 @@ public class MappingDataListenerTest {
      * Tests {@link MappingDataListener#onDataTreeChanged} method with WRITE modification type from southbound.
      */
     @Test
-    @SuppressWarnings("unchecked")
     public void onDataTreeChangedTest_write_SB() {
         final List<DataTreeModification<Mapping>> changes = Lists.newArrayList(change_write);
         Mockito.when(mod_write.getDataAfter()).thenReturn(MAPPING_EID_3_SB);
@@ -199,7 +193,6 @@ public class MappingDataListenerTest {
      */
     @Test
     @Ignore
-    @SuppressWarnings("unchecked")
     public void onDataTreeChangedTest_multipleChanges() throws InterruptedException {
         final List<DataTreeModification<Mapping>> changes =
                 Lists.newArrayList(change_del, change_subtreeModified, change_write);
index 6a29129618eaf84c6abf50d2fcb2887439ddf582..c3b215334e9349395fde25d24b468ae598e40723 100644 (file)
         <type>pom</type>
         <scope>import</scope>
       </dependency>
-      <dependency>
-        <groupId>org.opendaylight.controller</groupId>
-        <artifactId>mdsal-artifacts</artifactId>
-        <version>1.10.0-SNAPSHOT</version>
-        <type>pom</type>
-        <scope>import</scope>
-      </dependency>
     </dependencies>
   </dependencyManagement>
 
@@ -53,9 +46,8 @@
       <artifactId>mappingservice.lisp-proto</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-binding-api</artifactId>
-      <version>1.10.0-SNAPSHOT</version>
+      <groupId>org.opendaylight.mdsal</groupId>
+      <artifactId>mdsal-binding-api</artifactId>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.neutron</groupId>
index c2bb3bf6cbf8b91e21d552f6dd16c2eb10f8f3af..1b31c35a2e35f3c7969b29fc1e3fb6f0de18a161 100644 (file)
@@ -10,11 +10,11 @@ package org.opendaylight.lispflowmapping.neutron;
 import com.google.common.base.Preconditions;
 import java.util.Collection;
 import javax.annotation.Nonnull;
-import org.opendaylight.controller.md.sal.binding.api.ClusteredDataTreeChangeListener;
-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.DataTreeIdentifier;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
+import org.opendaylight.mdsal.binding.api.ClusteredDataTreeChangeListener;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataObjectModification;
+import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
+import org.opendaylight.mdsal.binding.api.DataTreeModification;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.subnets.Subnet;
index e1535d3a6d6e29babaa4789658f4b1a0f7da60bf..e8f9defccf821c9d15b832e232d59a20fb8c9d2c 100644 (file)
@@ -7,9 +7,9 @@
  */
 package org.opendaylight.lispflowmapping.neutron;
 
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.lispflowmapping.interfaces.lisp.IFlowMapping;
 import org.opendaylight.lispflowmapping.neutron.mappingmanager.HostInformationManager;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.OdlMappingserviceService;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port;
index 6f8c7702a3d0a7c5b26c3543c616db45452fd043..bca16ebe421dbe81598c83dc821bd626b7fcb7e9 100644 (file)
@@ -7,9 +7,9 @@
  */
 package org.opendaylight.lispflowmapping.neutron;
 
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.Networks;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150712.Neutron;
@@ -22,7 +22,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 public class NetworkListener extends DelegatingDataTreeListener<Network> {
 
     private static final DataTreeIdentifier<Network> IDENTIFIER =
-            new DataTreeIdentifier<>(LogicalDatastoreType.CONFIGURATION,
+            DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION,
                     InstanceIdentifier.create(Neutron.class).child(Networks.class).child(Network.class));
 
     public NetworkListener(DataProcessor<Network> dataProcessor, DataBroker dataBroker) {
index 0120b72bf3fff391e3ae18cf18d41aa3260b8699..723e69621e7ec1a4e0305b465b7a0d874e520a26 100644 (file)
@@ -7,9 +7,9 @@
  */
 package org.opendaylight.lispflowmapping.neutron;
 
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.Ports;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150712.Neutron;
@@ -21,7 +21,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 public class PortListener extends DelegatingDataTreeListener<Port> {
 
     private static final DataTreeIdentifier<Port> IDENTIFIER =
-            new DataTreeIdentifier<>(LogicalDatastoreType.CONFIGURATION,
+            DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION,
                     InstanceIdentifier.create(Neutron.class).child(Ports.class).child(Port.class));
 
     public PortListener(DataProcessor<Port> dataProcessor, DataBroker dataBroker) {
index c7f77a4c9bf6d4c2cc03a5eb4a2d903dcdc9e5ff..4494995596c40e2eb62ee31c376931d1e8b35db4 100644 (file)
@@ -7,9 +7,9 @@
  */
 package org.opendaylight.lispflowmapping.neutron;
 
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150712.Neutron;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.Subnets;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.subnets.Subnet;
@@ -21,7 +21,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 public class SubnetListener extends DelegatingDataTreeListener<Subnet> {
 
     private static final DataTreeIdentifier<Subnet> IDENTIFIER =
-            new DataTreeIdentifier<>(LogicalDatastoreType.CONFIGURATION,
+            DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION,
                     InstanceIdentifier.create(Neutron.class).child(Subnets.class).child(Subnet.class));
 
     public SubnetListener(DataProcessor<Subnet> dataProcessor, DataBroker dataBroker) {
index 84252d1afff7fc4dd4b506d2ca74f396d94fa42c..cb8b17deccda12c0c84823be1416d937ef19b6ac 100644 (file)
@@ -7,9 +7,9 @@
  */
 package org.opendaylight.lispflowmapping.neutron.intenthandler;
 
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.MountPointService;
 import org.opendaylight.lispflowmapping.neutron.intenthandler.listener.service.VbridgeTopologyListenerService;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.MountPointService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
index ba37815ef93d4e65494dca52a3097419a743575f..ce9c89eacf68746c59b62b5eeebd776f18da6548 100644 (file)
@@ -8,18 +8,16 @@
 package org.opendaylight.lispflowmapping.neutron.intenthandler.listener;
 
 import com.google.common.base.Preconditions;
-
 import java.util.Collection;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import javax.annotation.Nonnull;
-
 import org.checkerframework.checker.lock.qual.GuardedBy;
-import org.opendaylight.controller.md.sal.binding.api.ClusteredDataTreeChangeListener;
-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.MountPointService;
+import org.opendaylight.mdsal.binding.api.ClusteredDataTreeChangeListener;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataObjectModification;
+import org.opendaylight.mdsal.binding.api.DataTreeModification;
+import org.opendaylight.mdsal.binding.api.MountPointService;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vbridge.topology.rev160129.network.topology.topology.topology.types.VbridgeTopology;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey;
@@ -33,8 +31,8 @@ import org.slf4j.LoggerFactory;
 public class VbridgeTopologyListener implements ClusteredDataTreeChangeListener<VbridgeTopology>, AutoCloseable {
     private static final Logger LOG = LoggerFactory.getLogger(VbridgeTopologyListener.class);
 
-    private DataBroker dataBroker;
-    private MountPointService mountPointService;
+    private final DataBroker dataBroker;
+    private final MountPointService mountPointService;
 
     @GuardedBy("this")
     private final Map<TopologyKey, VppEndpointListener> domains = new ConcurrentHashMap<>();
index 67b55fb9cce975b5656046b9e2cfffa0b3a33267..aa259826eeafba3214ed7ae30608be48a3afb27a 100644 (file)
@@ -15,7 +15,6 @@ import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.ListeningExecutorService;
 import com.google.common.util.concurrent.MoreExecutors;
-
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
@@ -23,19 +22,18 @@ import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeoutException;
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
-
-import org.opendaylight.controller.md.sal.binding.api.ClusteredDataTreeChangeListener;
-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.DataTreeIdentifier;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
-import org.opendaylight.controller.md.sal.binding.api.MountPointService;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.lispflowmapping.lisp.util.LispAddressUtil;
 import org.opendaylight.lispflowmapping.neutron.intenthandler.IntentHandlerAsyncExecutorProvider;
 import org.opendaylight.lispflowmapping.neutron.intenthandler.util.VppNetconfConnectionProbe;
 import org.opendaylight.lispflowmapping.neutron.intenthandler.util.VppNodeReader;
 import org.opendaylight.lispflowmapping.neutron.mappingmanager.HostInformationManager;
+import org.opendaylight.mdsal.binding.api.ClusteredDataTreeChangeListener;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataObjectModification;
+import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
+import org.opendaylight.mdsal.binding.api.DataTreeModification;
+import org.opendaylight.mdsal.binding.api.MountPointService;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId;
@@ -81,7 +79,7 @@ public class VppEndpointListener implements AutoCloseable, ClusteredDataTreeChan
         hostInformationManager = HostInformationManager.getInstance();
 
         reg = dataBroker.registerDataTreeChangeListener(
-                new DataTreeIdentifier<>(LogicalDatastoreType.CONFIGURATION, topologyII), this);
+                DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION, topologyII), this);
 
         executorService = IntentHandlerAsyncExecutorProvider.getInstace().getExecutor();
     }
index 1c7f0900906af0ecba725628d3f67823f000a83a..13ae40a18ab0e01191cc89d448cc18634a945038 100644 (file)
@@ -8,12 +8,11 @@
 package org.opendaylight.lispflowmapping.neutron.intenthandler.listener.service;
 
 import javax.annotation.Nonnull;
-
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier;
-import org.opendaylight.controller.md.sal.binding.api.MountPointService;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.lispflowmapping.neutron.intenthandler.listener.VbridgeTopologyListener;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
+import org.opendaylight.mdsal.binding.api.MountPointService;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vbridge.topology.rev160129.TopologyTypesVbridgeAugment;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vbridge.topology.rev160129.network.topology.topology.topology.types.VbridgeTopology;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology;
@@ -35,7 +34,7 @@ public class VbridgeTopologyListenerService implements AutoCloseable {
     private boolean closed;
 
     private static final DataTreeIdentifier<VbridgeTopology> TREE_LISTENER_IDENTIFIER =
-            new DataTreeIdentifier<>(
+            DataTreeIdentifier.create(
                     LogicalDatastoreType.OPERATIONAL,
                     InstanceIdentifier.builder(NetworkTopology.class)
                             .child(Topology.class)
index b4b96c081bf23aa637cf562d976b72f591594696..f82e0ccf3b4e46bac535c3ecca34407a698e5db2 100644 (file)
@@ -7,10 +7,10 @@
  */
 package org.opendaylight.lispflowmapping.neutron.intenthandler.util;
 
-import com.google.common.base.Optional;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.MountPoint;
-import org.opendaylight.controller.md.sal.binding.api.MountPointService;
+import java.util.Optional;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.MountPoint;
+import org.opendaylight.mdsal.binding.api.MountPointService;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
index 83f2840764043ab5a6cf121eaadec6e7c695c502..08bb09ea95415612280c192ba62c80031b73708b 100644 (file)
@@ -15,19 +15,17 @@ import static org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topolog
 import static org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNodeConnectionStatus.ConnectionStatus.Connecting;
 
 import com.google.common.util.concurrent.SettableFuture;
-
 import java.util.Collection;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import javax.annotation.Nonnull;
-
-import org.opendaylight.controller.md.sal.binding.api.ClusteredDataTreeChangeListener;
-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.DataTreeIdentifier;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.mdsal.binding.api.ClusteredDataTreeChangeListener;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataObjectModification;
+import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
+import org.opendaylight.mdsal.binding.api.DataTreeModification;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNodeConnectionStatus;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology;
@@ -58,7 +56,7 @@ public class VppNetconfConnectionProbe implements ClusteredDataTreeChangeListene
     public static final int NODE_CONNECTION_TIMER = 60;
     private final DataBroker dataBroker;
     private ListenerRegistration<VppNetconfConnectionProbe> registeredListener;
-    private SettableFuture<Boolean> connectionStatusFuture = SettableFuture.create();
+    private final SettableFuture<Boolean> connectionStatusFuture = SettableFuture.create();
 
     private static final String TOPOLOGY_IDENTIFIER = "topology-netconf";
 
@@ -71,7 +69,7 @@ public class VppNetconfConnectionProbe implements ClusteredDataTreeChangeListene
                 .child(Node.class, new NodeKey(nodeId))
                 .build();
 
-        path = new DataTreeIdentifier<>(LogicalDatastoreType.OPERATIONAL, nodeIid);
+        path = DataTreeIdentifier.create(LogicalDatastoreType.OPERATIONAL, nodeIid);
     }
 
     public boolean startProbing() throws ExecutionException, InterruptedException, TimeoutException {
index bd7b51b2ab7b03d18e89d8663502035a69620874..9ce9f5c37b07624d4ea3cbe13460a15e5778e650 100644 (file)
@@ -7,16 +7,12 @@
  */
 package org.opendaylight.lispflowmapping.neutron.intenthandler.util;
 
-import com.google.common.base.Optional;
 import com.google.common.base.Preconditions;
-import com.google.common.util.concurrent.CheckedFuture;
-
+import java.util.Optional;
 import java.util.concurrent.ExecutionException;
-
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.ReadTransaction;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
@@ -44,7 +40,7 @@ public final class VppNetconfTrasaction {
         int retryCounter = RETRY_COUNT;
 
         while (retryCounter > 0) {
-            ReadOnlyTransaction readTransaction = dataBroker.newReadOnlyTransaction();
+            ReadTransaction readTransaction = dataBroker.newReadOnlyTransaction();
             try {
                 returnData = readTransaction(instanceIdentifier, datastoreType, readTransaction);
                 LOG.trace("Netconf READ transaction SUCCESSFUL. Data present: {}", returnData.isPresent());
@@ -62,17 +58,13 @@ public final class VppNetconfTrasaction {
             }
             retryCounter--;
         }
-        return Optional.absent();
+        return Optional.empty();
     }
 
     private static <T extends DataObject> Optional<T> readTransaction(InstanceIdentifier<T> instanceIdentifier,
                                                                       LogicalDatastoreType datastoreType,
-                                                                      ReadOnlyTransaction readTransaction)
+                                                                      ReadTransaction readTransaction)
             throws IllegalStateException, InterruptedException, ExecutionException {
-
-        CheckedFuture<Optional<T>, ReadFailedException> futureData =
-                readTransaction.read(datastoreType, instanceIdentifier);
-
-        return futureData.get();
+        return readTransaction.read(datastoreType, instanceIdentifier).get();
     }
 }
index 3b55f3778e6b3a075d1904575b20ce9b1cf07f43..aad0d57e2aa063af3dd41bbf9ad92ef3b3dfa7a0 100644 (file)
@@ -7,17 +7,15 @@
  */
 package org.opendaylight.lispflowmapping.neutron.intenthandler.util;
 
-import com.google.common.base.Optional;
 import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.SettableFuture;
-
 import java.util.List;
+import java.util.Optional;
 import java.util.concurrent.ExecutionException;
-
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.MountPointService;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.lispflowmapping.neutron.intenthandler.exception.RlocNotFoundOnVppNode;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.MountPointService;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4AddressNoZone;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.InterfacesState;
@@ -93,7 +91,7 @@ public class VppNodeReader {
 
             }
 
-            resultFuture.set(Optional.absent());
+            resultFuture.set(Optional.empty());
         } else {
             LOG.debug("Data broker for vpp {} is missing.", instanceIdentifierToVppNode);
         }
@@ -106,26 +104,26 @@ public class VppNodeReader {
 
         if (augIntf == null) {
             LOG.debug("Cannot get Interface2 augmentation for intf {}");
-            return Optional.absent();
+            return Optional.empty();
         }
 
         Ipv4 ipv4 = augIntf.getIpv4();
 
         if (ipv4 == null) {
             LOG.debug("Ipv4 address for interface {} on node {} is null!", augIntf, InfoUtil.node(iiToVpp));
-            return Optional.absent();
+            return Optional.empty();
         }
 
         final List<Address> addresses = ipv4.getAddress();
         if (addresses == null || addresses.isEmpty()) {
             LOG.debug("Ipv4 addresses list is empty for interface {} on node {}", augIntf, InfoUtil.node(iiToVpp));
-            return Optional.absent();
+            return Optional.empty();
         }
 
         final Ipv4AddressNoZone ip = addresses.iterator().next().getIp();
         if (ip == null) {
             LOG.debug("Ipv4AddressNoZone is null for node {}", InfoUtil.node(iiToVpp));
-            return Optional.absent();
+            return Optional.empty();
         }
 
         LOG.debug("Got ip address {} from interface {} on node {}", ip.getValue(), intf.getName(),
index d31b819b2f9831cd85e5d2a3817ae844568cb38c..50ef041847e87c51086ba26bbdf1463d3d966a93 100644 (file)
@@ -6,9 +6,9 @@
   <reference id="mappingService"
     interface="org.opendaylight.lispflowmapping.interfaces.lisp.IFlowMapping" />
   <reference id="dataBroker"
-    interface="org.opendaylight.controller.md.sal.binding.api.DataBroker" />
+    interface="org.opendaylight.mdsal.binding.api.DataBroker" />
   <reference id="mountPointService"
-    interface="org.opendaylight.controller.md.sal.binding.api.MountPointService" />
+    interface="org.opendaylight.mdsal.binding.api.MountPointService" />
 
   <odl:rpc-service id="odlMappingService" interface="org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.OdlMappingserviceService"/>
 
index cfc68047a61b49e55d87214418f3d63b19cc82d5..7ccdbc60d7111239dad69b2f7aa0b76b2197fd82 100644 (file)
@@ -12,11 +12,11 @@ import static org.junit.Assert.assertTrue;
 import com.google.common.collect.Lists;
 import org.junit.Test;
 import org.mockito.Mockito;
-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.DataTreeIdentifier;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataObjectModification;
+import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
+import org.opendaylight.mdsal.binding.api.DataTreeModification;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.Networks;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port;
@@ -31,7 +31,7 @@ public class DelegatingDataTreeListenerTest {
     private static ILispNeutronService iLispNeutronServiceMock = Mockito.mock(ILispNeutronService.class);
     private static DataBroker dataBrokerMock = Mockito.mock(DataBroker.class);
     private static final DataTreeIdentifier<Network> NETWORK_ID =
-            new DataTreeIdentifier<>(LogicalDatastoreType.CONFIGURATION, InstanceIdentifier.create(Neutron.class)
+            DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION, InstanceIdentifier.create(Neutron.class)
                     .child(Networks.class).child(Network.class));
 
     private final DelegatingDataTreeListener<Network> networkDelegatingDataTreeListener =
index fe193d985405971ce2752537cde08cf13f6a26af..d9378fb128eb32ba09b88827717cc1febe4b9a63 100644 (file)
@@ -11,8 +11,8 @@ import static org.junit.Assert.assertEquals;
 
 import org.junit.Test;
 import org.mockito.Mockito;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.lispflowmapping.interfaces.lisp.IFlowMapping;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.OdlMappingserviceService;
 
 public class LispNeutronServiceTest {
index 0d15206fdf034ab3b2a93cd338475a30516c994a..5af0a57da7fb1d4e9ed6890ea9399071b69e3b78 100644 (file)
@@ -11,7 +11,7 @@ import static org.junit.Assert.assertEquals;
 
 import org.junit.Test;
 import org.mockito.Mockito;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.subnets.Subnet;
index dd6bca72d5cc8ba88a4096e8d34876b9ebb0db42..7449e0974b169bf76271b8d0c80ba9054beeeebc 100644 (file)
@@ -9,9 +9,8 @@ package org.opendaylight.lispflowmapping.neutron;
 
 import static org.junit.Assert.assertTrue;
 
-import java.util.concurrent.ExecutionException;
-
 import com.google.common.util.concurrent.ListenableFuture;
+import java.util.concurrent.ExecutionException;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.Mockito;
@@ -47,7 +46,6 @@ public class SubnetDataProcessorTest {
     private static final IpPrefix IP_PREFIX = new IpPrefix(new Ipv4Prefix(IPV4 + MASK));
 
     @Before
-    @SuppressWarnings("unchecked")
     public void init() {
         odlMappingserviceServiceMock = Mockito.mock(OdlMappingserviceService.class);
     }
index 229d94c266824e0ff11ff05154810ce70941eb42..289cd9f7c694dfaf5135b8589254f3988e90f342 100644 (file)
@@ -18,8 +18,6 @@ import io.netty.buffer.ByteBuf;
 import io.netty.buffer.ByteBufUtil;
 import io.netty.buffer.PooledByteBufAllocator;
 import io.netty.channel.Channel;
-import io.netty.channel.ChannelFuture;
-import io.netty.channel.ChannelFutureListener;
 import io.netty.channel.ChannelOption;
 import io.netty.channel.EventLoopGroup;
 import io.netty.channel.epoll.Epoll;
@@ -36,8 +34,6 @@ import java.net.UnknownHostException;
 import java.nio.ByteBuffer;
 import java.util.List;
 import java.util.concurrent.ThreadFactory;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
 import org.opendaylight.lispflowmapping.dsbackend.DataStoreBackEnd;
 import org.opendaylight.lispflowmapping.inmemorydb.HashMapDb;
 import org.opendaylight.lispflowmapping.lisp.type.LispMessage;
@@ -48,6 +44,8 @@ import org.opendaylight.lispflowmapping.southbound.lisp.LispSouthboundHandler;
 import org.opendaylight.lispflowmapping.southbound.lisp.LispXtrSouthboundHandler;
 import org.opendaylight.lispflowmapping.southbound.lisp.cache.MapRegisterCache;
 import org.opendaylight.lispflowmapping.type.sbplugin.IConfigLispSouthboundPlugin;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.NotificationPublishService;
 import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonService;
 import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider;
 import org.opendaylight.mdsal.singleton.common.api.ServiceGroupIdentifier;
@@ -70,7 +68,7 @@ public class LispSouthboundPlugin implements IConfigLispSouthboundPlugin, AutoCl
     private volatile boolean isMaster = false;
     private volatile String bindingAddress;
     private AuthKeyDb akdb;
-    private MapRegisterCache mapRegisterCache = new MapRegisterCache();
+    private final MapRegisterCache mapRegisterCache = new MapRegisterCache();
     private boolean mapRegisterCacheEnabled;
     private long mapRegisterCacheTimeout;
 
@@ -78,19 +76,19 @@ public class LispSouthboundPlugin implements IConfigLispSouthboundPlugin, AutoCl
     private final ClusterSingletonServiceProvider clusterSingletonService;
     private LispSouthboundHandler lispSouthboundHandler;
     private LispXtrSouthboundHandler lispXtrSouthboundHandler;
-    private NotificationPublishService notificationPublishService;
+    private final NotificationPublishService notificationPublishService;
     private int numChannels = 1;
-    private Channel[] channel;
+    private final Channel[] channel;
     private Channel xtrChannel;
     private Class channelType;
     private volatile int xtrPort = LispMessage.XTR_PORT_NUM;
     private volatile boolean listenOnXtrPort = false;
-    private ConcurrentLispSouthboundStats statistics = new ConcurrentLispSouthboundStats();
-    private Bootstrap bootstrap = new Bootstrap();
-    private Bootstrap xtrBootstrap = new Bootstrap();
-    private ThreadFactory threadFactory = new DefaultThreadFactory("lisp-sb");
+    private final ConcurrentLispSouthboundStats statistics = new ConcurrentLispSouthboundStats();
+    private final Bootstrap bootstrap = new Bootstrap();
+    private final Bootstrap xtrBootstrap = new Bootstrap();
+    private final ThreadFactory threadFactory = new DefaultThreadFactory("lisp-sb");
     private EventLoopGroup eventLoopGroup;
-    private DataBroker dataBroker;
+    private final DataBroker dataBroker;
     private AuthenticationKeyDataListener authenticationKeyDataListener;
     private DataStoreBackEnd dsbe;
 
@@ -257,16 +255,13 @@ public class LispSouthboundPlugin implements IConfigLispSouthboundPlugin, AutoCl
         if (LOG.isTraceEnabled()) {
             LOG.trace("Buffer:\n{}", ByteBufUtil.prettyHexDump(data));
         }
-        senderChannel.write(packet).addListener(new ChannelFutureListener() {
-            @Override
-            public void operationComplete(ChannelFuture future) {
-                if (future.isSuccess()) {
-                    LOG.trace("Success");
-                    statistics.incrementTx(packetType.getIntValue());
-                } else {
-                    LOG.warn("Failed to send packet");
-                    statistics.incrementTxErrors();
-                }
+        senderChannel.write(packet).addListener(future -> {
+            if (future.isSuccess()) {
+                LOG.trace("Success");
+                statistics.incrementTx(packetType.getIntValue());
+            } else {
+                LOG.warn("Failed to send packet");
+                statistics.incrementTxErrors();
             }
         });
         senderChannel.flush();
index 95ae64eb60682428955c324e1bc7374afd8aed4a..32c0d2a9ad88074ab33ed29f0f06119e2905296b 100644 (file)
@@ -10,15 +10,15 @@ package org.opendaylight.lispflowmapping.southbound.lisp;
 import java.util.Collection;
 import java.util.List;
 import java.util.concurrent.ConcurrentHashMap;
-import org.opendaylight.controller.md.sal.binding.api.ClusteredDataTreeChangeListener;
-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.DataObjectModification.ModificationType;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.lispflowmapping.lisp.util.LispAddressUtil;
 import org.opendaylight.lispflowmapping.mapcache.AuthKeyDb;
+import org.opendaylight.mdsal.binding.api.ClusteredDataTreeChangeListener;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataObjectModification;
+import org.opendaylight.mdsal.binding.api.DataObjectModification.ModificationType;
+import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
+import org.opendaylight.mdsal.binding.api.DataTreeModification;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.Eid;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.map.register.cache.metadata.container.map.register.cache.metadata.EidLispAddress;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.MappingDatabase;
@@ -40,8 +40,8 @@ public class AuthenticationKeyDataListener implements ClusteredDataTreeChangeLis
     private final AuthKeyDb akdb;
     private final DataBroker broker;
     private final InstanceIdentifier<AuthenticationKey> path;
-    private ListenerRegistration<ClusteredDataTreeChangeListener<AuthenticationKey>> registration;
-    private ConcurrentHashMap<Eid, Long> updatedEntries;
+    private final ListenerRegistration<ClusteredDataTreeChangeListener<AuthenticationKey>> registration;
+    private final ConcurrentHashMap<Eid, Long> updatedEntries;
 
     public AuthenticationKeyDataListener(final DataBroker broker, final AuthKeyDb akdb) {
         this.broker = broker;
@@ -49,7 +49,7 @@ public class AuthenticationKeyDataListener implements ClusteredDataTreeChangeLis
         this.path = InstanceIdentifier.create(MappingDatabase.class).child(VirtualNetworkIdentifier.class)
                 .child(AuthenticationKey.class);
         LOG.trace("Registering AuthenticationKey listener.");
-        final DataTreeIdentifier<AuthenticationKey> dataTreeIdentifier = new DataTreeIdentifier<>(
+        final DataTreeIdentifier<AuthenticationKey> dataTreeIdentifier = DataTreeIdentifier.create(
                 LogicalDatastoreType.CONFIGURATION, path);
         registration = broker.registerDataTreeChangeListener(dataTreeIdentifier, this);
         this.updatedEntries = new ConcurrentHashMap<>();
index 740833c97157de4a6c4d2795cbcc2b6f1c0374cc..c2f2ab1f18f9db78e469dc04971be892916604ba 100644 (file)
@@ -6,10 +6,9 @@
   odl:use-default-for-reference-types="true">
 
   <reference id="dataBroker"
-    interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
-    odl:type="pingpong" />
+    interface="org.opendaylight.mdsal.binding.api.DataBroker" />
   <reference id="notificationPublishService"
-    interface="org.opendaylight.controller.md.sal.binding.api.NotificationPublishService" />
+    interface="org.opendaylight.mdsal.binding.api.NotificationPublishService" />
   <reference id="clusterSingletonService"
      interface="org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider" />
 
index 40d3af8286988e423cac75e911dea62f9089de3c..754ccbb14e3f804f7e571d741b5b7cf3e61638e7 100644 (file)
@@ -26,11 +26,11 @@ import org.junit.Before;
 import org.junit.Test;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mockito;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
 import org.opendaylight.lispflowmapping.dsbackend.DataStoreBackEnd;
 import org.opendaylight.lispflowmapping.lisp.type.LispMessage;
 import org.opendaylight.lispflowmapping.southbound.lisp.LispSouthboundHandler;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.NotificationPublishService;
 import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.inet.binary.types.rev160303.IpAddressBinary;
@@ -183,7 +183,6 @@ public class LispSouthboundPluginTest {
      * Tests {@link LispSouthboundPlugin#close} method.
      */
     @Test
-    @SuppressWarnings("unchecked")
     public void closeTest() throws Exception {
         EventLoopGroup elgMock = Mockito.mock(EventLoopGroup.class);
         LispSouthboundPluginTest.injectField("eventLoopGroup", elgMock);
index 1321c83953cfa3c7017f3b6b78eace9cbc1e14c8..f4d3e933c093cd500ba30b3b0d8b512fcba68a57 100644 (file)
@@ -15,13 +15,13 @@ import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.junit.MockitoJUnitRunner;
-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.DataTreeIdentifier;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.lispflowmapping.lisp.util.LispAddressUtil;
 import org.opendaylight.lispflowmapping.mapcache.AuthKeyDb;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataObjectModification;
+import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
+import org.opendaylight.mdsal.binding.api.DataTreeModification;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.Eid;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.authkey.container.MappingAuthkey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.authkey.container.MappingAuthkeyBuilder;
@@ -70,7 +70,7 @@ public class AuthenticationKeyDataListenerTest {
     public void init() {
         final InstanceIdentifier<AuthenticationKey> instanceIdentifierMock = Mockito.mock(InstanceIdentifier.class);
         final DataTreeIdentifier<AuthenticationKey> dataTreeIdentifier =
-                new DataTreeIdentifier<>(LogicalDatastoreType.CONFIGURATION, instanceIdentifierMock);
+                DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION, instanceIdentifierMock);
 
         change_del = Mockito.mock(DataTreeModification.class);
         change_subtreeModified = Mockito.mock(DataTreeModification.class);
@@ -99,7 +99,6 @@ public class AuthenticationKeyDataListenerTest {
      * Tests {@link AuthenticationKeyDataListener#onDataTreeChanged} method with DELETE mod type, binary eid.
      */
     @Test
-    @SuppressWarnings("unchecked")
     public void onDataTreeChangedTest_delete_BinaryEid() {
         Mockito.when(mod_del.getDataBefore()).thenReturn(AUTHENTICATION_KEY_1);
 
@@ -111,7 +110,6 @@ public class AuthenticationKeyDataListenerTest {
      * Tests {@link AuthenticationKeyDataListener#onDataTreeChanged} method with DELETE mod type, Ipv4Prefix eid.
      */
     @Test
-    @SuppressWarnings("unchecked")
     public void onDataTreeChangedTest_delete_Ipv4PrefixEid() {
         Mockito.when(mod_del.getDataBefore()).thenReturn(AUTHENTICATION_KEY_PREFIX);
 
@@ -123,7 +121,6 @@ public class AuthenticationKeyDataListenerTest {
      * Tests {@link AuthenticationKeyDataListener#onDataTreeChanged} method with SUBTREE_MODIFIED mod type.
      */
     @Test
-    @SuppressWarnings("unchecked")
     public void onDataTreeChangedTest_subtreeModified() {
         Mockito.when(mod_subtreeModified.getDataAfter()).thenReturn(AUTHENTICATION_KEY_2);
 
@@ -135,7 +132,6 @@ public class AuthenticationKeyDataListenerTest {
      * Tests {@link AuthenticationKeyDataListener#onDataTreeChanged} method with WRITE mod type.
      */
     @Test
-    @SuppressWarnings("unchecked")
     public void onDataTreeChangedTest_write() {
         Mockito.when(mod_write.getDataAfter()).thenReturn(AUTHENTICATION_KEY_3);
 
index 2df6493a3e83d9ce2156a2610d7996b94aa7d523..b188aa01584292fa321404d549c0c9c758784846 100644 (file)
@@ -39,7 +39,6 @@ import org.mockito.ArgumentCaptor;
 import org.mockito.ArgumentMatchers;
 import org.mockito.InOrder;
 import org.mockito.Mockito;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.lispflowmapping.lisp.serializer.MapNotifySerializer;
 import org.opendaylight.lispflowmapping.lisp.serializer.MapReplySerializer;
 import org.opendaylight.lispflowmapping.lisp.type.LispMessage;
@@ -52,6 +51,7 @@ import org.opendaylight.lispflowmapping.southbound.LispSouthboundPlugin;
 import org.opendaylight.lispflowmapping.southbound.lisp.cache.MapRegisterCache;
 import org.opendaylight.lispflowmapping.southbound.lisp.exception.LispMalformedPacketException;
 import org.opendaylight.lispflowmapping.tools.junit.BaseTestCase;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.iana.afn.safi.rev130704.AddressFamily;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.InstanceIdType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.Ipv4BinaryAfi;
@@ -114,7 +114,6 @@ public class LispSouthboundHandlerTest extends BaseTestCase {
         int LOCATOR = MapReplyIpv4SingleLocatorPos.LOCATOR + FIRST_LOCATOR_IPV4_LENGTH;
     }
 
-    @SuppressWarnings("unchecked")
     @BeforeClass
     public static void initTests() {
         akdb = Mockito.mock(AuthKeyDb.class);