Use BindingMap.Builder to fix list-related warnings 31/93031/7
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 12 Oct 2020 18:23:51 +0000 (20:23 +0200)
committerRobert Varga <nite@hq.sk>
Wed, 30 Dec 2020 20:48:55 +0000 (20:48 +0000)
BindingMap allows us to keep a list-like builder and result in a
Map -- thus arriving at what we want.

Change-Id: If65d10f801ad0e9e0d6e67c16e4b27911214136b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
bgp/parser-impl/src/main/java/org/opendaylight/protocol/bgp/parser/impl/message/open/GracefulCapabilityHandler.java
bgp/parser-impl/src/main/java/org/opendaylight/protocol/bgp/parser/impl/message/open/LlGracefulCapabilityHandler.java

index 4fe4ecfb7b8ed3d4cb4042e06622257350eccca6..6af13cfe68d9b7959e0aabc109b389d11d9f21ea 100644 (file)
@@ -12,8 +12,6 @@ import static java.util.Objects.requireNonNull;
 import com.google.common.base.Preconditions;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
-import java.util.ArrayList;
-import java.util.List;
 import java.util.Map;
 import org.opendaylight.protocol.bgp.parser.BGPDocumentedException;
 import org.opendaylight.protocol.bgp.parser.BGPParsingException;
@@ -35,6 +33,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mult
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.mp.capabilities.graceful.restart.capability.TablesKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev200120.AddressFamily;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev200120.SubsequentAddressFamily;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.opendaylight.yangtools.yang.common.Uint16;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -135,7 +134,7 @@ public final class GracefulCapabilityHandler implements CapabilityParser, Capabi
         final int timer = ((buffer.readUnsignedByte() & TIMER_TOPBITS_MASK) << Byte.SIZE) + buffer.readUnsignedByte();
         cb.setRestartTime(Uint16.valueOf(timer));
 
-        final List<Tables> tables = new ArrayList<>();
+        final BindingMap.Builder<TablesKey, Tables> tables = BindingMap.builder();
         while (buffer.readableBytes() != 0) {
             final int afiVal = buffer.readShort();
             final Class<? extends AddressFamily> afi = this.afiReg.classForFamily(afiVal);
@@ -155,7 +154,7 @@ public final class GracefulCapabilityHandler implements CapabilityParser, Capabi
             tables.add(new TablesBuilder().setAfi(afi).setSafi(safi)
                 .setAfiFlags(new AfiFlags((flags & AFI_FLAG_FORWARDING_STATE) != 0)).build());
         }
-        cb.setTables(tables);
+        cb.setTables(tables.build());
         return new CParametersBuilder()
                 .addAugmentation(new CParameters1Builder().setGracefulRestartCapability(cb.build()).build())
                 .build();
index 151fad4bfb9d9440d5955ba9e8cae7f906be47a3..c0569a15c582141f0755df7914e1a29016ef12cc 100644 (file)
@@ -12,8 +12,6 @@ import static java.util.Objects.requireNonNull;
 
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
-import java.util.ArrayList;
-import java.util.List;
 import java.util.Map;
 import org.opendaylight.protocol.bgp.parser.spi.AddressFamilyRegistry;
 import org.opendaylight.protocol.bgp.parser.spi.CapabilityParser;
@@ -32,6 +30,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mult
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.mp.capabilities.ll.graceful.restart.capability.TablesKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev200120.AddressFamily;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev200120.SubsequentAddressFamily;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.opendaylight.yangtools.yang.common.Uint32;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -63,7 +62,7 @@ public final class LlGracefulCapabilityHandler implements CapabilityParser, Capa
 
     @Override
     public CParameters parseCapability(final ByteBuf buffer) {
-        final List<Tables> tables = new ArrayList<>();
+        final BindingMap.Builder<TablesKey, Tables> tables = BindingMap.builder();
 
         while (buffer.isReadable()) {
             final short afival = buffer.readShort();
@@ -94,7 +93,9 @@ public final class LlGracefulCapabilityHandler implements CapabilityParser, Capa
         }
         return new CParametersBuilder()
                 .addAugmentation(new CParameters1Builder()
-                    .setLlGracefulRestartCapability(new LlGracefulRestartCapabilityBuilder().setTables(tables).build())
+                    .setLlGracefulRestartCapability(new LlGracefulRestartCapabilityBuilder()
+                        .setTables(tables.build())
+                        .build())
                     .build())
                 .build();
     }