MRI version bumpup for Aluminium
[netvirt.git] / fibmanager / api / src / main / java / org / opendaylight / netvirt / fibmanager / api / FibHelper.java
index 331acf2e3f0887017443df1b2df25df4e1d54bf7..bb6a9d53a2cf1546496b166d3e524cd0a0972b9d 100644 (file)
@@ -16,12 +16,14 @@ import java.net.UnknownHostException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+import java.util.Map;
+import java.util.Optional;
 import java.util.concurrent.ExecutionException;
 import java.util.stream.Collectors;
 import org.eclipse.jdt.annotation.Nullable;
-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.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.ReadTransaction;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330.FibEntries;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330.fibentries.VrfTables;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330.fibentries.VrfTablesKey;
@@ -34,13 +36,15 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev15033
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.InstanceIdentifierBuilder;
+import org.opendaylight.yangtools.yang.common.Uint32;
+import org.opendaylight.yangtools.yang.common.Uint64;
 
 public final class FibHelper {
     private FibHelper() {
 
     }
 
-    public static RoutePaths buildRoutePath(String nextHop, Long label) {
+    public static RoutePaths buildRoutePath(String nextHop, Uint32 label) {
         RoutePathsBuilder builder = new RoutePathsBuilder()
                 .withKey(new RoutePathsKey(nextHop))
                 .setNexthopAddress(nextHop);
@@ -61,7 +65,7 @@ public final class FibHelper {
                 .setRoutePaths(routePaths).setOrigin(origin.getValue()).setParentVpnRd(parentVpnRd);
     }
 
-    public static VrfEntryBuilder getVrfEntryBuilder(String prefix, long label, String nextHop, RouteOrigin origin,
+    public static VrfEntryBuilder getVrfEntryBuilder(String prefix, Uint32 label, String nextHop, RouteOrigin origin,
             @Nullable String parentVpnRd) {
         if (nextHop != null) {
             RoutePaths routePath = buildRoutePath(nextHop, label);
@@ -71,7 +75,7 @@ public final class FibHelper {
         }
     }
 
-    public static VrfEntryBuilder getVrfEntryBuilder(VrfEntry vrfEntry, long label,
+    public static VrfEntryBuilder getVrfEntryBuilder(VrfEntry vrfEntry, Uint32 label,
             List<String> nextHopList, RouteOrigin origin, @Nullable String parentvpnRd) {
         List<RoutePaths> routePaths =
                 nextHopList.stream().map(nextHop -> buildRoutePath(nextHop, label))
@@ -110,25 +114,25 @@ public final class FibHelper {
     }
 
     public static List<String> getNextHopListFromRoutePaths(final VrfEntry vrfEntry) {
-        List<RoutePaths> routePaths = vrfEntry.getRoutePaths();
-        if (routePaths == null || routePaths.isEmpty()) {
+        Map<RoutePathsKey, RoutePaths> keyRoutePathsMap = vrfEntry.getRoutePaths();
+        if (keyRoutePathsMap == null || keyRoutePathsMap.isEmpty()) {
             return new ArrayList<>();
         }
-        return routePaths.stream()
+        return keyRoutePathsMap.values().stream()
                 .map(RoutePaths::getNexthopAddress)
                 .collect(Collectors.toList());
     }
 
-    public static com.google.common.base.Optional<VrfEntry> getVrfEntry(DataBroker broker, String rd, String ipPrefix) {
+    public static Optional<VrfEntry> getVrfEntry(DataBroker broker, String rd, String ipPrefix) {
         InstanceIdentifier<VrfEntry> vrfEntryId = InstanceIdentifier.builder(FibEntries.class)
             .child(VrfTables.class, new VrfTablesKey(rd))
             .child(VrfEntry.class, new VrfEntryKey(ipPrefix)).build();
         return read(broker, LogicalDatastoreType.CONFIGURATION, vrfEntryId);
     }
 
-    private static <T extends DataObject> com.google.common.base.Optional<T> read(DataBroker broker,
+    private static <T extends DataObject> Optional<T> read(DataBroker broker,
             LogicalDatastoreType datastoreType, InstanceIdentifier<T> path) {
-        try (ReadOnlyTransaction tx = broker.newReadOnlyTransaction()) {
+        try (ReadTransaction tx = broker.newReadOnlyTransaction()) {
             return tx.read(datastoreType, path).get();
         } catch (InterruptedException | ExecutionException e) {
             throw new RuntimeException(e);
@@ -280,4 +284,8 @@ public final class FibHelper {
         }
         return bb;
     }
+
+    public static String getJobKeyForDcGwLoadBalancingGroup(Uint64 dpnId) {
+        return new StringBuilder().append("NextHopManager").append(dpnId).toString();
+    }
 }