BUG-64 : reformat TlvRegistry, to skip using getType method. 27/5627/6
authorDana Kutenicsova <dkutenic@cisco.com>
Thu, 13 Mar 2014 12:21:17 +0000 (13:21 +0100)
committerDana Kutenicsova <dkutenic@cisco.com>
Fri, 14 Mar 2014 12:51:39 +0000 (13:51 +0100)
Change-Id: If3dd450f148e255357eb11d230b94cb7ab058da8
Signed-off-by: Dana Kutenicsova <dkutenic@cisco.com>
62 files changed:
pcep/ietf-stateful02/src/main/java/org/opendaylight/protocol/pcep/crabbe/initiated00/LSPCleanupTlvParser.java
pcep/ietf-stateful02/src/main/java/org/opendaylight/protocol/pcep/crabbe/initiated00/PCEPOpenObjectParser.java
pcep/ietf-stateful02/src/main/java/org/opendaylight/protocol/pcep/crabbe/initiated00/PCEStatefulCapabilityTlvParser.java
pcep/ietf-stateful02/src/main/java/org/opendaylight/protocol/pcep/ietf/stateful02/Stateful02LspDbVersionTlvParser.java
pcep/ietf-stateful02/src/main/java/org/opendaylight/protocol/pcep/ietf/stateful02/Stateful02LspObjectParser.java
pcep/ietf-stateful02/src/main/java/org/opendaylight/protocol/pcep/ietf/stateful02/Stateful02LspSymbolicNameTlvParser.java
pcep/ietf-stateful02/src/main/java/org/opendaylight/protocol/pcep/ietf/stateful02/Stateful02LspaObjectParser.java
pcep/ietf-stateful02/src/main/java/org/opendaylight/protocol/pcep/ietf/stateful02/Stateful02NodeIdentifierTlvParser.java
pcep/ietf-stateful02/src/main/java/org/opendaylight/protocol/pcep/ietf/stateful02/Stateful02OpenObjectParser.java
pcep/ietf-stateful02/src/main/java/org/opendaylight/protocol/pcep/ietf/stateful02/Stateful02RSVPErrorSpecTlvParser.java
pcep/ietf-stateful02/src/main/java/org/opendaylight/protocol/pcep/ietf/stateful02/Stateful02StatefulCapabilityTlvParser.java
pcep/ietf-stateful02/src/test/java/org/opendaylight/protocol/pcep/ietf/PCEPObjectParserTest.java
pcep/ietf-stateful02/src/test/java/org/opendaylight/protocol/pcep/ietf/PCEPTlvParserTest.java
pcep/ietf-stateful07/src/main/java/org/opendaylight/protocol/pcep/ietf/initiated00/CInitiated00LspObjectParser.java
pcep/ietf-stateful07/src/main/java/org/opendaylight/protocol/pcep/ietf/initiated00/CInitiated00SrpObjectParser.java
pcep/ietf-stateful07/src/main/java/org/opendaylight/protocol/pcep/ietf/initiated00/CInitiated00StatefulCapabilityTlvParser.java
pcep/ietf-stateful07/src/main/java/org/opendaylight/protocol/pcep/ietf/initiated00/CrabbeInitiatedActivator.java
pcep/ietf-stateful07/src/main/java/org/opendaylight/protocol/pcep/ietf/stateful07/Stateful07LSPIdentifierIpv4TlvParser.java
pcep/ietf-stateful07/src/main/java/org/opendaylight/protocol/pcep/ietf/stateful07/Stateful07LSPIdentifierIpv6TlvParser.java
pcep/ietf-stateful07/src/main/java/org/opendaylight/protocol/pcep/ietf/stateful07/Stateful07LspObjectParser.java
pcep/ietf-stateful07/src/main/java/org/opendaylight/protocol/pcep/ietf/stateful07/Stateful07LspSymbolicNameTlvParser.java
pcep/ietf-stateful07/src/main/java/org/opendaylight/protocol/pcep/ietf/stateful07/Stateful07LspUpdateErrorTlvParser.java
pcep/ietf-stateful07/src/main/java/org/opendaylight/protocol/pcep/ietf/stateful07/Stateful07LspaObjectParser.java
pcep/ietf-stateful07/src/main/java/org/opendaylight/protocol/pcep/ietf/stateful07/Stateful07OpenObjectParser.java
pcep/ietf-stateful07/src/main/java/org/opendaylight/protocol/pcep/ietf/stateful07/Stateful07RSVPErrorSpecTlvParser.java
pcep/ietf-stateful07/src/main/java/org/opendaylight/protocol/pcep/ietf/stateful07/Stateful07SrpObjectParser.java
pcep/ietf-stateful07/src/main/java/org/opendaylight/protocol/pcep/ietf/stateful07/Stateful07StatefulCapabilityTlvParser.java
pcep/ietf-stateful07/src/main/java/org/opendaylight/protocol/pcep/ietf/stateful07/StatefulActivator.java
pcep/ietf-stateful07/src/test/java/org/opendaylight/protocol/pcep/ietf/PCEPObjectParserTest.java
pcep/ietf-stateful07/src/test/java/org/opendaylight/protocol/pcep/ietf/PCEPTlvParserTest.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/Activator.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/object/AbstractBandwidthParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/object/PCEPBandwidthObjectParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/object/PCEPClassTypeObjectParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/object/PCEPCloseObjectParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/object/PCEPEndPointsIpv4ObjectParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/object/PCEPEndPointsIpv6ObjectParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/object/PCEPErrorObjectParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/object/PCEPExistingBandwidthObjectParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/object/PCEPGlobalConstraintsObjectParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/object/PCEPLoadBalancingObjectParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/object/PCEPLspaObjectParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/object/PCEPMetricObjectParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/object/PCEPNoPathObjectParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/object/PCEPNotificationObjectParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/object/PCEPObjectiveFunctionObjectParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/object/PCEPOpenObjectParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/object/PCEPRequestParameterObjectParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/object/PCEPSvecObjectParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/tlv/NoPathVectorTlvParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/tlv/OFListTlvParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/tlv/OrderTlvParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/tlv/OverloadedDurationTlvParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/tlv/ReqMissingTlvParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/tlv/TlvUtil.java [new file with mode: 0644]
pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPObjectParserTest.java
pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPTlvParserTest.java
pcep/spi/src/main/java/org/opendaylight/protocol/pcep/spi/AbstractObjectWithTlvsParser.java
pcep/spi/src/main/java/org/opendaylight/protocol/pcep/spi/PCEPExtensionConsumerContext.java
pcep/spi/src/main/java/org/opendaylight/protocol/pcep/spi/TlvRegistry.java [moved from pcep/spi/src/main/java/org/opendaylight/protocol/pcep/spi/TlvHandlerRegistry.java with 74% similarity]
pcep/spi/src/main/java/org/opendaylight/protocol/pcep/spi/pojo/SimplePCEPExtensionProviderContext.java
pcep/spi/src/main/java/org/opendaylight/protocol/pcep/spi/pojo/SimpleTlvRegistry.java [moved from pcep/spi/src/main/java/org/opendaylight/protocol/pcep/spi/pojo/SimpleTlvHandlerRegistry.java with 64% similarity]

index 067a9b7c1d4b5425e42f91f8346608b25f9a0833..ac502a44ce5ad28bfba56ccd5f141575ede5ea5e 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.protocol.pcep.crabbe.initiated00;
 
+import org.opendaylight.protocol.pcep.impl.tlv.TlvUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
 import org.opendaylight.protocol.pcep.spi.TlvParser;
 import org.opendaylight.protocol.pcep.spi.TlvSerializer;
@@ -21,7 +22,7 @@ public final class LSPCleanupTlvParser implements TlvParser, TlvSerializer {
 
        @Override
        public byte[] serializeTlv(final Tlv tlv) {
-               return ByteArray.intToBytes(((LspCleanup) tlv).getTimeout().intValue());
+               return TlvUtil.formatTlv(TYPE, ByteArray.intToBytes(((LspCleanup) tlv).getTimeout().intValue()));
        }
 
        @Override
index a1df09163be8176d1ba5567357be8788e9c1b49e..041b97e40584e32e2cf14b3e5b80bded685be62c 100644 (file)
@@ -8,7 +8,7 @@
 package org.opendaylight.protocol.pcep.crabbe.initiated00;
 
 import org.opendaylight.protocol.pcep.ietf.stateful02.Stateful02OpenObjectParser;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.crabbe.initiated._00.rev140113.Tlvs1;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.crabbe.initiated._00.rev140113.Tlvs1Builder;
@@ -26,7 +26,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.typ
  */
 public final class PCEPOpenObjectParser extends Stateful02OpenObjectParser {
 
-       public PCEPOpenObjectParser(final TlvHandlerRegistry tlvReg) {
+       public PCEPOpenObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index d5a9c1c22473754b353735ef5af88165b2ddb4ea..1585ecd5901eaab12e3f834917cf5776834fac94 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.protocol.pcep.crabbe.initiated00;
 import java.util.BitSet;
 
 import org.opendaylight.protocol.pcep.ietf.stateful02.Stateful02StatefulCapabilityTlvParser;
+import org.opendaylight.protocol.pcep.impl.tlv.TlvUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.crabbe.initiated._00.rev140113.Stateful1;
@@ -67,6 +68,6 @@ public final class PCEStatefulCapabilityTlvParser extends Stateful02StatefulCapa
                if (sct.isIncludeDbVersion() != null && sct.isIncludeDbVersion()) {
                        flags.set(S_FLAG_OFFSET, sct.isIncludeDbVersion());
                }
-               return ByteArray.bitSetToBytes(flags, FLAGS_F_LENGTH);
+               return TlvUtil.formatTlv(TYPE, ByteArray.bitSetToBytes(flags, FLAGS_F_LENGTH));
        }
 }
\ No newline at end of file
index 0e898ab3425f804ebdb233edd1d9df846d83c5c5..468af9ff5060981fc7b3f0417a3cc7f3d36e0389 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.protocol.pcep.ietf.stateful02;
 
 import java.math.BigInteger;
 
+import org.opendaylight.protocol.pcep.impl.tlv.TlvUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
 import org.opendaylight.protocol.pcep.spi.TlvParser;
 import org.opendaylight.protocol.pcep.spi.TlvSerializer;
@@ -37,7 +38,7 @@ public final class Stateful02LspDbVersionTlvParser implements TlvParser, TlvSeri
        public byte[] serializeTlv(final Tlv tlv) {
                Preconditions.checkNotNull(tlv, "LspDbVersionTlv is mandatory.");
                final LspDbVersion lsp = (LspDbVersion) tlv;
-               return ByteArray.longToBytes(lsp.getVersion().longValue(), DBV_F_LENGTH);
+               return TlvUtil.formatTlv(TYPE, ByteArray.longToBytes(lsp.getVersion().longValue(), DBV_F_LENGTH));
        }
 
        @Override
index 8f57cc02103b60c8a36856dfb323597d1fed9f58..180d4f957fe09bc27dbe659c41ab93bbfa489a4e 100644 (file)
@@ -12,7 +12,7 @@ import java.util.BitSet;
 import org.opendaylight.protocol.pcep.spi.AbstractObjectWithTlvsParser;
 import org.opendaylight.protocol.pcep.spi.ObjectUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.crabbe.stateful._02.rev140110.PlspId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.crabbe.stateful._02.rev140110.lsp.db.version.tlv.LspDbVersion;
@@ -49,7 +49,7 @@ public final class Stateful02LspObjectParser extends AbstractObjectWithTlvsParse
        private static final int REMOVE_FLAG_OFFSET = 12;
        private static final int OPERATIONAL_FLAG_OFFSET = 13;
 
-       public Stateful02LspObjectParser(final TlvHandlerRegistry tlvReg) {
+       public Stateful02LspObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index 958a6088862580d0bcebba76232163c95679132f..bb64746c1659654c78b41eda1d3151adadf5a02f 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.protocol.pcep.ietf.stateful02;
 
+import org.opendaylight.protocol.pcep.impl.tlv.TlvUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
 import org.opendaylight.protocol.pcep.spi.TlvParser;
 import org.opendaylight.protocol.pcep.spi.TlvSerializer;
@@ -33,7 +34,7 @@ public final class Stateful02LspSymbolicNameTlvParser implements TlvParser, TlvS
                        throw new IllegalArgumentException("SymbolicPathNameTlv is mandatory.");
                }
                final SymbolicPathName spn = (SymbolicPathName) tlv;
-               return spn.getPathName().getValue();
+               return TlvUtil.formatTlv(TYPE, spn.getPathName().getValue());
        }
 
        @Override
index d206c10c69669d277bcfca517f2320a80770dc5f..fd2ae865bf9026e12b337c6cfb2ba2728cd9e690 100644 (file)
@@ -8,7 +8,7 @@
 package org.opendaylight.protocol.pcep.ietf.stateful02;
 
 import org.opendaylight.protocol.pcep.impl.object.PCEPLspaObjectParser;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.crabbe.initiated._00.rev140113.Tlvs2;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.crabbe.initiated._00.rev140113.Tlvs2Builder;
@@ -23,7 +23,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.typ
  */
 public class Stateful02LspaObjectParser extends PCEPLspaObjectParser {
 
-       public Stateful02LspaObjectParser(final TlvHandlerRegistry tlvReg) {
+       public Stateful02LspaObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index 1e106c390777f586d84c952343dbd26b62baeadf..31a8483a6da3c7395b5d55357a861685cc5c792a 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.protocol.pcep.ietf.stateful02;
 
+import org.opendaylight.protocol.pcep.impl.tlv.TlvUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
 import org.opendaylight.protocol.pcep.spi.TlvParser;
 import org.opendaylight.protocol.pcep.spi.TlvSerializer;
@@ -25,7 +26,7 @@ public final class Stateful02NodeIdentifierTlvParser implements TlvParser, TlvSe
 
        @Override
        public byte[] serializeTlv(final Tlv tlv) {
-               return ((NodeIdentifier) tlv).getValue();
+               return TlvUtil.formatTlv(TYPE, ((NodeIdentifier) tlv).getValue());
        }
 
        @Override
index aa56c5837be98cbb4c47489c3dc3785812bc5028..25342434865d1e194122b6c8e0150754ab1c4c6d 100644 (file)
@@ -8,7 +8,7 @@
 package org.opendaylight.protocol.pcep.ietf.stateful02;
 
 import org.opendaylight.protocol.pcep.impl.object.PCEPOpenObjectParser;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.crabbe.stateful._02.rev140110.Tlvs2;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.crabbe.stateful._02.rev140110.Tlvs2Builder;
@@ -24,7 +24,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.typ
  */
 public class Stateful02OpenObjectParser extends PCEPOpenObjectParser {
 
-       public Stateful02OpenObjectParser(final TlvHandlerRegistry tlvReg) {
+       public Stateful02OpenObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index 8b4da97f0693fc165ed1657f6958b531ff3ffaa2..1d85ad33070e65a194e7658620a74d7008d5ce6e 100644 (file)
@@ -11,6 +11,7 @@ import java.util.BitSet;
 
 import org.opendaylight.protocol.concepts.Ipv4Util;
 import org.opendaylight.protocol.concepts.Ipv6Util;
+import org.opendaylight.protocol.pcep.impl.tlv.TlvUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
 import org.opendaylight.protocol.pcep.spi.TlvParser;
 import org.opendaylight.protocol.pcep.spi.TlvSerializer;
@@ -94,10 +95,10 @@ public final class Stateful02RSVPErrorSpecTlvParser implements TlvParser, TlvSer
 
                if (rsvp.getErrorType().getImplementedInterface().equals(RsvpCase.class)) {
                        final RsvpCase r = (RsvpCase) rsvp.getErrorType();
-                       return serializeRsvp(r.getRsvpError());
+                       return TlvUtil.formatTlv(TYPE, serializeRsvp(r.getRsvpError()));
                } else {
                        final UserCase u = (UserCase) rsvp.getErrorType();
-                       return serializerUserError(u.getUserError());
+                       return TlvUtil.formatTlv(TYPE, serializerUserError(u.getUserError()));
                }
        }
 
@@ -126,7 +127,7 @@ public final class Stateful02RSVPErrorSpecTlvParser implements TlvParser, TlvSer
                final byte descLen = UnsignedBytes.checkedCast(desc.length);
                // if we have any subobjects, place the implementation here
                final byte[] bytes = new byte[2 + ENTERPRISE_F_LENGTH + SUB_ORG_F_LENGTH + USER_VALUE_F_LENGTH + ERR_DESCR_LENGTH_F_LENGTH
-                               + desc.length];
+                                             + desc.length];
                bytes[0] = UnsignedBytes.checkedCast(USER_ERROR_CLASS_NUM);
                bytes[1] = UnsignedBytes.checkedCast(USER_ERROR_CLASS_TYPE);
                int offset = 2;
index 988a31127815e46f770f3bb698f53a4016594fe6..57a6349e0885464c5acfb3c702724d17e9cb3fde 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.protocol.pcep.ietf.stateful02;
 
 import java.util.BitSet;
 
+import org.opendaylight.protocol.pcep.impl.tlv.TlvUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
 import org.opendaylight.protocol.pcep.spi.TlvParser;
 import org.opendaylight.protocol.pcep.spi.TlvSerializer;
@@ -53,7 +54,7 @@ public class Stateful02StatefulCapabilityTlvParser implements TlvParser, TlvSeri
                final BitSet flags = new BitSet(FLAGS_F_LENGTH * Byte.SIZE);
                flags.set(U_FLAG_OFFSET, sct.isLspUpdateCapability());
                flags.set(S_FLAG_OFFSET, sct.isIncludeDbVersion());
-               return ByteArray.bitSetToBytes(flags, FLAGS_F_LENGTH);
+               return TlvUtil.formatTlv(TYPE, ByteArray.bitSetToBytes(flags, FLAGS_F_LENGTH));
        }
 
        @Override
index 21dd7c5fb4872807f2ecf72400a0ff684f409d8d..c7523647d4e97d4e91a5851f237674d7ad25f3f5 100644 (file)
@@ -18,7 +18,7 @@ import org.opendaylight.protocol.pcep.crabbe.initiated00.PCEPOpenObjectParser;
 import org.opendaylight.protocol.pcep.ietf.stateful02.Stateful02LspaObjectParser;
 import org.opendaylight.protocol.pcep.spi.ObjectHeaderImpl;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.pcep.spi.pojo.ServiceLoaderPCEPExtensionProviderContext;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.crabbe.initiated._00.rev140113.Stateful1;
@@ -40,7 +40,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev
 
 public class PCEPObjectParserTest {
 
-       private TlvHandlerRegistry tlvRegistry;
+       private TlvRegistry tlvRegistry;
 
        @Before
        public void setUp() throws Exception {
index 060e40bebfb790476424ac6fbbcbd9d5c8dd95cf..c2ade720b1daba5fd59d563cf0fa984e5766f386 100644 (file)
@@ -20,6 +20,7 @@ import org.opendaylight.protocol.pcep.ietf.stateful02.Stateful02LspSymbolicNameT
 import org.opendaylight.protocol.pcep.ietf.stateful02.Stateful02RSVPErrorSpecTlvParser;
 import org.opendaylight.protocol.pcep.ietf.stateful02.Stateful02StatefulCapabilityTlvParser;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
+import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.iana.rev130816.EnterpriseNumber;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.crabbe.stateful._02.rev140110.lsp.db.version.tlv.LspDbVersion;
@@ -37,27 +38,23 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.cra
 
 public class PCEPTlvParserTest {
 
-       private static final byte[] statefulBytes = { (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x01 };
-       private static final byte[] symbolicNameBytes = { (byte) 0x4d, (byte) 0x65, (byte) 0x64, (byte) 0x20, (byte) 0x74, (byte) 0x65,
-                       (byte) 0x73, (byte) 0x74, (byte) 0x20, (byte) 0x6f, (byte) 0x66, (byte) 0x20, (byte) 0x73, (byte) 0x79, (byte) 0x6d,
-                       (byte) 0x62, (byte) 0x6f, (byte) 0x6c, (byte) 0x69, (byte) 0x63, (byte) 0x20, (byte) 0x6e, (byte) 0x61, (byte) 0x6d,
-                       (byte) 0x65 };
-       private static final byte[] rsvpErrorBytes = { (byte) 0x06, (byte) 0x01, (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78,
-                       (byte) 0x02, (byte) 0x92, (byte) 0x16, (byte) 0x02 };
-       private static final byte[] rsvpError6Bytes = { (byte) 0x06, (byte) 0x02, (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78,
-                       (byte) 0x9a, (byte) 0xbc, (byte) 0xde, (byte) 0xf0, (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78, (byte) 0x9a,
-                       (byte) 0xbc, (byte) 0xde, (byte) 0xf0, (byte) 0x02, (byte) 0xd5, (byte) 0xc5, (byte) 0xd9 };
-       private static final byte[] userErrorBytes = { (byte) 0xc2, (byte) 0x01, (byte) 0x00, (byte) 0x00, (byte) 0x30, (byte) 0x39,
-                       (byte) 0x05, (byte) 0x09, (byte) 0x00, (byte) 0x26, (byte) 0x75, (byte) 0x73, (byte) 0x65, (byte) 0x72, (byte) 0x20,
-                       (byte) 0x64, (byte) 0x65, (byte) 0x73, (byte) 0x63 };
-       private static final byte[] lspDbBytes = { (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-                       (byte) 0xb4 };
+       private static final byte[] statefulBytes = { 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01 };
+       private static final byte[] symbolicNameBytes = { 0x00, 0x11, 0x00, 0x19, 0x4d, 0x65, 0x64, 0x20, 0x74, 0x65,
+               0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x69, 0x63, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x00, 0x00, 0x00 };
+       private static final byte[] rsvpErrorBytes = { 0x00, 0x15, 0x00, 0x0a, 0x06, 0x01, 0x12, 0x34, 0x56, 0x78, 0x02, (byte) 0x92, 0x16, 0x02, 0x00, 0x00 };
+       private static final byte[] rsvpError6Bytes = { 0x00, 0x15, 0x00, 0x16, 0x06, 0x02, 0x12, 0x34, 0x56, 0x78,
+               (byte) 0x9a, (byte) 0xbc, (byte) 0xde, (byte) 0xf0, 0x12, 0x34, 0x56, 0x78, (byte) 0x9a,
+               (byte) 0xbc, (byte) 0xde, (byte) 0xf0, 0x02, (byte) 0xd5, (byte) 0xc5, (byte) 0xd9, 0x00, 0x00 };
+       private static final byte[] userErrorBytes = { 0x00, 0x15, 0x00, 0x13, (byte) 0xc2, (byte) 0x01, (byte) 0x00, (byte) 0x00, (byte) 0x30, (byte) 0x39,
+               (byte) 0x05, (byte) 0x09, (byte) 0x00, (byte) 0x26, (byte) 0x75, (byte) 0x73, (byte) 0x65, (byte) 0x72, (byte) 0x20,
+               (byte) 0x64, (byte) 0x65, (byte) 0x73, (byte) 0x63, 0x00 };
+       private static final byte[] lspDbBytes = { 0x00, 0x17, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, (byte) 0xb4 };
 
        @Test
        public void testStatefulTlv() throws PCEPDeserializerException {
                final Stateful02StatefulCapabilityTlvParser parser = new Stateful02StatefulCapabilityTlvParser();
                final Stateful tlv = new StatefulBuilder().setLspUpdateCapability(Boolean.TRUE).setIncludeDbVersion(false).build();
-               assertEquals(tlv, parser.parseTlv(statefulBytes));
+               assertEquals(tlv, parser.parseTlv(ByteArray.cutBytes(statefulBytes, 4)));
                assertArrayEquals(statefulBytes, parser.serializeTlv(tlv));
        }
 
@@ -66,7 +63,7 @@ public class PCEPTlvParserTest {
                final Stateful02LspSymbolicNameTlvParser parser = new Stateful02LspSymbolicNameTlvParser();
                final SymbolicPathName tlv = new SymbolicPathNameBuilder().setPathName(
                                new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.crabbe.stateful._02.rev140110.SymbolicPathName("Med test of symbolic name".getBytes())).build();
-               assertEquals(tlv, parser.parseTlv(symbolicNameBytes));
+               assertEquals(tlv, parser.parseTlv(ByteArray.subByte(symbolicNameBytes, 4, 25)));
                assertArrayEquals(symbolicNameBytes, parser.serializeTlv(tlv));
        }
 
@@ -79,7 +76,7 @@ public class PCEPTlvParserTest {
                builder.setCode((short) 146);
                builder.setValue(5634);
                final RsvpErrorSpec tlv = new RsvpErrorSpecBuilder().setErrorType(new RsvpCaseBuilder().setRsvpError(builder.build()).build()).build();
-               assertEquals(tlv, parser.parseTlv(rsvpErrorBytes));
+               assertEquals(tlv, parser.parseTlv(ByteArray.subByte(rsvpErrorBytes, 4, 10)));
                assertArrayEquals(rsvpErrorBytes, parser.serializeTlv(tlv));
        }
 
@@ -94,7 +91,7 @@ public class PCEPTlvParserTest {
                builder.setCode((short) 213);
                builder.setValue(50649);
                final RsvpErrorSpec tlv = new RsvpErrorSpecBuilder().setErrorType(new RsvpCaseBuilder().setRsvpError(builder.build()).build()).build();
-               assertEquals(tlv, parser.parseTlv(rsvpError6Bytes));
+               assertEquals(tlv, parser.parseTlv(ByteArray.subByte(rsvpError6Bytes, 4, 22)));
                assertArrayEquals(rsvpError6Bytes, parser.serializeTlv(tlv));
        }
 
@@ -107,7 +104,7 @@ public class PCEPTlvParserTest {
                builder.setValue(38);
                builder.setDescription("user desc");
                final RsvpErrorSpec tlv = new RsvpErrorSpecBuilder().setErrorType(new UserCaseBuilder().setUserError(builder.build()).build()).build();
-               assertEquals(tlv, parser.parseTlv(userErrorBytes));
+               assertEquals(tlv, parser.parseTlv(ByteArray.subByte(userErrorBytes, 4, 19)));
                assertArrayEquals(userErrorBytes, parser.serializeTlv(tlv));
        }
 
@@ -115,7 +112,7 @@ public class PCEPTlvParserTest {
        public void testLspDbVersionTlv() throws PCEPDeserializerException {
                final Stateful02LspDbVersionTlvParser parser = new Stateful02LspDbVersionTlvParser();
                final LspDbVersion tlv = new LspDbVersionBuilder().setVersion(BigInteger.valueOf(180L)).build();
-               assertEquals(tlv, parser.parseTlv(lspDbBytes));
+               assertEquals(tlv, parser.parseTlv(ByteArray.cutBytes(lspDbBytes, 4)));
                assertArrayEquals(lspDbBytes, parser.serializeTlv(tlv));
 
        }
index b39f21abe829586c6afd8fab5ceee93a495d76e3..6569fdb05cc0347eba8ebe1f8ed2c59401335e17 100644 (file)
@@ -12,7 +12,7 @@ import java.util.BitSet;
 import org.opendaylight.protocol.pcep.ietf.stateful07.Stateful07LspObjectParser;
 import org.opendaylight.protocol.pcep.spi.ObjectUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.crabbe.initiated.rev131126.Lsp1;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.crabbe.initiated.rev131126.Lsp1Builder;
@@ -31,7 +31,7 @@ public final class CInitiated00LspObjectParser extends Stateful07LspObjectParser
 
        private static final int CREATE_FLAG_OFFSET = 8;
 
-       public CInitiated00LspObjectParser(final TlvHandlerRegistry tlvReg) {
+       public CInitiated00LspObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index c800742a37210392f46418c66f0f3da982684b68..737be9b721b0a9a5622134b6f6b33cfc07abff98 100644 (file)
@@ -13,7 +13,7 @@ import java.util.BitSet;
 import org.opendaylight.protocol.pcep.ietf.stateful07.Stateful07SrpObjectParser;
 import org.opendaylight.protocol.pcep.spi.ObjectUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.crabbe.initiated.rev131126.Srp1;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.crabbe.initiated.rev131126.Srp1Builder;
@@ -30,7 +30,7 @@ public final class CInitiated00SrpObjectParser extends Stateful07SrpObjectParser
 
        private static final int REMOVE_FLAG = 31;
 
-       public CInitiated00SrpObjectParser(final TlvHandlerRegistry tlvReg) {
+       public CInitiated00SrpObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index 171b5a9fb69a70d8fb54e34e0da718b3053edb38..a9ccb0d2060f2d4153b2688324b7e0b2f3694ede 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.protocol.pcep.ietf.initiated00;
 import java.util.BitSet;
 
 import org.opendaylight.protocol.pcep.ietf.stateful07.Stateful07StatefulCapabilityTlvParser;
+import org.opendaylight.protocol.pcep.impl.tlv.TlvUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.crabbe.initiated.rev131126.Stateful1;
@@ -59,6 +60,6 @@ public final class CInitiated00StatefulCapabilityTlvParser extends Stateful07Sta
                        flags.set(I_FLAG_OFFSET, sfi.isInitiation());
                }
                flags.set(U_FLAG_OFFSET, sct.isLspUpdateCapability());
-               return ByteArray.bitSetToBytes(flags, FLAGS_F_LENGTH);
+               return TlvUtil.formatTlv(TYPE, ByteArray.bitSetToBytes(flags, FLAGS_F_LENGTH));
        }
 }
index ef59729b67eb8d514a6dd4db3253f0859bf92d47..5a1de2053f0604f6dfcd669f6b79904b2bc33a56 100644 (file)
@@ -11,7 +11,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.opendaylight.protocol.pcep.spi.PCEPExtensionProviderContext;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.pcep.spi.pojo.AbstractPCEPExtensionProviderActivator;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.crabbe.initiated.rev131126.Pcinitiate;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.lsp.object.Lsp;
@@ -27,7 +27,7 @@ public final class CrabbeInitiatedActivator extends AbstractPCEPExtensionProvide
                                new CInitiated00PCInitiateMessageParser(context.getObjectHandlerRegistry())));
                regs.add(context.registerMessageSerializer(Pcinitiate.class, new CInitiated00PCInitiateMessageParser(context.getObjectHandlerRegistry())));
 
-               final TlvHandlerRegistry tlvReg = context.getTlvHandlerRegistry();
+               final TlvRegistry tlvReg = context.getTlvHandlerRegistry();
                regs.add(context.registerObjectParser(CInitiated00LspObjectParser.CLASS, CInitiated00LspObjectParser.TYPE, new CInitiated00LspObjectParser(tlvReg)));
                regs.add(context.registerObjectSerializer(Lsp.class, new CInitiated00LspObjectParser(tlvReg)));
                regs.add(context.registerObjectParser(CInitiated00SrpObjectParser.CLASS, CInitiated00SrpObjectParser.TYPE, new CInitiated00SrpObjectParser(tlvReg)));
index 4b1622a62256589ce881e290a517e94d2050687d..6bc0d770ae19057cae9c18f7689a240ad7c377d7 100644 (file)
@@ -8,6 +8,7 @@
 package org.opendaylight.protocol.pcep.ietf.stateful07;
 
 import org.opendaylight.protocol.concepts.Ipv4Util;
+import org.opendaylight.protocol.pcep.impl.tlv.TlvUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
 import org.opendaylight.protocol.pcep.spi.TlvParser;
 import org.opendaylight.protocol.pcep.spi.TlvSerializer;
@@ -88,7 +89,7 @@ public final class Stateful07LSPIdentifierIpv4TlvParser implements TlvParser, Tl
                ByteArray.copyWhole(Ipv4Util.bytesForAddress(ipv4.getIpv4ExtendedTunnelId()), bytes, offset);
                offset += EX_TUNNEL_ID4_F_LENGTH;
                ByteArray.copyWhole(Ipv4Util.bytesForAddress(ipv4.getIpv4TunnelEndpointAddress()), bytes, offset);
-               return bytes;
+               return TlvUtil.formatTlv(TYPE, bytes);
        }
 
        @Override
index 433521b4420c7b6a09c805b31a6758360304ee0f..17daf51256d641db8188a6d377b30de31bdb9ce5 100644 (file)
@@ -8,6 +8,7 @@
 package org.opendaylight.protocol.pcep.ietf.stateful07;
 
 import org.opendaylight.protocol.concepts.Ipv6Util;
+import org.opendaylight.protocol.pcep.impl.tlv.TlvUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
 import org.opendaylight.protocol.pcep.spi.TlvParser;
 import org.opendaylight.protocol.pcep.spi.TlvSerializer;
@@ -81,7 +82,7 @@ public final class Stateful07LSPIdentifierIpv6TlvParser implements TlvParser, Tl
                ByteArray.copyWhole(Ipv6Util.bytesForAddress(ipv6.getIpv6ExtendedTunnelId()), bytes, offset);
                offset += EX_TUNNEL_ID6_F_LENGTH;
                ByteArray.copyWhole(Ipv6Util.bytesForAddress(ipv6.getIpv6TunnelEndpointAddress()), bytes, offset);
-               return bytes;
+               return TlvUtil.formatTlv(TYPE, bytes);
        }
 
        @Override
index aa4a2ebcf2eb9ea3f6ebcf4d46040ad78a59db78..74dc7ba7860b93eda90e47d0f6aed3c80c712e4f 100644 (file)
@@ -12,7 +12,7 @@ import java.util.BitSet;
 import org.opendaylight.protocol.pcep.spi.AbstractObjectWithTlvsParser;
 import org.opendaylight.protocol.pcep.spi.ObjectUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.OperationalStatus;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.PlspId;
@@ -54,7 +54,7 @@ public class Stateful07LspObjectParser extends AbstractObjectWithTlvsParser<Tlvs
        protected static final int ADMINISTRATIVE_FLAG_OFFSET = 12;
        protected static final int OPERATIONAL_OFFSET = 9;
 
-       public Stateful07LspObjectParser(final TlvHandlerRegistry tlvReg) {
+       public Stateful07LspObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index 3f0937e9f76a5d158627211d5fefa438a3c903c5..4dac10ada6966d171653c651abc41b4372d43122 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.protocol.pcep.ietf.stateful07;
 
+import org.opendaylight.protocol.pcep.impl.tlv.TlvUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
 import org.opendaylight.protocol.pcep.spi.TlvParser;
 import org.opendaylight.protocol.pcep.spi.TlvSerializer;
@@ -33,7 +34,7 @@ public final class Stateful07LspSymbolicNameTlvParser implements TlvParser, TlvS
                        throw new IllegalArgumentException("SymbolicPathNameTlv is mandatory.");
                }
                final SymbolicPathName spn = (SymbolicPathName) tlv;
-               return spn.getPathName().getValue();
+               return TlvUtil.formatTlv(TYPE, spn.getPathName().getValue());
        }
 
        @Override
index fc752cc27465611bafb2f3459f110d148d3a90ea..cc7d53b1531bc6795117edf0f70e3db92bf17634 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.protocol.pcep.ietf.stateful07;
 
+import org.opendaylight.protocol.pcep.impl.tlv.TlvUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
 import org.opendaylight.protocol.pcep.spi.TlvParser;
 import org.opendaylight.protocol.pcep.spi.TlvSerializer;
@@ -35,7 +36,7 @@ public final class Stateful07LspUpdateErrorTlvParser implements TlvParser, TlvSe
                        throw new IllegalArgumentException("LspErrorCodeTlv is mandatory.");
                }
                final LspErrorCode lsp = (LspErrorCode) tlv;
-               return ByteArray.longToBytes(lsp.getErrorCode(), UPDATE_ERR_CODE_LENGTH);
+               return TlvUtil.formatTlv(TYPE, ByteArray.longToBytes(lsp.getErrorCode(), UPDATE_ERR_CODE_LENGTH));
        }
 
        @Override
index 4193ac057b432d5e2dcc6c55c2368d4de523874f..700ad8f585151fc3076134ebf0e14194978ec159 100644 (file)
@@ -8,7 +8,7 @@
 package org.opendaylight.protocol.pcep.ietf.stateful07;
 
 import org.opendaylight.protocol.pcep.impl.object.PCEPLspaObjectParser;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.Tlvs2;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.Tlvs2Builder;
@@ -23,7 +23,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.typ
  */
 public final class Stateful07LspaObjectParser extends PCEPLspaObjectParser {
 
-       public Stateful07LspaObjectParser(final TlvHandlerRegistry tlvReg) {
+       public Stateful07LspaObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index d4e93fd26c73a6a7a6172c9174c7e502d3ee7f73..dd64d7eae517eb645cb5fb876e1944fdc01743d1 100644 (file)
@@ -8,7 +8,7 @@
 package org.opendaylight.protocol.pcep.ietf.stateful07;
 
 import org.opendaylight.protocol.pcep.impl.object.PCEPOpenObjectParser;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.Tlvs1;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.Tlvs1Builder;
@@ -23,7 +23,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.typ
  */
 public class Stateful07OpenObjectParser extends PCEPOpenObjectParser {
 
-       public Stateful07OpenObjectParser(final TlvHandlerRegistry tlvReg) {
+       public Stateful07OpenObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index 643c543027fd4d2ccd5f55781c31737e7aabe60d..8f8edc496afe2e922e8e656124e2e502981d4c42 100644 (file)
@@ -11,6 +11,7 @@ import java.util.BitSet;
 
 import org.opendaylight.protocol.concepts.Ipv4Util;
 import org.opendaylight.protocol.concepts.Ipv6Util;
+import org.opendaylight.protocol.pcep.impl.tlv.TlvUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
 import org.opendaylight.protocol.pcep.spi.TlvParser;
 import org.opendaylight.protocol.pcep.spi.TlvSerializer;
@@ -94,10 +95,10 @@ public final class Stateful07RSVPErrorSpecTlvParser implements TlvParser, TlvSer
 
                if (rsvp.getErrorType().getImplementedInterface().equals(RsvpCase.class)) {
                        final RsvpCase r = (RsvpCase) rsvp.getErrorType();
-                       return serializeRsvp(r.getRsvpError());
+                       return TlvUtil.formatTlv(TYPE, serializeRsvp(r.getRsvpError()));
                } else {
                        final UserCase u = (UserCase) rsvp.getErrorType();
-                       return serializerUserError(u.getUserError());
+                       return TlvUtil.formatTlv(TYPE, serializerUserError(u.getUserError()));
                }
        }
 
index 1e7bb69631cf609822615715cd9ff6b181505bc4..cfbc85bf6971fef0d8b1faab830514ac7f274ab9 100644 (file)
@@ -12,7 +12,7 @@ import java.util.Arrays;
 import org.opendaylight.protocol.pcep.spi.AbstractObjectWithTlvsParser;
 import org.opendaylight.protocol.pcep.spi.ObjectUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.SrpIdNumber;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.srp.object.Srp;
@@ -41,7 +41,7 @@ public class Stateful07SrpObjectParser extends AbstractObjectWithTlvsParser<SrpB
 
        protected static final int MIN_SIZE = FLAGS_SIZE + SRP_ID_SIZE;
 
-       public Stateful07SrpObjectParser(final TlvHandlerRegistry tlvReg) {
+       public Stateful07SrpObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index e188013fcd63cbac045f2ddbba9df87176a6aeae..319c30bb17593b626c5c3a46ff52ef1722270f49 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.protocol.pcep.ietf.stateful07;
 
 import java.util.BitSet;
 
+import org.opendaylight.protocol.pcep.impl.tlv.TlvUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
 import org.opendaylight.protocol.pcep.spi.TlvParser;
 import org.opendaylight.protocol.pcep.spi.TlvSerializer;
@@ -54,7 +55,7 @@ public class Stateful07StatefulCapabilityTlvParser implements TlvParser, TlvSeri
                final BitSet flags = new BitSet(FLAGS_F_LENGTH * Byte.SIZE);
 
                flags.set(U_FLAG_OFFSET, sct.isLspUpdateCapability());
-               return ByteArray.bitSetToBytes(flags, FLAGS_F_LENGTH);
+               return TlvUtil.formatTlv(TYPE, ByteArray.bitSetToBytes(flags, FLAGS_F_LENGTH));
        }
 
        @Override
index ce274ba45b2c6a4b4a47b73c8d0f6dec8ab317d6..0125e462f9db915e916b8753997bbbae882cbf46 100644 (file)
@@ -12,7 +12,7 @@ import java.util.List;
 
 import org.opendaylight.protocol.pcep.spi.ObjectHandlerRegistry;
 import org.opendaylight.protocol.pcep.spi.PCEPExtensionProviderContext;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.pcep.spi.pojo.AbstractPCEPExtensionProviderActivator;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.Pcrpt;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.Pcupd;
@@ -36,7 +36,7 @@ public final class StatefulActivator extends AbstractPCEPExtensionProviderActiva
                regs.add(context.registerMessageParser(Stateful07PCReportMessageParser.TYPE, new Stateful07PCReportMessageParser(objReg)));
                regs.add(context.registerMessageSerializer(Pcrpt.class, new Stateful07PCReportMessageParser(objReg)));
 
-               final TlvHandlerRegistry tlvReg = context.getTlvHandlerRegistry();
+               final TlvRegistry tlvReg = context.getTlvHandlerRegistry();
                regs.add(context.registerObjectParser(Stateful07LspObjectParser.CLASS, Stateful07LspObjectParser.TYPE, new Stateful07LspObjectParser(tlvReg)));
                regs.add(context.registerObjectSerializer(Lsp.class, new Stateful07LspObjectParser(tlvReg)));
                regs.add(context.registerObjectParser(Stateful07SrpObjectParser.CLASS, Stateful07SrpObjectParser.TYPE, new Stateful07SrpObjectParser(tlvReg)));
index 45c79f821f14fe51c9a6e58b8f5d5c6636b12adc..adca0b3fcdecd2a4f0e6d4dca7f9e19755f2590a 100644 (file)
@@ -20,7 +20,7 @@ import org.opendaylight.protocol.pcep.ietf.stateful07.Stateful07LspaObjectParser
 import org.opendaylight.protocol.pcep.ietf.stateful07.Stateful07OpenObjectParser;
 import org.opendaylight.protocol.pcep.spi.ObjectHeaderImpl;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.pcep.spi.pojo.ServiceLoaderPCEPExtensionProviderContext;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.crabbe.initiated.rev131126.Lsp1;
@@ -50,7 +50,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev
 
 public class PCEPObjectParserTest {
 
-       private TlvHandlerRegistry tlvRegistry;
+       private TlvRegistry tlvRegistry;
 
        @Before
        public void setUp() throws Exception {
index 0516f279c86c839d538168c561fbf2b3c8eab223..b55d93c28139d95f32dcc83c6076564c918660d6 100644 (file)
@@ -17,9 +17,10 @@ import org.opendaylight.protocol.pcep.ietf.stateful07.Stateful07LSPIdentifierIpv
 import org.opendaylight.protocol.pcep.ietf.stateful07.Stateful07LSPIdentifierIpv6TlvParser;
 import org.opendaylight.protocol.pcep.ietf.stateful07.Stateful07LspSymbolicNameTlvParser;
 import org.opendaylight.protocol.pcep.ietf.stateful07.Stateful07LspUpdateErrorTlvParser;
-import org.opendaylight.protocol.pcep.ietf.stateful07.Stateful07StatefulCapabilityTlvParser;
 import org.opendaylight.protocol.pcep.ietf.stateful07.Stateful07RSVPErrorSpecTlvParser;
+import org.opendaylight.protocol.pcep.ietf.stateful07.Stateful07StatefulCapabilityTlvParser;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
+import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.iana.rev130816.EnterpriseNumber;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.lsp.error.code.tlv.LspErrorCode;
@@ -47,36 +48,30 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev
 
 public class PCEPTlvParserTest {
 
-       private static final byte[] statefulBytes = { (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x01 };
-       private static final byte[] symbolicNameBytes = { (byte) 0x4d, (byte) 0x65, (byte) 0x64, (byte) 0x20, (byte) 0x74, (byte) 0x65,
-                       (byte) 0x73, (byte) 0x74, (byte) 0x20, (byte) 0x6f, (byte) 0x66, (byte) 0x20, (byte) 0x73, (byte) 0x79, (byte) 0x6d,
-                       (byte) 0x62, (byte) 0x6f, (byte) 0x6c, (byte) 0x69, (byte) 0x63, (byte) 0x20, (byte) 0x6e, (byte) 0x61, (byte) 0x6d,
-                       (byte) 0x65 };
-       private static final byte[] lspUpdateErrorBytes = { (byte) 0x25, (byte) 0x68, (byte) 0x95, (byte) 0x03 };
-       private static final byte[] lspIdentifiers4Bytes = { (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78, (byte) 0xFF, (byte) 0xFF,
-                       (byte) 0x12, (byte) 0x34, (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78, (byte) 0x12, (byte) 0x34, (byte) 0x56,
-                       (byte) 0x78 };
-       private static final byte[] lspIdentifiers6Bytes = { (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78, (byte) 0x9A, (byte) 0xBC,
-                       (byte) 0xDE, (byte) 0xF0, (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78, (byte) 0x9A, (byte) 0xBC, (byte) 0xDE,
-                       (byte) 0xF0, (byte) 0x12, (byte) 0x34, (byte) 0xFF, (byte) 0xFF, (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78,
-                       (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78, (byte) 0x01, (byte) 0x23, (byte) 0x45, (byte) 0x67, (byte) 0x01,
-                       (byte) 0x23, (byte) 0x45, (byte) 0x67, (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78, (byte) 0x9A, (byte) 0xBC,
-                       (byte) 0xDE, (byte) 0xF0, (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78, (byte) 0x9A, (byte) 0xBC, (byte) 0xDE,
-                       (byte) 0xF0 };
-       private static final byte[] rsvpErrorBytes = { (byte) 0x06, (byte) 0x01, (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78,
-                       (byte) 0x02, (byte) 0x92, (byte) 0x16, (byte) 0x02 };
-       private static final byte[] rsvpError6Bytes = { (byte) 0x06, (byte) 0x02, (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78,
-                       (byte) 0x9a, (byte) 0xbc, (byte) 0xde, (byte) 0xf0, (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78, (byte) 0x9a,
-                       (byte) 0xbc, (byte) 0xde, (byte) 0xf0, (byte) 0x02, (byte) 0xd5, (byte) 0xc5, (byte) 0xd9 };
-       private static final byte[] userErrorBytes = { (byte) 0xc2, (byte) 0x01, (byte) 0x00, (byte) 0x00, (byte) 0x30, (byte) 0x39,
-                       (byte) 0x05, (byte) 0x09, (byte) 0x00, (byte) 0x26, (byte) 0x75, (byte) 0x73, (byte) 0x65, (byte) 0x72, (byte) 0x20,
-                       (byte) 0x64, (byte) 0x65, (byte) 0x73, (byte) 0x63 };
+       private static final byte[] statefulBytes = { 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01 };
+       private static final byte[] symbolicNameBytes = { 0x00, 0x11, 0x00, 0x1C, 0x4d, 0x65, 0x64, 0x20, 0x74, 0x65, 0x73, 0x74, 0x20, 0x6f,
+               0x66, 0x20, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x69, 0x63, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x65, 0x65, 0x65 };
+       private static final byte[] lspUpdateErrorBytes = { 0x00, 0x14, 0x00, 0x04, 0x25, 0x68, (byte) 0x95, 0x03 };
+       private static final byte[] lspIdentifiers4Bytes = { 0x00, 0x12, 0x00, 0x10, 0x12, 0x34, 0x56, 0x78, (byte) 0xFF, (byte) 0xFF, 0x12, 0x34, 0x12, 0x34,
+               0x56, 0x78, 0x12, 0x34, 0x56, 0x78 };
+       private static final byte[] lspIdentifiers6Bytes = { 0x00, 0x13, 0x00, 0x34, 0x12, 0x34, 0x56, 0x78, (byte) 0x9A, (byte) 0xBC,
+               (byte) 0xDE, (byte) 0xF0, 0x12, 0x34, 0x56, 0x78, (byte) 0x9A, (byte) 0xBC, (byte) 0xDE,
+               (byte) 0xF0, 0x12, 0x34, (byte) 0xFF, (byte) 0xFF, 0x12, 0x34, 0x56, 0x78,
+               0x12, 0x34, 0x56, 0x78, 0x01, 0x23, 0x45, 0x67, 0x01,
+               0x23, 0x45, 0x67, 0x12, 0x34, 0x56, 0x78, (byte) 0x9A, (byte) 0xBC,
+               (byte) 0xDE, (byte) 0xF0, 0x12, 0x34, 0x56, 0x78, (byte) 0x9A, (byte) 0xBC, (byte) 0xDE,
+               (byte) 0xF0 };
+       private static final byte[] rsvpErrorBytes = { 0x00, 0x15, 0x00, 0x0a, 0x06, 0x01, 0x12, 0x34, 0x56, 0x78, 0x02, (byte) 0x92, 0x16, 0x02, 0x00, 0x00 };
+       private static final byte[] rsvpError6Bytes = { 0x00, 0x15, 0x00, 0x16, 0x06, 0x02, 0x12, 0x34, 0x56, 0x78, (byte) 0x9a, (byte) 0xbc, (byte) 0xde, (byte) 0xf0,
+               0x12, 0x34, 0x56, 0x78, (byte) 0x9a, (byte) 0xbc, (byte) 0xde, (byte) 0xf0, 0x02, (byte) 0xd5, (byte) 0xc5, (byte) 0xd9, 0x00, 0x00 };
+       private static final byte[] userErrorBytes = { 0x00, 0x15, 0x00, 0x13, (byte) 0xc2, 0x01, 0x00, 0x00, 0x30, 0x39, 0x05, 0x09, 0x00, 0x26,
+               0x75, 0x73, 0x65, 0x72, 0x20, 0x64, 0x65, 0x73, 0x63, 0x00 };
 
        @Test
        public void testStatefulTlv() throws PCEPDeserializerException {
                final Stateful07StatefulCapabilityTlvParser parser = new Stateful07StatefulCapabilityTlvParser();
                final Stateful tlv = new StatefulBuilder().setLspUpdateCapability(Boolean.TRUE).build();
-               assertEquals(tlv, parser.parseTlv(statefulBytes));
+               assertEquals(tlv, parser.parseTlv(ByteArray.cutBytes(statefulBytes, 4)));
                assertArrayEquals(statefulBytes, parser.serializeTlv(tlv));
        }
 
@@ -84,8 +79,8 @@ public class PCEPTlvParserTest {
        public void testSymbolicNameTlv() throws PCEPDeserializerException {
                final Stateful07LspSymbolicNameTlvParser parser = new Stateful07LspSymbolicNameTlvParser();
                final SymbolicPathName tlv = new SymbolicPathNameBuilder().setPathName(
-                               new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.SymbolicPathName("Med test of symbolic name".getBytes())).build();
-               assertEquals(tlv, parser.parseTlv(symbolicNameBytes));
+                               new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.SymbolicPathName("Med test of symbolic nameeee".getBytes())).build();
+               assertEquals(tlv, parser.parseTlv(ByteArray.cutBytes(symbolicNameBytes, 4)));
                assertArrayEquals(symbolicNameBytes, parser.serializeTlv(tlv));
        }
 
@@ -93,7 +88,7 @@ public class PCEPTlvParserTest {
        public void testLspErrorCodeTlv() throws PCEPDeserializerException {
                final Stateful07LspUpdateErrorTlvParser parser = new Stateful07LspUpdateErrorTlvParser();
                final LspErrorCode tlv = new LspErrorCodeBuilder().setErrorCode(627610883L).build();
-               assertEquals(tlv, parser.parseTlv(lspUpdateErrorBytes));
+               assertEquals(tlv, parser.parseTlv(ByteArray.cutBytes(lspUpdateErrorBytes, 4)));
                assertArrayEquals(lspUpdateErrorBytes, parser.serializeTlv(tlv));
        }
 
@@ -107,7 +102,7 @@ public class PCEPTlvParserTest {
                afi.setIpv4TunnelEndpointAddress(Ipv4Util.addressForBytes(new byte[] { (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78 }));
                final LspIdentifiers tlv = new LspIdentifiersBuilder().setAddressFamily(new Ipv4CaseBuilder().setIpv4(afi.build()).build()).setLspId(
                                new LspId(65535L)).setTunnelId(new TunnelId(4660)).build();
-               assertEquals(tlv, parser.parseTlv(lspIdentifiers4Bytes));
+               assertEquals(tlv, parser.parseTlv(ByteArray.cutBytes(lspIdentifiers4Bytes, 4)));
                assertArrayEquals(lspIdentifiers4Bytes, parser.serializeTlv(tlv));
        }
 
@@ -126,7 +121,7 @@ public class PCEPTlvParserTest {
                                (byte) 0xBC, (byte) 0xDE, (byte) 0xF0 }));
                final LspIdentifiers tlv = new LspIdentifiersBuilder().setAddressFamily(new Ipv6CaseBuilder().setIpv6(afi.build()).build()).setLspId(
                                new LspId(4660L)).setTunnelId(new TunnelId(65535)).build();
-               assertEquals(tlv, parser.parseTlv(lspIdentifiers6Bytes));
+               assertEquals(tlv, parser.parseTlv(ByteArray.cutBytes(lspIdentifiers6Bytes, 4)));
                assertArrayEquals(lspIdentifiers6Bytes, parser.serializeTlv(tlv));
        }
 
@@ -139,7 +134,7 @@ public class PCEPTlvParserTest {
                builder.setCode((short) 146);
                builder.setValue(5634);
                final RsvpErrorSpec tlv = new RsvpErrorSpecBuilder().setErrorType(new RsvpCaseBuilder().setRsvpError(builder.build()).build()).build();
-               assertEquals(tlv, parser.parseTlv(rsvpErrorBytes));
+               assertEquals(tlv, parser.parseTlv(ByteArray.cutBytes(rsvpErrorBytes, 4)));
                assertArrayEquals(rsvpErrorBytes, parser.serializeTlv(tlv));
        }
 
@@ -154,7 +149,7 @@ public class PCEPTlvParserTest {
                builder.setCode((short) 213);
                builder.setValue(50649);
                final RsvpErrorSpec tlv = new RsvpErrorSpecBuilder().setErrorType(new RsvpCaseBuilder().setRsvpError(builder.build()).build()).build();
-               assertEquals(tlv, parser.parseTlv(rsvpError6Bytes));
+               assertEquals(tlv, parser.parseTlv(ByteArray.cutBytes(rsvpError6Bytes, 4)));
                assertArrayEquals(rsvpError6Bytes, parser.serializeTlv(tlv));
        }
 
@@ -167,7 +162,7 @@ public class PCEPTlvParserTest {
                builder.setValue(38);
                builder.setDescription("user desc");
                final RsvpErrorSpec tlv = new RsvpErrorSpecBuilder().setErrorType(new UserCaseBuilder().setUserError(builder.build()).build()).build();
-               assertEquals(tlv, parser.parseTlv(userErrorBytes));
+               assertEquals(tlv, parser.parseTlv(ByteArray.cutBytes(userErrorBytes, 4)));
                assertArrayEquals(userErrorBytes, parser.serializeTlv(tlv));
        }
 }
index a38b08f21ff1b11a1afca583d822a0ce81808a74..8346bbe8249384d4ae0df12123a9c69a80e1e9b1 100644 (file)
@@ -69,7 +69,7 @@ import org.opendaylight.protocol.pcep.spi.LabelHandlerRegistry;
 import org.opendaylight.protocol.pcep.spi.ObjectHandlerRegistry;
 import org.opendaylight.protocol.pcep.spi.PCEPExtensionProviderContext;
 import org.opendaylight.protocol.pcep.spi.RROSubobjectHandlerRegistry;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.pcep.spi.XROSubobjectRegistry;
 import org.opendaylight.protocol.pcep.spi.pojo.AbstractPCEPExtensionProviderActivator;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.message.rev131007.Close;
@@ -174,7 +174,7 @@ public final class Activator extends AbstractPCEPExtensionProviderActivator {
                context.registerXROSubobjectSerializer(UnnumberedCase.class, new XROUnnumberedInterfaceSubobjectParser());
                context.registerXROSubobjectSerializer(PathKeyCase.class, new XROPathKey32SubobjectParser());
 
-               final TlvHandlerRegistry tlvReg = context.getTlvHandlerRegistry();
+               final TlvRegistry tlvReg = context.getTlvHandlerRegistry();
                context.registerTlvParser(NoPathVectorTlvParser.TYPE, new NoPathVectorTlvParser());
                context.registerTlvParser(OverloadedDurationTlvParser.TYPE, new OverloadedDurationTlvParser());
                context.registerTlvParser(ReqMissingTlvParser.TYPE, new ReqMissingTlvParser());
index ea7bb0bf0807b51767717a6e76d5db2ff98fdb95..512dbd78730347460ae4336563d08f33d6f68003 100644 (file)
@@ -9,7 +9,7 @@ package org.opendaylight.protocol.pcep.impl.object;
 
 import org.opendaylight.protocol.pcep.spi.AbstractObjectWithTlvsParser;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.ObjectHeader;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.bandwidth.object.Bandwidth;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.bandwidth.object.BandwidthBuilder;
@@ -18,7 +18,7 @@ abstract class AbstractBandwidthParser extends AbstractObjectWithTlvsParser<Band
 
        private static final int BANDWIDTH_F_LENGTH = 4;
 
-       AbstractBandwidthParser(final TlvHandlerRegistry tlvReg) {
+       AbstractBandwidthParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index 64ca01e1705815226b371ebef900ab480cc294ad..0910199d789e94db2401805871980134bddaf745 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.protocol.pcep.impl.object;
 import java.util.Arrays;
 
 import org.opendaylight.protocol.pcep.spi.ObjectUtil;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Object;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.bandwidth.object.Bandwidth;
 
@@ -25,7 +25,7 @@ public class PCEPBandwidthObjectParser extends AbstractBandwidthParser {
 
        private static final int BANDWIDTH_LENGTH = 4;
 
-       public PCEPBandwidthObjectParser(final TlvHandlerRegistry tlvReg) {
+       public PCEPBandwidthObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index dd020084549391e24e0679b0abe188a0b3f0dd98..67087ad716db387416b4faf30ca6a7e6c6349b57 100644 (file)
@@ -11,7 +11,7 @@ import org.opendaylight.protocol.pcep.spi.AbstractObjectWithTlvsParser;
 import org.opendaylight.protocol.pcep.spi.ObjectUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
 import org.opendaylight.protocol.pcep.spi.PCEPErrors;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.pcep.spi.UnknownObject;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Object;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.ObjectHeader;
@@ -47,7 +47,7 @@ public class PCEPClassTypeObjectParser extends AbstractObjectWithTlvsParser<Clas
         */
        private static final int SIZE = (RESERVED + CT_F_LENGTH) / 8;
 
-       public PCEPClassTypeObjectParser(final TlvHandlerRegistry tlvReg) {
+       public PCEPClassTypeObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index 8710a77d13ce05d641a1f9a2c92aa5fab44400a1..14375e75daff5ffe558e6a9894d7b79a2d9c38b7 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.protocol.pcep.impl.object;
 import org.opendaylight.protocol.pcep.spi.AbstractObjectWithTlvsParser;
 import org.opendaylight.protocol.pcep.spi.ObjectUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Object;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.ObjectHeader;
@@ -46,7 +46,7 @@ public class PCEPCloseObjectParser extends AbstractObjectWithTlvsParser<CCloseBu
         */
        private static final int TLVS_OFFSET = REASON_F_OFFSET + REASON_F_LENGTH;
 
-       public PCEPCloseObjectParser(final TlvHandlerRegistry tlvReg) {
+       public PCEPCloseObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index 681e3faf2deabcfb4468a678c4f9e7cb4cf1233c..ef905e4874ce511b089fd3ade6c1b6dfca9cb563 100644 (file)
@@ -12,7 +12,7 @@ import org.opendaylight.protocol.pcep.spi.AbstractObjectWithTlvsParser;
 import org.opendaylight.protocol.pcep.spi.ObjectUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
 import org.opendaylight.protocol.pcep.spi.PCEPErrors;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.pcep.spi.UnknownObject;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Object;
@@ -45,7 +45,7 @@ public class PCEPEndPointsIpv4ObjectParser extends AbstractObjectWithTlvsParser<
        private static final int SRC4_F_OFFSET = 0;
        private static final int DEST4_F_OFFSET = SRC4_F_OFFSET + SRC4_F_LENGTH;
 
-       public PCEPEndPointsIpv4ObjectParser(final TlvHandlerRegistry tlvReg) {
+       public PCEPEndPointsIpv4ObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index 2cc12f9565b373afd25b9f896de628253da64807..25c1efcf92c300f69beb4253dc97b22ce7e3f2e5 100644 (file)
@@ -12,7 +12,7 @@ import org.opendaylight.protocol.pcep.spi.AbstractObjectWithTlvsParser;
 import org.opendaylight.protocol.pcep.spi.ObjectUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
 import org.opendaylight.protocol.pcep.spi.PCEPErrors;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.pcep.spi.UnknownObject;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Object;
@@ -45,7 +45,7 @@ public class PCEPEndPointsIpv6ObjectParser extends AbstractObjectWithTlvsParser<
        private static final int SRC6_F_OFFSET = 0;
        private static final int DEST6_F_OFFSET = SRC6_F_OFFSET + SRC6_F_LENGTH;
 
-       public PCEPEndPointsIpv6ObjectParser(final TlvHandlerRegistry tlvReg) {
+       public PCEPEndPointsIpv6ObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index 84c4479f29b0e02e7eca81db7da6b6060e2ddf24..44c7b0bfe0b6d045790364b09055a6690562242f 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.protocol.pcep.impl.object;
 import org.opendaylight.protocol.pcep.spi.AbstractObjectWithTlvsParser;
 import org.opendaylight.protocol.pcep.spi.ObjectUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Object;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.ObjectHeader;
@@ -41,7 +41,7 @@ public class PCEPErrorObjectParser extends AbstractObjectWithTlvsParser<ErrorObj
        private static final int EV_F_OFFSET = ET_F_OFFSET + ET_F_LENGTH;
        private static final int TLVS_OFFSET = EV_F_OFFSET + EV_F_LENGTH;
 
-       public PCEPErrorObjectParser(final TlvHandlerRegistry tlvReg) {
+       public PCEPErrorObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index af263908922f1b4c9af503afba4292e5c0807c4e..e86abaf5518011a9d8098971196fec20ef09f5de 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.protocol.pcep.impl.object;
 import java.util.Arrays;
 
 import org.opendaylight.protocol.pcep.spi.ObjectUtil;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Object;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.bandwidth.object.Bandwidth;
 
@@ -25,7 +25,7 @@ public class PCEPExistingBandwidthObjectParser extends AbstractBandwidthParser {
 
        private static final int BANDWIDTH_LENGTH = 4;
 
-       public PCEPExistingBandwidthObjectParser(final TlvHandlerRegistry tlvReg) {
+       public PCEPExistingBandwidthObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index 995a0df2d04601f4a166f35310cdf3bdb86d3290..f046722db314af9c2a2d46418ce23bdb6bfead4b 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.protocol.pcep.impl.object;
 import org.opendaylight.protocol.pcep.spi.AbstractObjectWithTlvsParser;
 import org.opendaylight.protocol.pcep.spi.ObjectUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Object;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.ObjectHeader;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.gc.object.Gc;
@@ -39,7 +39,7 @@ public class PCEPGlobalConstraintsObjectParser extends AbstractObjectWithTlvsPar
 
        private static final int TLVS_OFFSET = OVER_BOOKING_FACTOR_F_OFFSET + OVER_BOOKING_FACTOR_F_LENGTH;
 
-       public PCEPGlobalConstraintsObjectParser(final TlvHandlerRegistry tlvReg) {
+       public PCEPGlobalConstraintsObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index 229504490aa73297fe3f5d40ae3ea0344af9b3a9..01af33f8cfb612e9405679918540636ff25452ea 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.protocol.pcep.impl.object;
 import org.opendaylight.protocol.pcep.spi.AbstractObjectWithTlvsParser;
 import org.opendaylight.protocol.pcep.spi.ObjectUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.network.concepts.rev131125.Bandwidth;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Object;
@@ -39,7 +39,7 @@ public class PCEPLoadBalancingObjectParser extends AbstractObjectWithTlvsParser<
 
        private static final int SIZE = MIN_BAND_F_OFFSET + MIN_BAND_F_LENGTH;
 
-       public PCEPLoadBalancingObjectParser(final TlvHandlerRegistry tlvReg) {
+       public PCEPLoadBalancingObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index 6865faadee132179aa3800ece113c25a42ab4f75..56f451a0554ac010118ed8e6cb89ca0d635022b6 100644 (file)
@@ -12,7 +12,7 @@ import java.util.BitSet;
 import org.opendaylight.protocol.pcep.spi.AbstractObjectWithTlvsParser;
 import org.opendaylight.protocol.pcep.spi.ObjectUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Object;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.ObjectHeader;
@@ -59,7 +59,7 @@ public class PCEPLspaObjectParser extends AbstractObjectWithTlvsParser<TlvsBuild
        private static final int FLAGS_F_OFFSET = HOLD_PRIO_F_OFFSET + HOLD_PRIO_F_LENGTH;
        private static final int TLVS_F_OFFSET = FLAGS_F_OFFSET + FLAGS_F_LENGTH + 1;
 
-       public PCEPLspaObjectParser(final TlvHandlerRegistry tlvReg) {
+       public PCEPLspaObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index 92f985823c8bd634147a77acb09db98092cd12bd..83a759bbc057da9558b02c9e28eaaa663d164688 100644 (file)
@@ -12,7 +12,7 @@ import java.util.BitSet;
 import org.opendaylight.protocol.pcep.spi.AbstractObjectWithTlvsParser;
 import org.opendaylight.protocol.pcep.spi.ObjectUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ieee754.rev130819.Float32;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Object;
@@ -53,7 +53,7 @@ public class PCEPMetricObjectParser extends AbstractObjectWithTlvsParser<MetricB
 
        private static final int SIZE = METRIC_VALUE_F_OFFSET + METRIC_VALUE_F_LENGTH;
 
-       public PCEPMetricObjectParser(final TlvHandlerRegistry tlvReg) {
+       public PCEPMetricObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index 482905c580bb6a483f20564c54ff7ebb730e04d4..a96451513aac7d696baf1200361f0b5fb54201b4 100644 (file)
@@ -12,7 +12,7 @@ import java.util.BitSet;
 import org.opendaylight.protocol.pcep.spi.AbstractObjectWithTlvsParser;
 import org.opendaylight.protocol.pcep.spi.ObjectUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Object;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.ObjectHeader;
@@ -54,7 +54,7 @@ public class PCEPNoPathObjectParser extends AbstractObjectWithTlvsParser<NoPathB
         */
        private static final int C_FLAG_OFFSET = 0;
 
-       public PCEPNoPathObjectParser(final TlvHandlerRegistry tlvReg) {
+       public PCEPNoPathObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index 161963c6485f573d015f2d13151e73a566d4300c..27921669032f5e6ecbce9d160181048702675c6d 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.protocol.pcep.impl.object;
 import org.opendaylight.protocol.pcep.spi.AbstractObjectWithTlvsParser;
 import org.opendaylight.protocol.pcep.spi.ObjectUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Object;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.ObjectHeader;
@@ -47,7 +47,7 @@ public class PCEPNotificationObjectParser extends AbstractObjectWithTlvsParser<C
        private static final int NV_F_OFFSET = NT_F_OFFSET + NT_F_LENGTH;
        private static final int TLVS_OFFSET = NV_F_OFFSET + NV_F_LENGTH;
 
-       public PCEPNotificationObjectParser(final TlvHandlerRegistry tlvReg) {
+       public PCEPNotificationObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index 8947567de37e349ddf5d2f0d4a0d293935ca53e6..0a14d607204a5529a53e84f769863e48e6925eda 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.protocol.pcep.impl.object;
 import org.opendaylight.protocol.pcep.spi.AbstractObjectWithTlvsParser;
 import org.opendaylight.protocol.pcep.spi.ObjectUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Object;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.ObjectHeader;
@@ -37,7 +37,7 @@ public class PCEPObjectiveFunctionObjectParser extends AbstractObjectWithTlvsPar
        private static final int OF_CODE_F_OFFSET = 0;
        private static final int TLVS_OFFSET = OF_CODE_F_OFFSET + OF_CODE_F_LENGTH + 2;
 
-       public PCEPObjectiveFunctionObjectParser(final TlvHandlerRegistry tlvReg) {
+       public PCEPObjectiveFunctionObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index f2e4801652a3684eb47c319087b850127629cb31..d27b341391d3effd88517bb69df5e3a63e83fc08 100644 (file)
@@ -12,7 +12,7 @@ import org.opendaylight.protocol.pcep.spi.AbstractObjectWithTlvsParser;
 import org.opendaylight.protocol.pcep.spi.ObjectUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
 import org.opendaylight.protocol.pcep.spi.PCEPErrors;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.pcep.spi.UnknownObject;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Object;
@@ -68,7 +68,7 @@ public class PCEPOpenObjectParser extends AbstractObjectWithTlvsParser<TlvsBuild
 
        private static final int PCEP_VERSION = 1;
 
-       public PCEPOpenObjectParser(final TlvHandlerRegistry tlvReg) {
+       public PCEPOpenObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index 680a4ab8e4222d029a0ad94131a661ea90a81bb9..fd05116cff83264faa12f6390b957bb0b4e6bc5c 100644 (file)
@@ -14,7 +14,7 @@ import java.util.BitSet;
 import org.opendaylight.protocol.pcep.spi.AbstractObjectWithTlvsParser;
 import org.opendaylight.protocol.pcep.spi.ObjectUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Object;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.ObjectHeader;
@@ -92,7 +92,7 @@ public class PCEPRequestParameterObjectParser extends AbstractObjectWithTlvsPars
 
        private static final int E_FLAG_OFFSET = 20;
 
-       public PCEPRequestParameterObjectParser(final TlvHandlerRegistry tlvReg) {
+       public PCEPRequestParameterObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index f0c32f0e5440c3fee5e9759be4c20272fa857cba..210021372da0f62c450e272284a80be5f0705ff7 100644 (file)
@@ -13,7 +13,7 @@ import java.util.List;
 import org.opendaylight.protocol.pcep.spi.AbstractObjectWithTlvsParser;
 import org.opendaylight.protocol.pcep.spi.ObjectUtil;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Object;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.ObjectHeader;
@@ -56,7 +56,7 @@ public class PCEPSvecObjectParser extends AbstractObjectWithTlvsParser<SvecBuild
         */
        private static final int MIN_SIZE = FLAGS_F_LENGTH + FLAGS_F_OFFSET;
 
-       public PCEPSvecObjectParser(final TlvHandlerRegistry tlvReg) {
+       public PCEPSvecObjectParser(final TlvRegistry tlvReg) {
                super(tlvReg);
        }
 
index bcf96c79dbc7a071ef240c59e0b013568d66d273..755f4fb95035994f92e261bbbd7e8b1773225b15 100644 (file)
@@ -66,7 +66,7 @@ public class NoPathVectorTlvParser implements TlvParser, TlvSerializer {
                flags.set(UNKNOWN_SRC, tlv.getFlags().isUnknownSource());
                flags.set(UNKNOWN_DEST, tlv.getFlags().isUnknownDestination());
                flags.set(PCE_UNAVAILABLE, tlv.getFlags().isPceUnavailable());
-               return ByteArray.bitSetToBytes(flags, FLAGS_F_LENGTH);
+               return TlvUtil.formatTlv(TYPE, ByteArray.bitSetToBytes(flags, FLAGS_F_LENGTH));
        }
 
        @Override
index 3d2cd77bf8b670a29a06e3200f2ebaf268a850b1..2698542fe265601ccd4da61421425653bc34ab7d 100644 (file)
@@ -68,7 +68,7 @@ public class OFListTlvParser implements TlvParser, TlvSerializer {
                for (int i = 0; i < size; i++) {
                        ByteArray.copyWhole(ByteArray.shortToBytes(ofCodes.get(i).getValue().shortValue()), retBytes, i * OF_CODE_ELEMENT_LENGTH);
                }
-               return retBytes;
+               return TlvUtil.formatTlv(TYPE, retBytes);
        }
 
        @Override
index aeca92b5e4aa586cfd114768f121840d18da4e24..f8c55d75b100f421a139bc3c5cdf6dc40c7c4dd3 100644 (file)
@@ -43,7 +43,7 @@ public class OrderTlvParser implements TlvParser, TlvSerializer {
                ByteArray.copyWhole(ByteArray.longToBytes(otlv.getDelete(), ORDR_DEL_LENGTH), bytes, offset);
                offset += ORDR_DEL_LENGTH;
                ByteArray.copyWhole(ByteArray.longToBytes(otlv.getSetup(), ORDR_SETUP_LENGTH), bytes, offset);
-               return bytes;
+               return TlvUtil.formatTlv(TYPE, bytes);
        }
 
        @Override
index 49b536871fdf67efc21521ac93409245266e519d..b8e3f1404e271f5a2eea2abe6c4bdd95c692e0b6 100644 (file)
@@ -35,7 +35,7 @@ public class OverloadedDurationTlvParser implements TlvParser, TlvSerializer {
                        throw new IllegalArgumentException("OverloadedTlv is mandatory.");
                }
                final OverloadDuration odt = (OverloadDuration) tlv;
-               return ByteArray.longToBytes(odt.getDuration(), OVERLOADED_DURATION_LENGTH);
+               return TlvUtil.formatTlv(TYPE, ByteArray.longToBytes(odt.getDuration(), OVERLOADED_DURATION_LENGTH));
        }
 
        @Override
index 69604c7b6313d95b0eb9dd85b8945ce3da38a912..aee2be28657328e30779c0b8a982c635134a6d01 100644 (file)
@@ -36,7 +36,7 @@ public class ReqMissingTlvParser implements TlvParser, TlvSerializer {
                        throw new IllegalArgumentException("ReqMissingTlv is mandatory.");
                }
                final ReqMissing req = (ReqMissing) tlv;
-               return ByteArray.longToBytes(req.getRequestId().getValue(), REQ_ID_LENGTH);
+               return TlvUtil.formatTlv(TYPE, ByteArray.longToBytes(req.getRequestId().getValue(), REQ_ID_LENGTH));
        }
 
        @Override
diff --git a/pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/tlv/TlvUtil.java b/pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/tlv/TlvUtil.java
new file mode 100644 (file)
index 0000000..0c680cc
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * 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.protocol.pcep.impl.tlv;
+
+import org.opendaylight.protocol.pcep.spi.AbstractObjectWithTlvsParser;
+import org.opendaylight.protocol.util.ByteArray;
+
+public class TlvUtil {
+
+       private static final int TLV_TYPE_F_LENGTH = 2;
+       private static final int TLV_LENGTH_F_LENGTH = 2;
+       private static final int HEADER_SIZE = TLV_LENGTH_F_LENGTH + TLV_TYPE_F_LENGTH;
+
+       protected static final int PADDED_TO = 4;
+
+       private TlvUtil() {
+       }
+
+       public static byte[] formatTlv(final int type, final byte[] valueBytes) {
+               final byte[] typeBytes = ByteArray.intToBytes(type, TLV_TYPE_F_LENGTH);
+
+               final byte[] lengthBytes = ByteArray.intToBytes(valueBytes.length, TLV_LENGTH_F_LENGTH);
+
+               final byte[] bytes = new byte[HEADER_SIZE + valueBytes.length + AbstractObjectWithTlvsParser.getPadding(HEADER_SIZE + valueBytes.length, PADDED_TO)];
+
+               int byteOffset = 0;
+               System.arraycopy(typeBytes, 0, bytes, byteOffset, TLV_TYPE_F_LENGTH);
+               byteOffset += TLV_TYPE_F_LENGTH;
+               System.arraycopy(lengthBytes, 0, bytes, byteOffset, TLV_LENGTH_F_LENGTH);
+               byteOffset += TLV_LENGTH_F_LENGTH;
+               System.arraycopy(valueBytes, 0, bytes, byteOffset, valueBytes.length);
+               return bytes;
+       }
+}
index 11895ec24ccc8ede3c72d4b767c211ba7ac2cf5b..945b68cc5fb3422bceba084c3e18df536ed8a458 100644 (file)
@@ -41,7 +41,7 @@ import org.opendaylight.protocol.pcep.impl.object.PCEPRequestParameterObjectPars
 import org.opendaylight.protocol.pcep.impl.object.PCEPSvecObjectParser;
 import org.opendaylight.protocol.pcep.spi.ObjectHeaderImpl;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.pcep.spi.pojo.SimplePCEPExtensionProviderContext;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.AsNumber;
@@ -102,7 +102,7 @@ import com.google.common.primitives.UnsignedBytes;
 
 public class PCEPObjectParserTest {
 
-       private TlvHandlerRegistry tlvRegistry;
+       private TlvRegistry tlvRegistry;
 
        private SimplePCEPExtensionProviderContext ctx;
        private Activator act;
index ef5df09163ddda57a809c38ca1c3218c558aaceb..39bb404364d483e086be337773ed11c6b3c867b8 100644 (file)
@@ -19,6 +19,7 @@ import org.opendaylight.protocol.pcep.impl.tlv.OrderTlvParser;
 import org.opendaylight.protocol.pcep.impl.tlv.OverloadedDurationTlvParser;
 import org.opendaylight.protocol.pcep.impl.tlv.ReqMissingTlvParser;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
+import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.NoPathVectorTlv;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.OfId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.RequestId;
@@ -36,19 +37,18 @@ import com.google.common.collect.Lists;
 
 public class PCEPTlvParserTest {
 
-       private static final byte[] noPathVectorBytes = { (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0xa7 };
-       private static final byte[] overloadedBytes = { (byte) 0x7f, (byte) 0xff, (byte) 0xff, (byte) 0xff };
-       private static final byte[] reqMissingBytes = { (byte) 0xF7, (byte) 0x82, (byte) 0x35, (byte) 0x17 };
-       private static final byte[] orderBytes = { (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-                       (byte) 0x01 };
-       private static final byte[] ofListBytes = { (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78 };
+       private static final byte[] noPathVectorBytes = { 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, (byte) 0xa7 };
+       private static final byte[] overloadedBytes = { 0x00, 0x02, 0x00, 0x04, 0x7f, (byte) 0xff, (byte) 0xff, (byte) 0xff };
+       private static final byte[] reqMissingBytes = { 0x00, 0x03, 0x00, 0x04, (byte) 0xF7, (byte) 0x82, 0x35, 0x17 };
+       private static final byte[] orderBytes = { 0x00, 0x05, 0x00, 0x08, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, 0x00, 0x00, 0x00, 0x01 };
+       private static final byte[] ofListBytes = { 0x00, 0x04, 0x00, 0x04, 0x12, 0x34, 0x56, 0x78 };
 
        @Test
        public void testNoPathVectorTlv() throws PCEPDeserializerException {
                final NoPathVectorTlvParser parser = new NoPathVectorTlvParser();
                final NoPathVectorTlv tlv = new NoPathVectorBuilder().setFlags(
                                new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.NoPathVectorTlv.Flags(false, true, false, true, false, true, true, true)).build();
-               assertEquals(tlv, parser.parseTlv(noPathVectorBytes));
+               assertEquals(tlv, parser.parseTlv(ByteArray.cutBytes(noPathVectorBytes, 4)));
                assertArrayEquals(noPathVectorBytes, parser.serializeTlv(tlv));
        }
 
@@ -56,14 +56,14 @@ public class PCEPTlvParserTest {
        public void testOverloadedDurationTlv() throws PCEPDeserializerException {
                final OverloadedDurationTlvParser parser = new OverloadedDurationTlvParser();
                final OverloadDuration tlv = new OverloadDurationBuilder().setDuration(0x7FFFFFFFL).build();
-               assertEquals(tlv, parser.parseTlv(overloadedBytes));
+               assertEquals(tlv, parser.parseTlv(ByteArray.cutBytes(overloadedBytes, 4)));
                assertArrayEquals(overloadedBytes, parser.serializeTlv(tlv));
        }
 
        public void testReqMissingTlv() throws PCEPDeserializerException {
                final ReqMissingTlvParser parser = new ReqMissingTlvParser();
                final ReqMissing tlv = new ReqMissingBuilder().setRequestId(new RequestId(0xF7823517L)).build();
-               assertEquals(tlv, parser.parseTlv(reqMissingBytes));
+               assertEquals(tlv, parser.parseTlv(ByteArray.cutBytes(reqMissingBytes, 4)));
                assertArrayEquals(reqMissingBytes, parser.serializeTlv(tlv));
        }
 
@@ -71,7 +71,7 @@ public class PCEPTlvParserTest {
        public void testOrderTlv() throws PCEPDeserializerException {
                final OrderTlvParser parser = new OrderTlvParser();
                final Order tlv = new OrderBuilder().setDelete(0xFFFFFFFFL).setSetup(0x00000001L).build();
-               assertEquals(tlv, parser.parseTlv(orderBytes));
+               assertEquals(tlv, parser.parseTlv(ByteArray.cutBytes(orderBytes, 4)));
                assertArrayEquals(orderBytes, parser.serializeTlv(tlv));
        }
 
@@ -82,7 +82,7 @@ public class PCEPTlvParserTest {
                ids.add(new OfId(0x1234));
                ids.add(new OfId(0x5678));
                final OfList tlv = new OfListBuilder().setCodes(ids).build();
-               assertEquals(tlv, parser.parseTlv(ofListBytes));
+               assertEquals(tlv, parser.parseTlv(ByteArray.cutBytes(ofListBytes, 4)));
                assertArrayEquals(ofListBytes, parser.serializeTlv(tlv));
        }
 }
index 083949ed410fb1f2b959121e7f1b59d65f71993d..3949a1eb37b911962cef0e2743e08419240361e6 100644 (file)
@@ -7,6 +7,8 @@
  */
 package org.opendaylight.protocol.pcep.spi;
 
+import java.util.Arrays;
+
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Tlv;
 import org.slf4j.Logger;
@@ -24,9 +26,9 @@ public abstract class AbstractObjectWithTlvsParser<T> implements ObjectParser, O
 
        protected static final int PADDED_TO = 4;
 
-       private final TlvHandlerRegistry tlvReg;
+       private final TlvRegistry tlvReg;
 
-       protected AbstractObjectWithTlvsParser(final TlvHandlerRegistry tlvReg) {
+       protected AbstractObjectWithTlvsParser(final TlvRegistry tlvReg) {
                this.tlvReg = Preconditions.checkNotNull(tlvReg);
        }
 
@@ -56,45 +58,29 @@ public abstract class AbstractObjectWithTlvsParser<T> implements ObjectParser, O
                        final byte[] tlvBytes = ByteArray.subByte(bytes, byteOffset, length);
 
                        LOG.trace("Attempt to parse tlv from bytes: {}", ByteArray.bytesToHexString(tlvBytes));
-                       final TlvParser parser = this.tlvReg.getTlvParser(type);
-                       if (parser != null) {
-                               final Tlv tlv = parser.parseTlv(tlvBytes);
-                               LOG.trace("Tlv was parsed. {}", tlv);
-                               addTlv(builder, tlv);
-                       } else {
-                               LOG.warn("Unknown TLV received. Type {}. Ignoring it.", type);
-                       }
+                       final Tlv tlv = this.tlvReg.parseTlv(type, tlvBytes);
+                       LOG.trace("Tlv was parsed. {}", tlv);
+                       addTlv(builder, tlv);
                        byteOffset += length + getPadding(TLV_HEADER_LENGTH + length, PADDED_TO);
                }
        }
 
        protected final byte[] serializeTlv(final Tlv tlv) {
-
-               final TlvSerializer serializer = this.tlvReg.getTlvSerializer(tlv);
-               LOG.trace("Choosen serializer {}", serializer);
-
-               final byte[] typeBytes = ByteArray.intToBytes(serializer.getType(), TLV_TYPE_F_LENGTH);
-
-               final byte[] valueBytes = serializer.serializeTlv(tlv);
-
-               final byte[] lengthBytes = ByteArray.intToBytes(valueBytes.length, TLV_LENGTH_F_LENGTH);
-
-               final byte[] bytes = new byte[TLV_HEADER_LENGTH + valueBytes.length + getPadding(TLV_HEADER_LENGTH + valueBytes.length, PADDED_TO)];
-
-               int byteOffset = 0;
-               System.arraycopy(typeBytes, 0, bytes, byteOffset, TLV_TYPE_F_LENGTH);
-               byteOffset += TLV_TYPE_F_LENGTH;
-               System.arraycopy(lengthBytes, 0, bytes, byteOffset, TLV_LENGTH_F_LENGTH);
-               byteOffset += TLV_LENGTH_F_LENGTH;
-               System.arraycopy(valueBytes, 0, bytes, byteOffset, valueBytes.length);
-               return bytes;
+               Preconditions.checkNotNull(tlv, "PCEP TLV is mandatory.");
+               LOG.trace("Serializing PCEP TLV {}", tlv);
+               final byte[] ret = this.tlvReg.serializeTlv(tlv);
+               if (ret == null) {
+                       LOG.warn("TLV serializer for type {} could not be found.", tlv);
+               }
+               LOG.trace("Serialized PCEP TLV {}.", Arrays.toString(ret));
+               return ret;
        }
 
        protected void addTlv(final T builder, final Tlv tlv) {
                // FIXME: No TLVs by default, fallback to augments
        }
 
-       protected static int getPadding(final int length, final int padding) {
+       public static int getPadding(final int length, final int padding) {
                return (padding - (length % padding)) % padding;
        }
 }
index fa01fb8ce4d444148a01cc71994213ec56935065..14bdf511480c427ca8c82f9f5768b1b651caf182 100644 (file)
@@ -21,5 +21,5 @@ public interface PCEPExtensionConsumerContext {
 
        XROSubobjectRegistry getXROSubobjectHandlerRegistry();
 
-       TlvHandlerRegistry getTlvHandlerRegistry();
+       TlvRegistry getTlvHandlerRegistry();
 }
similarity index 74%
rename from pcep/spi/src/main/java/org/opendaylight/protocol/pcep/spi/TlvHandlerRegistry.java
rename to pcep/spi/src/main/java/org/opendaylight/protocol/pcep/spi/TlvRegistry.java
index 24c296dec8d2a6fc50ccb2d13462595b91ddd533..6631d34bd3cac81c73cd4957e8601a815bbb4ff0 100644 (file)
@@ -9,7 +9,7 @@ package org.opendaylight.protocol.pcep.spi;
 
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Tlv;
 
-public interface TlvHandlerRegistry {
-       TlvParser getTlvParser(int tlvType);
-       TlvSerializer getTlvSerializer(Tlv tlv);
+public interface TlvRegistry {
+       Tlv parseTlv(final int type, final byte[] buffer) throws PCEPDeserializerException;
+       byte[] serializeTlv(final Tlv tlv);
 }
index a1d273451c22d52d75833fd083ffaf3583e707a5..2ea209f0b42a6ac9eb1a4a9802073985327db0e2 100644 (file)
@@ -25,7 +25,7 @@ import org.opendaylight.protocol.pcep.spi.PCEPExtensionProviderContext;
 import org.opendaylight.protocol.pcep.spi.RROSubobjectHandlerRegistry;
 import org.opendaylight.protocol.pcep.spi.RROSubobjectParser;
 import org.opendaylight.protocol.pcep.spi.RROSubobjectSerializer;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.pcep.spi.TlvParser;
 import org.opendaylight.protocol.pcep.spi.TlvSerializer;
 import org.opendaylight.protocol.pcep.spi.XROSubobjectRegistry;
@@ -48,7 +48,7 @@ public class SimplePCEPExtensionProviderContext implements PCEPExtensionProvider
        private final SimpleEROSubobjectHandlerRegistry eroSubReg = new SimpleEROSubobjectHandlerRegistry();
        private final SimpleRROSubobjectHandlerRegistry rroSubReg = new SimpleRROSubobjectHandlerRegistry();
        private final SimpleXROSubobjectRegistry xroSubReg = new SimpleXROSubobjectRegistry();
-       private final SimpleTlvHandlerRegistry tlvReg = new SimpleTlvHandlerRegistry();
+       private final SimpleTlvRegistry tlvReg = new SimpleTlvRegistry();
 
        @Override
        public final LabelHandlerRegistry getLabelHandlerRegistry() {
@@ -81,7 +81,7 @@ public class SimplePCEPExtensionProviderContext implements PCEPExtensionProvider
        }
 
        @Override
-       public final TlvHandlerRegistry getTlvHandlerRegistry() {
+       public final TlvRegistry getTlvHandlerRegistry() {
                return this.tlvReg;
        }
 
similarity index 64%
rename from pcep/spi/src/main/java/org/opendaylight/protocol/pcep/spi/pojo/SimpleTlvHandlerRegistry.java
rename to pcep/spi/src/main/java/org/opendaylight/protocol/pcep/spi/pojo/SimpleTlvRegistry.java
index 9a08f7992145e5b14f8f29e35de25964d872f7d6..7f8462ad50855d9b823ca3d7e18e340494dc0af5 100644 (file)
@@ -8,8 +8,9 @@
 package org.opendaylight.protocol.pcep.spi.pojo;
 
 import org.opendaylight.protocol.concepts.HandlerRegistry;
-import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
+import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
 import org.opendaylight.protocol.pcep.spi.TlvParser;
+import org.opendaylight.protocol.pcep.spi.TlvRegistry;
 import org.opendaylight.protocol.pcep.spi.TlvSerializer;
 import org.opendaylight.protocol.util.Values;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Tlv;
@@ -20,7 +21,8 @@ import com.google.common.base.Preconditions;
 /**
  *
  */
-public final class SimpleTlvHandlerRegistry implements TlvHandlerRegistry {
+public final class SimpleTlvRegistry implements TlvRegistry {
+
        private final HandlerRegistry<DataContainer, TlvParser, TlvSerializer> handlers = new HandlerRegistry<>();
 
        public AutoCloseable registerTlvParser(final int tlvType, final TlvParser parser) {
@@ -33,12 +35,21 @@ public final class SimpleTlvHandlerRegistry implements TlvHandlerRegistry {
        }
 
        @Override
-       public TlvParser getTlvParser(final int tlvType) {
-               return this.handlers.getParser(tlvType);
+       public Tlv parseTlv(final int type, final byte[] buffer) throws PCEPDeserializerException {
+               Preconditions.checkArgument(type >= 0 && type <= Values.UNSIGNED_SHORT_MAX_VALUE);
+               final TlvParser parser = this.handlers.getParser(type);
+               if (parser == null) {
+                       return null;
+               }
+               return parser.parseTlv(buffer);
        }
 
        @Override
-       public TlvSerializer getTlvSerializer(final Tlv tlv) {
-               return this.handlers.getSerializer(tlv.getImplementedInterface());
+       public byte[] serializeTlv(final Tlv tlv) {
+               final TlvSerializer serializer = this.handlers.getSerializer(tlv.getImplementedInterface());
+               if (serializer == null) {
+                       return null;
+               }
+               return serializer.serializeTlv(tlv);
        }
 }