Bump upstream versions
[bgpcep.git] / bgp / openconfig-rp-statement / src / main / java / org / opendaylight / protocol / bgp / openconfig / routing / policy / statement / conditions / MatchAsPathSetHandler.java
index 9818098f674375c98f603847fd66b85885735d6c..0c934339e50047f7000855603229495f19cd6546 100644 (file)
@@ -13,12 +13,12 @@ import com.google.common.cache.CacheBuilder;
 import com.google.common.cache.CacheLoader;
 import com.google.common.cache.LoadingCache;
 import com.google.common.util.concurrent.FluentFuture;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
 import java.util.Optional;
+import java.util.Set;
 import java.util.concurrent.ExecutionException;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
@@ -38,6 +38,7 @@ import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.policy.rev15100
 import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.policy.rev151009.routing.policy.defined.sets.bgp.defined.sets.as.path.sets.AsPathSetKey;
 import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.types.rev151009.AfiSafiType;
 import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.policy.types.rev151009.MatchSetOptionsType;
+import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.routing.policy.rev151009.OpenconfigRoutingPolicyData;
 import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.routing.policy.rev151009.routing.policy.top.RoutingPolicy;
 import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.routing.policy.rev151009.routing.policy.top.routing.policy.DefinedSets;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber;
@@ -51,9 +52,11 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
  * Match a set of AS (All, ANY, INVERT).
  */
 public final class MatchAsPathSetHandler implements BgpConditionsPolicy<MatchAsPathSet, AsPath> {
-    private static final InstanceIdentifier<AsPathSets> AS_PATHS_SETS_IID
-            = InstanceIdentifier.create(RoutingPolicy.class).child(DefinedSets.class)
-            .augmentation(DefinedSets1.class).child(BgpDefinedSets.class)
+    private static final InstanceIdentifier<AsPathSets> AS_PATHS_SETS_IID =
+        InstanceIdentifier.builderOfInherited(OpenconfigRoutingPolicyData.class, RoutingPolicy.class).build()
+            .child(DefinedSets.class)
+            .augmentation(DefinedSets1.class)
+            .child(BgpDefinedSets.class)
             .child(AsPathSets.class);
     private final DataBroker dataBroker;
     private final LoadingCache<String, AsPathSet> sets = CacheBuilder.newBuilder()
@@ -68,11 +71,9 @@ public final class MatchAsPathSetHandler implements BgpConditionsPolicy<MatchAsP
         this.dataBroker = requireNonNull(dataBroker);
     }
 
-    @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD",
-            justification = "https://github.com/spotbugs/spotbugs/issues/811")
     private AsPathSet loadSets(final String key) throws ExecutionException, InterruptedException {
         final FluentFuture<Optional<AsPathSet>> future;
-        try (ReadTransaction tr = this.dataBroker.newReadOnlyTransaction()) {
+        try (ReadTransaction tr = dataBroker.newReadOnlyTransaction()) {
             future = tr.read(LogicalDatastoreType.CONFIGURATION,
                     AS_PATHS_SETS_IID.child(AsPathSet.class, new AsPathSetKey(key)));
         }
@@ -114,7 +115,7 @@ public final class MatchAsPathSetHandler implements BgpConditionsPolicy<MatchAsP
         if (asPath == null) {
             return false;
         }
-        final AsPathSet asPathSetFilter = this.sets.getUnchecked(StringUtils
+        final AsPathSet asPathSetFilter = sets.getUnchecked(StringUtils
                 .substringBetween(asPathSetName, "=\"", "\""));
 
         final List<Segments> segments = asPath.getSegments();
@@ -138,7 +139,7 @@ public final class MatchAsPathSetHandler implements BgpConditionsPolicy<MatchAsP
 
         List<AsNumber> allAs = Stream.of(l1, l2).flatMap(Collection::stream).collect(Collectors.toList());
 
-        final List<AsNumber> asPathSetFilterList = asPathSetFilter.getAsPathSetMember();
+        final Set<AsNumber> asPathSetFilterList = asPathSetFilter.getAsPathSetMember();
         if (matchSetOptions.equals(MatchSetOptionsType.ALL)) {
             return allAs.containsAll(asPathSetFilterList)
                     && asPathSetFilterList.containsAll(allAs);