Removed checkstyle warnings.
[bgpcep.git] / pcep / impl / src / main / java / org / opendaylight / protocol / pcep / impl / tlv / NoPathVectorTlvParser.java
index 755f4fb95035994f92e261bbbd7e8b1773225b15..c4cc3b7526a405a22c7afa12b877a56107f54024 100644 (file)
@@ -7,6 +7,8 @@
  */
 package org.opendaylight.protocol.pcep.impl.tlv;
 
+import io.netty.buffer.ByteBuf;
+
 import java.util.BitSet;
 
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
@@ -23,54 +25,49 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.typ
  */
 public class NoPathVectorTlvParser implements TlvParser, TlvSerializer {
 
-       public static final int TYPE = 1;
-
-       private static final int FLAGS_F_LENGTH = 4;
+    public static final int TYPE = 1;
 
-       private static final int REACHABLITY_PROBLEM = 24;
-       private static final int NO_GCO_SOLUTION = 25;
-       private static final int NO_GCO_MIGRATION_PATH = 26;
-       private static final int PATH_KEY = 27;
-       private static final int CHAIN_UNAVAILABLE = 28;
-       private static final int UNKNOWN_SRC = 29;
-       private static final int UNKNOWN_DEST = 30;
-       private static final int PCE_UNAVAILABLE = 31;
+    private static final int FLAGS_F_LENGTH = 4;
 
-       @Override
-       public NoPathVector parseTlv(final byte[] valueBytes) throws PCEPDeserializerException {
-               if (valueBytes == null || valueBytes.length == 0) {
-                       throw new IllegalArgumentException("Array of bytes is mandatory. Can't be null or empty.");
-               }
-               if (valueBytes.length != FLAGS_F_LENGTH) {
-                       throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: " + valueBytes.length + "; Expected: >="
-                                       + FLAGS_F_LENGTH + ".");
-               }
-               final BitSet flags = ByteArray.bytesToBitSet(valueBytes);
-               return new NoPathVectorBuilder().setFlags(
-                               new Flags(flags.get(CHAIN_UNAVAILABLE), flags.get(NO_GCO_MIGRATION_PATH), flags.get(NO_GCO_SOLUTION), flags.get(REACHABLITY_PROBLEM), flags.get(PATH_KEY), flags.get(PCE_UNAVAILABLE), flags.get(UNKNOWN_DEST), flags.get(UNKNOWN_SRC))).build();
-       }
+    private static final int REACHABLITY_PROBLEM = 24;
+    private static final int NO_GCO_SOLUTION = 25;
+    private static final int NO_GCO_MIGRATION_PATH = 26;
+    private static final int PATH_KEY = 27;
+    private static final int CHAIN_UNAVAILABLE = 28;
+    private static final int UNKNOWN_SRC = 29;
+    private static final int UNKNOWN_DEST = 30;
+    private static final int PCE_UNAVAILABLE = 31;
 
-       @Override
-       public byte[] serializeTlv(final Tlv tlvs) {
-               if (tlvs == null) {
-                       throw new IllegalArgumentException("NoPathVectorTlv is mandatory.");
-               }
-               final NoPathVector tlv = (NoPathVector) tlvs;
+    @Override
+    public NoPathVector parseTlv(final ByteBuf buffer) throws PCEPDeserializerException {
+        if (buffer == null) {
+            return null;
+        }
+        if (buffer.readableBytes() != FLAGS_F_LENGTH) {
+            throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: " + buffer.readableBytes() + "; Expected: >="
+                    + FLAGS_F_LENGTH + ".");
+        }
+        final BitSet flags = ByteArray.bytesToBitSet(ByteArray.readAllBytes(buffer));
+        return new NoPathVectorBuilder().setFlags(
+                new Flags(flags.get(CHAIN_UNAVAILABLE), flags.get(NO_GCO_MIGRATION_PATH), flags.get(NO_GCO_SOLUTION), flags.get(REACHABLITY_PROBLEM), flags.get(PATH_KEY), flags.get(PCE_UNAVAILABLE), flags.get(UNKNOWN_DEST), flags.get(UNKNOWN_SRC))).build();
+    }
 
-               final BitSet flags = new BitSet(FLAGS_F_LENGTH * Byte.SIZE);
-               flags.set(REACHABLITY_PROBLEM, tlv.getFlags().isP2mpUnreachable());
-               flags.set(NO_GCO_SOLUTION, tlv.getFlags().isNoGcoSolution());
-               flags.set(NO_GCO_MIGRATION_PATH, tlv.getFlags().isNoGcoMigration());
-               flags.set(PATH_KEY, tlv.getFlags().isPathKey());
-               flags.set(CHAIN_UNAVAILABLE, tlv.getFlags().isChainUnavailable());
-               flags.set(UNKNOWN_SRC, tlv.getFlags().isUnknownSource());
-               flags.set(UNKNOWN_DEST, tlv.getFlags().isUnknownDestination());
-               flags.set(PCE_UNAVAILABLE, tlv.getFlags().isPceUnavailable());
-               return TlvUtil.formatTlv(TYPE, ByteArray.bitSetToBytes(flags, FLAGS_F_LENGTH));
-       }
+    @Override
+    public byte[] serializeTlv(final Tlv tlvs) {
+        if (tlvs == null) {
+            throw new IllegalArgumentException("NoPathVectorTlv is mandatory.");
+        }
+        final NoPathVector tlv = (NoPathVector) tlvs;
 
-       @Override
-       public int getType() {
-               return TYPE;
-       }
+        final BitSet flags = new BitSet(FLAGS_F_LENGTH * Byte.SIZE);
+        flags.set(REACHABLITY_PROBLEM, tlv.getFlags().isP2mpUnreachable());
+        flags.set(NO_GCO_SOLUTION, tlv.getFlags().isNoGcoSolution());
+        flags.set(NO_GCO_MIGRATION_PATH, tlv.getFlags().isNoGcoMigration());
+        flags.set(PATH_KEY, tlv.getFlags().isPathKey());
+        flags.set(CHAIN_UNAVAILABLE, tlv.getFlags().isChainUnavailable());
+        flags.set(UNKNOWN_SRC, tlv.getFlags().isUnknownSource());
+        flags.set(UNKNOWN_DEST, tlv.getFlags().isUnknownDestination());
+        flags.set(PCE_UNAVAILABLE, tlv.getFlags().isPceUnavailable());
+        return TlvUtil.formatTlv(TYPE, ByteArray.bitSetToBytes(flags, FLAGS_F_LENGTH));
+    }
 }