Fix uint usage warnings 51/92751/2
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 28 Sep 2020 10:24:41 +0000 (12:24 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 28 Sep 2020 15:44:53 +0000 (17:44 +0200)
This is another pass through warnings, fixing simple offenses.

Change-Id: I0ea5569f3284cceed500500c4aee51ad8153d6c6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/attribute/LinkAttributesParser.java
bgp/openconfig-state/src/main/java/org/opendaylight/protocol/bgp/state/GlobalUtil.java
bgp/openconfig-state/src/main/java/org/opendaylight/protocol/bgp/state/NeighborUtil.java
bgp/openconfig-state/src/main/java/org/opendaylight/protocol/bgp/state/PeerGroupUtil.java
bgp/openconfig-state/src/test/java/org/opendaylight/protocol/bgp/state/NeighborUtilTest.java
bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/PeerUtil.java
bmp/bmp-mock/src/main/java/org/opendaylight/protocol/bmp/mock/BmpMockUtil.java

index 9cc4de990f0325d649c596ed18e98dbd56b40fe5..6048a671c62bccbc89733e5a0aa8ed83afd037df 100644 (file)
@@ -55,6 +55,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.network.
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.network.concepts.rev131125.Metric;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.network.concepts.rev131125.TeMetric;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.SrlgId;
+import org.opendaylight.yangtools.yang.common.Uint32;
 import org.opendaylight.yangtools.yang.common.Uint8;
 import org.opendaylight.yangtools.yang.common.netty.ByteBufUtils;
 import org.slf4j.Logger;
@@ -175,7 +176,7 @@ public final class LinkAttributesParser {
                     break;
                 case METRIC:
                     // length can 3, 2 or 1
-                    builder.setMetric(new Metric(ByteArray.bytesToLong(ByteArray.readAllBytes(value))));
+                    builder.setMetric(new Metric(Uint32.valueOf(ByteArray.bytesToLong(ByteArray.readAllBytes(value)))));
                     LOG.debug("Parsed Metric {}", builder.getMetric());
                     break;
                 case SHARED_RISK_LINK_GROUP:
index 4d68e07c88cf1a00175a22887897d42b25fa9e63..9a7f6b9a3a606e99e5cdab7167b72860b56ab57a 100644 (file)
@@ -7,14 +7,16 @@
  */
 package org.opendaylight.protocol.bgp.state;
 
-import java.util.List;
+import java.util.Map;
 import java.util.Optional;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.protocol.bgp.openconfig.spi.BGPTableTypeRegistryConsumer;
 import org.opendaylight.protocol.bgp.rib.spi.state.BGPRibState;
 import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.multiprotocol.rev151009.bgp.common.afi.safi.list.AfiSafi;
 import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.multiprotocol.rev151009.bgp.common.afi.safi.list.AfiSafiBuilder;
+import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.multiprotocol.rev151009.bgp.common.afi.safi.list.AfiSafiKey;
 import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.multiprotocol.rev151009.bgp.common.afi.safi.list.afi.safi.StateBuilder;
 import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.global.base.AfiSafisBuilder;
 import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.top.bgp.Global;
@@ -22,6 +24,7 @@ import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.t
 import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.types.rev151009.AfiSafiType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev180329.GlobalAfiSafiStateAugmentationBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.rib.TablesKey;
+import org.opendaylight.yangtools.yang.common.Uint32;
 
 public final class GlobalUtil {
     private GlobalUtil() {
@@ -49,11 +52,11 @@ public final class GlobalUtil {
      * @param bgpTableTypeRegistry BGP TableType Registry
      * @return List containing per afi/safi operational state
      */
-    public static List<AfiSafi> buildAfisSafis(final BGPRibState ribState,
+    public static Map<AfiSafiKey, AfiSafi> buildAfisSafis(final BGPRibState ribState,
             final BGPTableTypeRegistryConsumer bgpTableTypeRegistry) {
         return ribState.getPathsCount().keySet().stream()
                 .map(tk -> buildAfiSafi(ribState, tk, bgpTableTypeRegistry))
-                .collect(Collectors.toList());
+                .collect(Collectors.toUnmodifiableMap(AfiSafi::key, Function.identity()));
     }
 
     /**
@@ -67,11 +70,16 @@ public final class GlobalUtil {
         return new org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.global.base.StateBuilder()
                 .setAs(ribState.getAs())
                 .setRouterId(ribState.getRouteId())
-                .setTotalPaths(ribState.getTotalPathsCount())
-                .setTotalPrefixes(ribState.getTotalPrefixesCount())
+                .setTotalPaths(saturatedUint32(ribState.getTotalPathsCount()))
+                .setTotalPrefixes(saturatedUint32(ribState.getTotalPrefixesCount()))
                 .build();
     }
 
+    // FIXME: remove this with YANGTOOLS-5.0.7+
+    private static Uint32 saturatedUint32(final long value) {
+        return value < 4294967295L ? Uint32.valueOf(value) : Uint32.MAX_VALUE;
+    }
+
     /**
      * Build Afi Safi containing State.
      *
@@ -90,8 +98,8 @@ public final class GlobalUtil {
                 .setAfiSafiName(optAfiSafi.get())
                 .setState(new StateBuilder()
                     .addAugmentation(new GlobalAfiSafiStateAugmentationBuilder()
-                        .setTotalPaths(ribState.getPathCount(tablesKey))
-                        .setTotalPrefixes(ribState.getPrefixesCount(tablesKey))
+                        .setTotalPaths(saturatedUint32(ribState.getPathCount(tablesKey)))
+                        .setTotalPrefixes(saturatedUint32(ribState.getPrefixesCount(tablesKey)))
                         .build())
                     .build())
                 .build();
index 52d72488a830cc3ad0b7a6a0db361c29af0023eb..85de3ff1003023a05730ab256df8c0b2b5a36892 100644 (file)
@@ -13,9 +13,11 @@ import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
 import java.util.Optional;
 import java.util.Set;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
@@ -31,6 +33,7 @@ import org.opendaylight.protocol.bgp.rib.spi.state.BGPTimersState;
 import org.opendaylight.protocol.bgp.rib.spi.state.BGPTransportState;
 import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.multiprotocol.rev151009.bgp.common.afi.safi.list.AfiSafi;
 import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.multiprotocol.rev151009.bgp.common.afi.safi.list.AfiSafiBuilder;
+import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.multiprotocol.rev151009.bgp.common.afi.safi.list.AfiSafiKey;
 import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.operational.rev151009.BgpNeighborState.SessionState;
 import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.operational.rev151009.bgp.neighbor.prefix.counters_state.PrefixesBuilder;
 import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.graceful.restart.GracefulRestart;
@@ -109,7 +112,7 @@ public final class NeighborUtil {
         return new NeighborsBuilder().setNeighbor(peerStats.stream()
                 .filter(Objects::nonNull)
                 .map(neighbor -> buildNeighbor(neighbor, bgpTableTypeRegistry))
-                .collect(Collectors.toList())).build();
+                .collect(Collectors.toUnmodifiableMap(Neighbor::key, Function.identity()))).build();
     }
 
     /**
@@ -320,7 +323,7 @@ public final class NeighborUtil {
     public static @NonNull NeighborErrorHandlingStateAugmentation buildErrorHandlingState(
             final long erroneousUpdateCount) {
         return new NeighborErrorHandlingStateAugmentationBuilder()
-                .setErroneousUpdateMessages(erroneousUpdateCount).build();
+                .setErroneousUpdateMessages(saturatedUint32(erroneousUpdateCount)).build();
     }
 
     /**
@@ -328,13 +331,13 @@ public final class NeighborUtil {
      *
      * @return AfiSafi List
      */
-    public static @NonNull List<AfiSafi> buildAfisSafisState(final @NonNull BGPAfiSafiState neighbor,
+    public static @NonNull Map<AfiSafiKey, AfiSafi> buildAfisSafisState(final @NonNull BGPAfiSafiState neighbor,
             final @NonNull BGPTableTypeRegistryConsumer bgpTableTypeRegistry) {
         final Set<TablesKey> afiSafiJoin = new HashSet<>(neighbor.getAfiSafisAdvertized());
         afiSafiJoin.addAll(neighbor.getAfiSafisReceived());
         return afiSafiJoin.stream().map(tableKey -> buildAfiSafi(neighbor, tableKey, bgpTableTypeRegistry))
                 .filter(Objects::nonNull)
-                .collect(Collectors.toList());
+                .collect(Collectors.toUnmodifiableMap(AfiSafi::key, Function.identity()));
     }
 
     private static AfiSafi buildAfiSafi(final @NonNull BGPAfiSafiState neighbor,
@@ -353,14 +356,19 @@ public final class NeighborUtil {
         builder.setActive(afiSafiSupported);
         if (afiSafiSupported) {
             builder.setPrefixes(new PrefixesBuilder()
-                    .setInstalled(neighbor.getPrefixesInstalledCount(tablesKey))
-                    .setReceived(neighbor.getPrefixesReceivedCount(tablesKey))
-                    .setSent(neighbor.getPrefixesSentCount(tablesKey)).build());
+                    .setInstalled(saturatedUint32(neighbor.getPrefixesInstalledCount(tablesKey)))
+                    .setReceived(saturatedUint32(neighbor.getPrefixesReceivedCount(tablesKey)))
+                    .setSent(saturatedUint32(neighbor.getPrefixesSentCount(tablesKey))).build());
         }
         return new org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.multiprotocol.rev151009.bgp.common.afi
                 .safi.list.afi.safi.StateBuilder().addAugmentation(builder.build()).build();
     }
 
+    // FIXME: remove this with YANGTOOLS-5.0.7+
+    private static Uint32 saturatedUint32(final long value) {
+        return value < 4294967295L ? Uint32.valueOf(value) : Uint32.MAX_VALUE;
+    }
+
     private static org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.multiprotocol.rev151009.bgp.common.afi
             .safi.list.afi.safi.GracefulRestart buildAfiSafiGracefulRestartState(
             final @NonNull BGPLlGracelfulRestartState neighbor, final @NonNull TablesKey tablesKey) {
index 10ecda237c767f2406ad54a0c99b98531b5f068b..a59067e6945221835d696518d7867a235847d414 100644 (file)
@@ -21,6 +21,7 @@ import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.t
 import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.top.bgp.PeerGroupsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev180329.PeerGroupStateAugmentation;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev180329.PeerGroupStateAugmentationBuilder;
+import org.opendaylight.yangtools.yang.common.Uint32;
 
 /**
  * Util for create OpenConfig Peer group with corresponding openConfig state.
@@ -62,8 +63,8 @@ public final class PeerGroupUtil {
     public static @NonNull PeerGroup buildPeerGroupState(final @NonNull String groupId,
             final @NonNull List<BGPPeerState> groups) {
         final PeerGroupStateAugmentation groupState = new PeerGroupStateAugmentationBuilder()
-                .setTotalPrefixes(groups.stream().mapToLong(BGPPeerState::getTotalPrefixes).sum())
-                .setTotalPaths(groups.stream().mapToLong(BGPPeerState::getTotalPathsCount).sum())
+                .setTotalPrefixes(saturatedUint32(groups.stream().mapToLong(BGPPeerState::getTotalPrefixes).sum()))
+                .setTotalPaths(saturatedUint32(groups.stream().mapToLong(BGPPeerState::getTotalPathsCount).sum()))
                 .build();
 
         return new PeerGroupBuilder()
@@ -71,4 +72,10 @@ public final class PeerGroupUtil {
                 .setState(new org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.neighbor.group
                         .StateBuilder().addAugmentation(groupState).build()).build();
     }
+
+    // FIXME: remove this with YANGTOOLS-5.0.7+
+    private static Uint32 saturatedUint32(final long value) {
+        return value < 4294967295L ? Uint32.valueOf(value) : Uint32.MAX_VALUE;
+    }
+
 }
index cbc7094bc0d0a2f9bc714db6ea1289b41dcf296b..a7d877810c376e4a6f20a72bdb75451484336c3a 100644 (file)
@@ -136,7 +136,7 @@ public class NeighborUtilTest {
 
     @Test
     public void buildAfisSafisState() {
-        assertEquals(Collections.emptyList(),
+        assertEquals(Collections.emptyMap(),
                 NeighborUtil.buildAfisSafisState(this.bgpAfiSafiState, this.tableRegistry));
 
         final GracefulRestart graceful = new GracefulRestartBuilder()
@@ -158,7 +158,7 @@ public class NeighborUtilTest {
         final AfiSafi expected = new AfiSafiBuilder().setAfiSafiName(this.afiSafi.get())
                 .setState(afiSafiState)
                 .setGracefulRestart(graceful).build();
-        assertEquals(Collections.singletonList(expected),
+        assertEquals(Collections.singletonMap(expected.key(), expected),
                 NeighborUtil.buildAfisSafisState(this.bgpAfiSafiState, this.tableRegistry));
     }
 }
\ No newline at end of file
index 6b6b58e8732376da37c93547f50d6d8840cb37c5..4317573d437389749e6bd747b3fd337d345d4311 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.protocol.bgp.rib.impl;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 import org.opendaylight.protocol.bgp.parser.spi.PathIdUtil;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressNoZone;
@@ -181,7 +182,7 @@ final class PeerUtil {
                                     .setSafi(key.getSafi())
                                     .setAfiFlags(new Tables.AfiFlags(gracefulTables.get(key)))
                                     .build())
-                                .collect(Collectors.toList()))
+                                .collect(Collectors.toUnmodifiableMap(Tables::key, Function.identity())))
                             .build())
                         .build())
                     .build())
index a0487bd536cc2f4123355a6c43048fe8e732855d..2038b9bdaf613458e3ff18ebea4793fd37b8a1ec 100644 (file)
@@ -50,7 +50,7 @@ import org.opendaylight.yangtools.yang.common.Uint8;
 final class BmpMockUtil {
     private static final String DESCRIPTION = "OpenDaylight";
     private static final String NAME = "BMP mock";
-    private static final int HOLD_TIMER = 180;
+    private static final Uint16 HOLD_TIMER = Uint16.valueOf(180);
     private static final AsNumber ASN = new AsNumber(Uint32.valueOf(65431));
     private static final Ipv4AddressNoZone NEXT_HOP = new Ipv4AddressNoZone("1.2.3.4");
     private static final PortNumber PEER_PORT = new PortNumber(Uint16.valueOf(179).intern());