NETVIRT-1630 migrate to md-sal APIs
[netvirt.git] / vpnmanager / impl / src / main / java / org / opendaylight / netvirt / vpnmanager / iplearn / AlivenessMonitorUtils.java
index e084f657c75d0f7b0dd101fc9eedbbf274fa51ff..e4b2985a2cc55395c1b4c406a023b6dc9c8b42dc 100644 (file)
@@ -7,19 +7,19 @@
  */
 package org.opendaylight.netvirt.vpnmanager.iplearn;
 
-import com.google.common.base.Optional;
 import java.util.Map;
+import java.util.Optional;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
 import javax.inject.Inject;
 import javax.inject.Singleton;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.genius.arputil.api.ArpConstants;
+import org.opendaylight.genius.datastoreutils.SingleTransactionDataBroker;
 import org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager;
-import org.opendaylight.genius.mdsalutil.MDSALUtil;
 import org.opendaylight.infrautils.utils.concurrent.JdkFutures;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.netvirt.neutronvpn.interfaces.INeutronVpnManager;
 import org.opendaylight.netvirt.vpnmanager.VpnUtil;
 import org.opendaylight.netvirt.vpnmanager.iplearn.model.MacEntry;
@@ -156,7 +156,7 @@ public final class AlivenessMonitorUtils {
     }
 
     private Optional<Uint32> allocateIpMonitorProfile(IpAddress targetIp) {
-        Optional<Uint32> profileIdOptional = Optional.absent();
+        Optional<Uint32> profileIdOptional = Optional.empty();
         if (targetIp.getIpv4Address() != null) {
             profileIdOptional = allocateArpMonitorProfile();
         } else if (targetIp.getIpv6Address() != null) {
@@ -218,7 +218,7 @@ public final class AlivenessMonitorUtils {
         } catch (InterruptedException | ExecutionException e) {
             LOG.warn("Exception when allocating profile Id", e);
         }
-        return Optional.absent();
+        return Optional.empty();
     }
 
     private MonitorProfileGetInput buildMonitorGetProfile(long monitorInterval, long monitorWindow,
@@ -250,8 +250,15 @@ public final class AlivenessMonitorUtils {
     public java.util.Optional<Uint32> getMonitorIdFromInterface(MacEntry macEntry) {
         String interfaceName = macEntry.getInterfaceName();
         java.util.Optional<Uint32> monitorId = java.util.Optional.empty();
-        Optional<InterfaceMonitorEntry> interfaceMonitorEntryOptional = MDSALUtil.read(dataBroker,
-                LogicalDatastoreType.OPERATIONAL, getInterfaceMonitorMapId(interfaceName));
+        Optional<InterfaceMonitorEntry> interfaceMonitorEntryOptional = Optional.empty();
+        try {
+            interfaceMonitorEntryOptional = SingleTransactionDataBroker
+                    .syncReadOptional(dataBroker, LogicalDatastoreType.OPERATIONAL,
+                            getInterfaceMonitorMapId(interfaceName));
+        } catch (ExecutionException | InterruptedException e) {
+            LOG.error("getMonitorIdFromInterface: Exception while reading Interface Monitor MapId for the "
+                    + "interface {} ", interfaceName, e);
+        }
         if (interfaceMonitorEntryOptional.isPresent()) {
             return java.util.Optional.of(interfaceMonitorEntryOptional.get().getMonitorIds().get(0));
         }