MRI version bumpup for Aluminium
[netvirt.git] / neutronvpn / api / src / main / java / org / opendaylight / netvirt / neutronvpn / api / utils / NeutronUtils.java
index 332129e2d34af7928511a0cf26d3160fe6f50420..3d650bca727af08562c8aaa7ef754fea88ce4e47 100644 (file)
@@ -5,24 +5,21 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.netvirt.neutronvpn.api.utils;
 
-import static java.util.Objects.requireNonNull;
-
 import com.google.common.base.Preconditions;
 import java.util.Collections;
 import java.util.List;
 import java.util.Locale;
-import java.util.Objects;
+import java.util.Map;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.genius.datastoreutils.SingleTransactionDataBroker;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.vpnmaps.vpnmap.RouterIds;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.binding.rev150712.PortBindingExtension;
@@ -34,6 +31,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.por
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.PortKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.provider.ext.rev150712.NetworkProviderExtension;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.provider.ext.rev150712.neutron.networks.network.Segments;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.provider.ext.rev150712.neutron.networks.network.SegmentsKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150712.Neutron;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
@@ -50,7 +48,9 @@ public final class NeutronUtils {
     public static final String PORT_STATUS_NOTAPPLICABLE = "N/A";
     private static volatile Pattern uuidPattern;
 
-    private NeutronUtils() { }
+    private NeutronUtils() {
+
+    }
 
     /**
      * Create a Neutron Port status entry in the operational data store.
@@ -138,9 +138,9 @@ public final class NeutronUtils {
         if (providerExtension != null) {
             segmentationId = providerExtension.getSegmentationId();
             if (segmentationId == null) {
-                List<Segments> providerSegments = providerExtension.getSegments();
-                if (providerSegments != null && providerSegments.size() > 0) {
-                    for (Segments providerSegment: providerSegments) {
+                Map<SegmentsKey, Segments> providerSegmentsMap = providerExtension.getSegments();
+                if (providerSegmentsMap != null && providerSegmentsMap.size() > 0) {
+                    for (Segments providerSegment: providerSegmentsMap.values()) {
                         if (isNetworkSegmentType(providerSegment, networkType)) {
                             segmentationId = providerSegment.getSegmentationId();
                             break;
@@ -158,53 +158,6 @@ public final class NeutronUtils {
         return networkType != null && networkType.isAssignableFrom(expectedNetworkType);
     }
 
-    public static <T extends NetworkTypeBase> boolean isNetworkSegmentType(Network network, Long index,
-                                                                           Class<T> expectedNetworkType) {
-        Class<? extends NetworkTypeBase> segmentType = null;
-        NetworkProviderExtension providerExtension = network.augmentation(NetworkProviderExtension.class);
-        if (providerExtension != null) {
-            List<Segments> providerSegments = providerExtension.getSegments();
-            if (providerSegments != null && providerSegments.size() > 0) {
-                for (Segments providerSegment : providerSegments) {
-                    if (Objects.equals(providerSegment.getSegmentationIndex(), index)) {
-                        segmentType = providerSegment.getNetworkType();
-                        break;
-                    }
-                }
-            }
-        }
-        return segmentType != null && segmentType.isAssignableFrom(expectedNetworkType);
-    }
-
-    public static Long getNumberSegmentsFromNeutronNetwork(Network network) {
-        NetworkProviderExtension providerExtension = network.augmentation(NetworkProviderExtension.class);
-        Integer numSegs = 0;
-        if (providerExtension != null) {
-            List<Segments> providerSegments = providerExtension.getSegments();
-            if (providerSegments != null) {
-                numSegs = providerSegments.size();
-            }
-        }
-        return Long.valueOf(numSegs);
-    }
-
-    public static String getSegmentationIdFromNeutronNetworkSegment(Network network, Long index) {
-        String segmentationId = null;
-        NetworkProviderExtension providerExtension = network.augmentation(NetworkProviderExtension.class);
-        if (providerExtension != null) {
-            List<Segments> providerSegments = providerExtension.getSegments();
-            if (providerSegments != null && providerSegments.size() > 0) {
-                for (Segments providerSegment : providerSegments) {
-                    if (Objects.equals(providerSegment.getSegmentationIndex(), index)) {
-                        segmentationId = providerSegment.getSegmentationId();
-                        break;
-                    }
-                }
-            }
-        }
-        return segmentationId;
-    }
-
     public static boolean isUuid(String possibleUuid) {
         Preconditions.checkNotNull(possibleUuid, "possibleUuid == null");
 
@@ -223,7 +176,7 @@ public final class NeutronUtils {
         }
     }
 
-    @Nonnull
+    @NonNull
     public static List<Uuid> getVpnMapRouterIdsListUuid(@Nullable List<RouterIds> routerIds) {
         if (routerIds == null) {
             return Collections.emptyList();
@@ -231,10 +184,4 @@ public final class NeutronUtils {
         return routerIds.stream().map(
             routerId -> routerId.getRouterId()).collect(Collectors.toList());
     }
-
-    // Use Objects.requireNonNullElse instead with JDK9+
-    @Nonnull
-    public static <T> T requireNonNullElse(@Nullable T obj, @Nonnull T defaultObj) {
-        return obj != null ? obj : requireNonNull(defaultObj);
-    }
 }