BUG-50 : more tests for Label parsers. 43/2243/1
authorDana Kutenicsova <dkutenic@cisco.com>
Tue, 29 Oct 2013 13:29:22 +0000 (14:29 +0100)
committerDana Kutenicsova <dkutenic@cisco.com>
Tue, 29 Oct 2013 13:29:22 +0000 (14:29 +0100)
Removed ChannelSet.

Change-Id: I5ba886a0b321aa91f0a1f9e6645047806ade5ca9
Signed-off-by: Dana Kutenicsova <dkutenic@cisco.com>
17 files changed:
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/Activator.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/subobject/EROLabelSubobjectParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/subobject/GeneralizedLabelChannelSetParser.java [deleted file]
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/subobject/GeneralizedLabelParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/subobject/RROLabelSubobjectParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/subobject/Type1LabelParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/subobject/WavebandSwitchingLabelParser.java
pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/LabelSubobjectParserTest.java
pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPEROSubobjectParserTest.java
pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPRROSubobjectParserTest.java
pcep/spi/src/main/java/org/opendaylight/protocol/pcep/spi/LabelHandlerRegistry.java
pcep/spi/src/main/java/org/opendaylight/protocol/pcep/spi/LabelSerializer.java
pcep/spi/src/main/java/org/opendaylight/protocol/pcep/spi/PCEPExtensionProviderContext.java
pcep/spi/src/main/java/org/opendaylight/protocol/pcep/spi/osgi/OSGiPCEPExtensionProviderContext.java
pcep/spi/src/main/java/org/opendaylight/protocol/pcep/spi/pojo/PCEPExtensionProviderContextImpl.java
pcep/spi/src/main/java/org/opendaylight/protocol/pcep/spi/pojo/SimpleLabelHandlerRegistry.java
rsvp/api/src/main/yang/rsvp.yang

index 13d0f9abdd17e0dd05cf41d29c06e3031078ac91..946f80f41b5711127a8dbc6b3530f167cf01f9e1 100644 (file)
@@ -47,7 +47,6 @@ import org.opendaylight.protocol.pcep.impl.subobject.EROIpPrefixSubobjectParser;
 import org.opendaylight.protocol.pcep.impl.subobject.EROLabelSubobjectParser;
 import org.opendaylight.protocol.pcep.impl.subobject.EROPathKeySubobjectParser;
 import org.opendaylight.protocol.pcep.impl.subobject.EROUnnumberedInterfaceSubobjectParser;
-import org.opendaylight.protocol.pcep.impl.subobject.GeneralizedLabelChannelSetParser;
 import org.opendaylight.protocol.pcep.impl.subobject.GeneralizedLabelParser;
 import org.opendaylight.protocol.pcep.impl.subobject.RROIpPrefixSubobjectParser;
 import org.opendaylight.protocol.pcep.impl.subobject.RROLabelSubobjectParser;
@@ -126,14 +125,13 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.typ
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.SvecObject;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.SymbolicPathNameTlv;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.AsNumberSubobject;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.GeneralizedChannelSetLabel;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.GeneralizedLabel;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.IpPrefixSubobject;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.LabelSubobject;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.SrlgSubobject;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.Type1Label;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.UnnumberedSubobject;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.WavebandSwitchingLabel;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.label.type.GeneralizedLabel;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.label.type.Type1Label;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.label.type.WavebandSwitchingLabel;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -152,12 +150,10 @@ public final class Activator implements PCEPExtensionProviderActivator {
                context.registerLabelParser(Type1LabelParser.CTYPE, new Type1LabelParser());
                context.registerLabelParser(GeneralizedLabelParser.CTYPE, new GeneralizedLabelParser());
                context.registerLabelParser(WavebandSwitchingLabelParser.CTYPE, new WavebandSwitchingLabelParser());
-               context.registerLabelParser(GeneralizedLabelChannelSetParser.CTYPE, new GeneralizedLabelChannelSetParser());
 
                context.registerLabelSerializer(Type1Label.class, new Type1LabelParser());
                context.registerLabelSerializer(GeneralizedLabel.class, new GeneralizedLabelParser());
                context.registerLabelSerializer(WavebandSwitchingLabel.class, new WavebandSwitchingLabelParser());
-               context.registerLabelSerializer(GeneralizedChannelSetLabel.class, new GeneralizedLabelChannelSetParser());
 
                final EROSubobjectHandlerRegistry eroSubReg = context.getEROSubobjectHandlerRegistry();
                context.registerEROSubobjectParser(EROIpPrefixSubobjectParser.TYPE, new EROIpPrefixSubobjectParser());
index 0ffc42fa7c4e5bd0219928e4eb1c6f705b0d6bd3..8c0975925f4b31416e766e17b5dac900a60b1620 100644 (file)
@@ -19,9 +19,9 @@ import org.opendaylight.protocol.pcep.spi.LabelSerializer;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.explicit.route.object.Subobjects;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.explicit.route.object.SubobjectsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.CLabel;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.LabelSubobject;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.basic.explicit.route.subobjects.subobject.type.Label;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.basic.explicit.route.subobjects.subobject.type.LabelBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.LabelType;
 
 import com.google.common.base.Preconditions;
 
@@ -49,12 +49,13 @@ public class EROLabelSubobjectParser implements EROSubobjectParser, EROSubobject
 
        @Override
        public Subobjects parseSubobject(final byte[] buffer, final boolean loose) throws PCEPDeserializerException {
-               if (buffer == null || buffer.length == 0)
+               if (buffer == null || buffer.length == 0) {
                        throw new IllegalArgumentException("Array of bytes is mandatory. Can't be null or empty.");
-               if (buffer.length < HEADER_LENGTH)
+               }
+               if (buffer.length < HEADER_LENGTH) {
                        throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: " + buffer.length + "; Expected: >"
                                        + HEADER_LENGTH + ".");
-
+               }
                final BitSet reserved = ByteArray.bytesToBitSet(Arrays.copyOfRange(buffer, RES_F_OFFSET, RES_F_LENGTH));
 
                final short c_type = (short) (buffer[C_TYPE_F_OFFSET] & 0xFF);
@@ -64,7 +65,6 @@ public class EROLabelSubobjectParser implements EROSubobjectParser, EROSubobject
                if (parser == null) {
                        throw new PCEPDeserializerException("Unknown C-TYPE for ero label subobject. Passed: " + c_type);
                }
-
                final LabelBuilder builder = new LabelBuilder();
                builder.setUniDirectional(reserved.get(U_FLAG_OFFSET));
                builder.setLabelType(parser.parseLabel(ByteArray.cutBytes(buffer, HEADER_LENGTH)));
@@ -75,15 +75,16 @@ public class EROLabelSubobjectParser implements EROSubobjectParser, EROSubobject
        public byte[] serializeSubobject(final Subobjects subobject) {
                Preconditions.checkNotNull(subobject.getSubobjectType(), "Subobject type cannot be empty.");
 
-               final LabelSubobject label = (LabelSubobject) subobject.getSubobjectType();
-
-               final LabelSerializer serializer = this.registry.getLabelSerializer((CLabel) label);
+               final Label label = (Label) subobject.getSubobjectType();
+               final LabelType l = label.getLabelType();
 
-               if (serializer == null)
-                       throw new IllegalArgumentException("Unknown EROLabelSubobject instance. Passed " + label.getClass());
-
-               final byte[] labelbytes = serializer.serializeLabel((CLabel) label);
+               final LabelSerializer serializer = this.registry.getLabelSerializer(l);
 
+               if (serializer == null) {
+                       throw new IllegalArgumentException("Unknown EROLabelSubobject instance. Passed "
+                                       + label.getLabelType().getImplementedInterface());
+               }
+               final byte[] labelbytes = serializer.serializeLabel(l);
                final byte[] retBytes = new byte[labelbytes.length + HEADER_LENGTH];
 
                System.arraycopy(labelbytes, 0, retBytes, HEADER_LENGTH, labelbytes.length);
@@ -91,9 +92,7 @@ public class EROLabelSubobjectParser implements EROSubobjectParser, EROSubobject
                final BitSet reserved = new BitSet();
                reserved.set(U_FLAG_OFFSET, label.isUniDirectional());
                System.arraycopy(ByteArray.bitSetToBytes(reserved, RES_F_LENGTH), 0, retBytes, RES_F_OFFSET, RES_F_LENGTH);
-
                retBytes[C_TYPE_F_OFFSET] = (byte) serializer.getType();
-
                return retBytes;
        }
 
diff --git a/pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/subobject/GeneralizedLabelChannelSetParser.java b/pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/subobject/GeneralizedLabelChannelSetParser.java
deleted file mode 100644 (file)
index 71426c8..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2013 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.subobject;
-
-import java.util.List;
-
-import org.opendaylight.protocol.pcep.PCEPDeserializerException;
-import org.opendaylight.protocol.pcep.spi.LabelParser;
-import org.opendaylight.protocol.pcep.spi.LabelSerializer;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.CLabel;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.generalized.channel.set.label.Subobjects;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.generalized.channel.set.label.SubobjectsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.label.type.GeneralizedChannelSetLabel;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.label.type.GeneralizedChannelSetLabelBuilder;
-
-import com.google.common.collect.Lists;
-
-/**
- * Parser for {@link GeneralizedChannelSetLabel}
- */
-public class GeneralizedLabelChannelSetParser implements LabelParser, LabelSerializer {
-
-       public static final int CTYPE = 4;
-
-       @Override
-       public GeneralizedChannelSetLabel parseLabel(final byte[] buffer) throws PCEPDeserializerException {
-               if (buffer == null || buffer.length == 0) {
-                       throw new IllegalArgumentException("Array of bytes is mandatory. Can't be null or empty.");
-               }
-               // FIXME: finish
-               final List<Subobjects> list = Lists.newArrayList();
-               final SubobjectsBuilder subs = new SubobjectsBuilder();
-
-               return new GeneralizedChannelSetLabelBuilder().setSubobjects(list).build();
-       }
-
-       @Override
-       public byte[] serializeLabel(final CLabel subobject) {
-               if (!(subobject instanceof GeneralizedChannelSetLabel)) {
-                       throw new IllegalArgumentException("Unknown Label Subobject instance. Passed " + subobject.getClass()
-                                       + ". Needed GeneralizedChannelSetLabel.");
-               }
-
-               // FIXME: finish
-               return new byte[0];
-       }
-
-       @Override
-       public int getType() {
-               return CTYPE;
-       }
-}
index cde9f750273d1fce74c3cfe9c6dfa06bdd65feef..2d8091066a6e9eefc0be4b90bffe7c40b3d1d038 100644 (file)
@@ -10,9 +10,8 @@ package org.opendaylight.protocol.pcep.impl.subobject;
 import org.opendaylight.protocol.pcep.PCEPDeserializerException;
 import org.opendaylight.protocol.pcep.spi.LabelParser;
 import org.opendaylight.protocol.pcep.spi.LabelSerializer;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.CLabel;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.GeneralizedLabel;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.LabelType;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.label.type.GeneralizedLabel;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.label.type.GeneralizedLabelBuilder;
 
 /**
@@ -32,12 +31,12 @@ public class GeneralizedLabelParser implements LabelParser, LabelSerializer {
        }
 
        @Override
-       public byte[] serializeLabel(final CLabel subobject) {
+       public byte[] serializeLabel(final LabelType subobject) {
                if (!(subobject instanceof GeneralizedLabel)) {
                        throw new IllegalArgumentException("Unknown Label Subobject instance. Passed " + subobject.getClass()
                                        + ". Needed GeneralizedLabel.");
                }
-               return ((org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.label.type.GeneralizedLabel) subobject).getGeneralizedLabel();
+               return ((GeneralizedLabel) subobject).getGeneralizedLabel();
        }
 
        @Override
index c5828f6a7d6bd839e360aa566a28c301ea2c5c3c..c5e9e40327afd4ded93fb390ab278d59a2e6283b 100644 (file)
@@ -19,8 +19,8 @@ import org.opendaylight.protocol.pcep.spi.RROSubobjectSerializer;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.reported.route.object.Subobjects;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.reported.route.object.SubobjectsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.CLabel;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.LabelSubobject;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.LabelType;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.record.route.subobjects.subobject.type.Label;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.record.route.subobjects.subobject.type.LabelBuilder;
 
 import com.google.common.base.Preconditions;
@@ -40,6 +40,7 @@ public class RROLabelSubobjectParser implements RROSubobjectParser, RROSubobject
        public static final int HEADER_LENGTH = C_TYPE_F_OFFSET + C_TYPE_F_LENGTH;
 
        public static final int U_FLAG_OFFSET = 0;
+       public static final int G_FLAG_OFFSET = 7;
 
        private final LabelHandlerRegistry registry;
 
@@ -49,12 +50,13 @@ public class RROLabelSubobjectParser implements RROSubobjectParser, RROSubobject
 
        @Override
        public Subobjects parseSubobject(final byte[] buffer) throws PCEPDeserializerException {
-               if (buffer == null || buffer.length == 0)
+               if (buffer == null || buffer.length == 0) {
                        throw new IllegalArgumentException("Array of bytes is mandatory. Can't be null or empty.");
-               if (buffer.length < HEADER_LENGTH)
+               }
+               if (buffer.length < HEADER_LENGTH) {
                        throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: " + buffer.length + "; Expected: >"
                                        + HEADER_LENGTH + ".");
-
+               }
                final BitSet reserved = ByteArray.bytesToBitSet(Arrays.copyOfRange(buffer, RES_F_OFFSET, RES_F_LENGTH));
 
                final short c_type = (short) (buffer[C_TYPE_F_OFFSET] & 0xFF);
@@ -64,33 +66,30 @@ public class RROLabelSubobjectParser implements RROSubobjectParser, RROSubobject
                if (parser == null) {
                        throw new PCEPDeserializerException("Unknown C-TYPE for ero label subobject. Passed: " + c_type);
                }
-
                final LabelBuilder builder = new LabelBuilder();
                builder.setUniDirectional(reserved.get(U_FLAG_OFFSET));
+               builder.setGlobal(reserved.get(G_FLAG_OFFSET));
                builder.setLabelType(parser.parseLabel(ByteArray.cutBytes(buffer, HEADER_LENGTH)));
                return new SubobjectsBuilder().setSubobjectType(builder.build()).build();
        }
 
        @Override
        public byte[] serializeSubobject(final Subobjects subobject) {
-               final LabelSubobject label = (LabelSubobject) subobject.getSubobjectType();
-               final LabelSerializer parser = this.registry.getLabelSerializer((CLabel) label);
-
-               if (parser == null)
+               final Label label = (Label) subobject.getSubobjectType();
+               final LabelType l = label.getLabelType();
+               final LabelSerializer parser = this.registry.getLabelSerializer(l);
+               if (parser == null) {
                        throw new IllegalArgumentException("Unknown RROLabelSubobject instance. Passed " + subobject.getSubobjectType().getClass());
-
-               final byte[] labelbytes = parser.serializeLabel((CLabel) label);
-
+               }
+               final byte[] labelbytes = parser.serializeLabel(l);
                final byte[] retBytes = new byte[labelbytes.length + HEADER_LENGTH];
-
                System.arraycopy(labelbytes, 0, retBytes, HEADER_LENGTH, labelbytes.length);
 
                final BitSet reserved = new BitSet();
                reserved.set(U_FLAG_OFFSET, label.isUniDirectional());
+               reserved.set(G_FLAG_OFFSET, label.isGlobal());
                System.arraycopy(ByteArray.bitSetToBytes(reserved, RES_F_LENGTH), 0, retBytes, RES_F_OFFSET, RES_F_LENGTH);
-
                retBytes[C_TYPE_F_OFFSET] = (byte) parser.getType();
-
                return retBytes;
        }
 
index fdbc05aafe8c28e8b838bb8499288ffc258b2733..4e538b7629c0ef0b983ce73cfe1732210f17a7fa 100644 (file)
@@ -11,9 +11,8 @@ import org.opendaylight.protocol.pcep.PCEPDeserializerException;
 import org.opendaylight.protocol.pcep.spi.LabelParser;
 import org.opendaylight.protocol.pcep.spi.LabelSerializer;
 import org.opendaylight.protocol.util.ByteArray;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.CLabel;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.Type1Label;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.LabelType;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.label.type.Type1Label;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.label.type.Type1LabelBuilder;
 
 import com.google.common.primitives.UnsignedInts;
@@ -26,21 +25,22 @@ public class Type1LabelParser implements LabelParser, LabelSerializer {
 
        @Override
        public LabelType parseLabel(final byte[] buffer) throws PCEPDeserializerException {
-               if (buffer == null || buffer.length == 0)
+               if (buffer == null || buffer.length == 0) {
                        throw new IllegalArgumentException("Array of bytes is mandatory. Can't be null or empty.");
-               if (buffer.length != LABEL_LENGTH)
+               }
+               if (buffer.length != LABEL_LENGTH) {
                        throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: " + buffer.length + "; Expected: " + LABEL_LENGTH
                                        + ".");
-
+               }
                return new Type1LabelBuilder().setType1Label(UnsignedInts.toLong(ByteArray.bytesToInt(buffer))).build();
        }
 
        @Override
-       public byte[] serializeLabel(final CLabel subobject) {
-               if (!(subobject instanceof Type1Label))
+       public byte[] serializeLabel(final LabelType subobject) {
+               if (!(subobject instanceof Type1Label)) {
                        throw new IllegalArgumentException("Unknown Label Subobject instance. Passed " + subobject.getClass() + ". Needed Type1Label.");
-
-               return ByteArray.longToBytes(((org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.label.type.Type1Label) subobject).getType1Label().longValue());
+               }
+               return ByteArray.subByte(ByteArray.longToBytes(((Type1Label) subobject).getType1Label().longValue()), 4, LABEL_LENGTH);
        }
 
        @Override
index feb1d05f26cf69cbbb9942980548b29522f87d04..07290ce8b3c8251511c31fc2fadaa28ac42610f5 100644 (file)
@@ -11,55 +11,53 @@ import org.opendaylight.protocol.pcep.PCEPDeserializerException;
 import org.opendaylight.protocol.pcep.spi.LabelParser;
 import org.opendaylight.protocol.pcep.spi.LabelSerializer;
 import org.opendaylight.protocol.util.ByteArray;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.CLabel;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.WavebandSwitchingLabel;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.LabelType;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.label.type.WavebandSwitchingLabel;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.label.type.WavebandSwitchingLabelBuilder;
 
+/**
+ * Parser for {@link WavebandSwitchingLabel}
+ */
 public class WavebandSwitchingLabelParser implements LabelParser, LabelSerializer {
 
        public static final int CTYPE = 3;
 
-       private static int WAVEB_F_LENGTH = 4;
-       private static int START_F_LENGTH = 4;
-       private static int END_F_LENGTH = 4;
+       private static final int WAVEB_F_LENGTH = 4;
+       private static final int START_F_LENGTH = 4;
+       private static final int END_F_LENGTH = 4;
 
-       private static int CONTENT_LENGTH = WAVEB_F_LENGTH + START_F_LENGTH + END_F_LENGTH;
+       private static final int CONTENT_LENGTH = WAVEB_F_LENGTH + START_F_LENGTH + END_F_LENGTH;
 
        @Override
-       public LabelType parseLabel(final byte[] buffer) throws PCEPDeserializerException {
-               if (buffer == null || buffer.length == 0)
+       public WavebandSwitchingLabel parseLabel(final byte[] buffer) throws PCEPDeserializerException {
+               if (buffer == null || buffer.length == 0) {
                        throw new IllegalArgumentException("Array of bytes is mandatory. Can't be null or empty.");
-
-               if (buffer.length != CONTENT_LENGTH)
+               }
+               if (buffer.length != CONTENT_LENGTH) {
                        throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: " + buffer.length + "; Expected: "
                                        + CONTENT_LENGTH + ".");
-
+               }
                final WavebandSwitchingLabelBuilder builder = new WavebandSwitchingLabelBuilder();
-
                int byteOffset = 0;
                builder.setWavebandId(ByteArray.bytesToLong(ByteArray.subByte(buffer, byteOffset, WAVEB_F_LENGTH)));
                byteOffset += WAVEB_F_LENGTH;
                builder.setStartLabel(ByteArray.bytesToLong(ByteArray.subByte(buffer, byteOffset, START_F_LENGTH)));
                byteOffset += START_F_LENGTH;
                builder.setEndLabel(ByteArray.bytesToLong(ByteArray.subByte(buffer, byteOffset, END_F_LENGTH)));
-
                return builder.build();
        }
 
        @Override
-       public byte[] serializeLabel(final CLabel subobject) {
-               if (!(subobject instanceof WavebandSwitchingLabel))
+       public byte[] serializeLabel(final LabelType subobject) {
+               if (!(subobject instanceof WavebandSwitchingLabel)) {
                        throw new IllegalArgumentException("Unknown Label Subobject instance. Passed " + subobject.getClass()
                                        + ". Needed WavebandSwitchingLabel.");
+               }
                final byte[] retBytes = new byte[CONTENT_LENGTH];
-
                final WavebandSwitchingLabel obj = (WavebandSwitchingLabel) subobject;
-
                System.arraycopy(ByteArray.intToBytes(obj.getWavebandId().intValue()), 0, retBytes, 0, WAVEB_F_LENGTH);
                System.arraycopy(ByteArray.intToBytes(obj.getStartLabel().intValue()), 0, retBytes, WAVEB_F_LENGTH, START_F_LENGTH);
                System.arraycopy(ByteArray.intToBytes(obj.getEndLabel().intValue()), 0, retBytes, WAVEB_F_LENGTH + START_F_LENGTH, END_F_LENGTH);
-
                return retBytes;
        }
 
index 4762027ce76c414f8fba6058bbccb9c8938c22f0..4a9b7a2bf02de639a667da5fc02856e089ec9d5c 100644 (file)
@@ -13,18 +13,45 @@ import static org.junit.Assert.assertEquals;
 import org.junit.Test;
 import org.opendaylight.protocol.pcep.PCEPDeserializerException;
 import org.opendaylight.protocol.pcep.impl.subobject.GeneralizedLabelParser;
+import org.opendaylight.protocol.pcep.impl.subobject.Type1LabelParser;
+import org.opendaylight.protocol.pcep.impl.subobject.WavebandSwitchingLabelParser;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.label.type.GeneralizedLabelBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.label.type.Type1LabelBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.label.type.WavebandSwitchingLabelBuilder;
 
 public class LabelSubobjectParserTest {
 
-       private final byte[] generalizedLabelBytes = { (byte) 0x12, (byte) 0x00, (byte) 0x25, (byte) 0xFF };
+       private static final byte[] generalizedLabelBytes = { (byte) 0x12, (byte) 0x00, (byte) 0x25, (byte) 0xFF };
+
+       private static final byte[] wavebandLabelBytes = { (byte) 0x00, (byte) 0x00, (byte) 0x12, (byte) 0x34, (byte) 0x00, (byte) 0x00,
+                       (byte) 0x99, (byte) 0x99, (byte) 0x00, (byte) 0x00, (byte) 0x11, (byte) 0x11 };
 
        @Test
        public void testGeneralizedLabel() throws PCEPDeserializerException {
                final GeneralizedLabelParser parser = new GeneralizedLabelParser();
                final GeneralizedLabelBuilder builder = new GeneralizedLabelBuilder();
-               builder.setGeneralizedLabel(this.generalizedLabelBytes);
-               assertEquals(builder.build(), parser.parseLabel(this.generalizedLabelBytes));
-               assertArrayEquals(this.generalizedLabelBytes, parser.serializeLabel(builder.build()));
+               builder.setGeneralizedLabel(generalizedLabelBytes);
+               assertEquals(builder.build(), parser.parseLabel(generalizedLabelBytes));
+               assertArrayEquals(generalizedLabelBytes, parser.serializeLabel(builder.build()));
+       }
+
+       @Test
+       public void testWavebandLabel() throws PCEPDeserializerException {
+               final WavebandSwitchingLabelParser parser = new WavebandSwitchingLabelParser();
+               final WavebandSwitchingLabelBuilder builder = new WavebandSwitchingLabelBuilder();
+               builder.setWavebandId(0x1234L);
+               builder.setStartLabel(0x9999L);
+               builder.setEndLabel(0x1111L);
+               assertEquals(builder.build(), parser.parseLabel(wavebandLabelBytes));
+               assertArrayEquals(wavebandLabelBytes, parser.serializeLabel(builder.build()));
+       }
+
+       @Test
+       public void testTypeOneLabel() throws PCEPDeserializerException {
+               final Type1LabelParser parser = new Type1LabelParser();
+               final Type1LabelBuilder builder = new Type1LabelBuilder();
+               builder.setType1Label(0x120025ffL);
+               assertEquals(builder.build(), parser.parseLabel(generalizedLabelBytes));
+               assertArrayEquals(generalizedLabelBytes, parser.serializeLabel(builder.build()));
        }
 }
index a9e9570d1099655ac457a06b7560ee02216548bd..3273413858d43ffcc886cbb244fc739090e8b10f 100644 (file)
@@ -10,14 +10,15 @@ package org.opendaylight.protocol.pcep.impl;
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 
-import org.junit.Ignore;
 import org.junit.Test;
 import org.opendaylight.protocol.concepts.Ipv6Util;
 import org.opendaylight.protocol.pcep.PCEPDeserializerException;
 import org.opendaylight.protocol.pcep.impl.subobject.EROAsNumberSubobjectParser;
 import org.opendaylight.protocol.pcep.impl.subobject.EROIpPrefixSubobjectParser;
+import org.opendaylight.protocol.pcep.impl.subobject.EROLabelSubobjectParser;
 import org.opendaylight.protocol.pcep.impl.subobject.EROPathKeySubobjectParser;
 import org.opendaylight.protocol.pcep.impl.subobject.EROUnnumberedInterfaceSubobjectParser;
+import org.opendaylight.protocol.pcep.spi.pojo.PCEPExtensionProviderContextImpl;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.AsNumber;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpPrefix;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Prefix;
@@ -27,7 +28,9 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.typ
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.explicit.route.object.subobjects.subobject.type.PathKeyBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.basic.explicit.route.subobjects.subobject.type.AsNumberBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.basic.explicit.route.subobjects.subobject.type.IpPrefixBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.basic.explicit.route.subobjects.subobject.type.LabelBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.basic.explicit.route.subobjects.subobject.type.UnnumberedBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.label.type.GeneralizedLabelBuilder;
 
 public class PCEPEROSubobjectParserTest {
        private static final byte[] ip4PrefixBytes = { (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0x16, (byte) 0x00 };
@@ -41,6 +44,7 @@ public class PCEPEROSubobjectParserTest {
        private static final byte[] pathKey128Bytes = { (byte) 0x12, (byte) 0x34, (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78,
                        (byte) 0x9A, (byte) 0xBC, (byte) 0xDE, (byte) 0x12, (byte) 0x34, (byte) 0x54, (byte) 0x00, (byte) 0x00, (byte) 0x00,
                        (byte) 0x00, (byte) 0x00, (byte) 0x00 };
+       private static final byte[] labelBytes = { (byte) 0x80, (byte) 0x02, (byte) 0x12, (byte) 0x00, (byte) 0x25, (byte) 0xFF };
 
        @Test
        public void testEROIp4PrefixSubobject() throws PCEPDeserializerException {
@@ -113,11 +117,17 @@ public class PCEPEROSubobjectParserTest {
        }
 
        @Test
-       @Ignore
+       public void testEroLabelSubobject() throws Exception {
+               final EROLabelSubobjectParser parser = new EROLabelSubobjectParser(PCEPExtensionProviderContextImpl.create().getLabelHandlerRegistry());
+               final SubobjectsBuilder subs = new SubobjectsBuilder();
+               subs.setLoose(true);
+               subs.setSubobjectType(new LabelBuilder().setUniDirectional(true).setLabelType(
+                               new GeneralizedLabelBuilder().setGeneralizedLabel(new byte[] { (byte) 0x12, (byte) 0x00, (byte) 0x25, (byte) 0xFF }).build()).build());
+               assertEquals(subs.build(), parser.parseSubobject(labelBytes, true));
+               assertArrayEquals(labelBytes, parser.serializeSubobject(subs.build()));
+       }
+
        public void testEROSubojectsSerDeserWithoutBin() throws PCEPDeserializerException {
-               // objsToTest.add(new EROType1LabelSubobject(0xFFFF51F2L, true, false));
-               // objsToTest.add(new EROType1LabelSubobject(0x12345648L, false, true));
-               // objsToTest.add(new EROWavebandSwitchingLabelSubobject(0x12345678L, 0x87654321L, 0xFFFFFFFFL, false, false));
                // objsToTest.add(new EROExplicitExclusionRouteSubobject(Arrays.asList((ExcludeRouteSubobject) new
                // XROAsNumberSubobject(new AsNumber((long) 2588), true))));
        }
index 61bdea66ff4354693d8b43a3b5feb8c4c055f29c..ddb565653830290ac511d8e3bca7419b88cd5118 100644 (file)
@@ -14,15 +14,19 @@ import org.junit.Test;
 import org.opendaylight.protocol.concepts.Ipv6Util;
 import org.opendaylight.protocol.pcep.PCEPDeserializerException;
 import org.opendaylight.protocol.pcep.impl.subobject.RROIpPrefixSubobjectParser;
+import org.opendaylight.protocol.pcep.impl.subobject.RROLabelSubobjectParser;
 import org.opendaylight.protocol.pcep.impl.subobject.RROPathKeySubobjectParser;
 import org.opendaylight.protocol.pcep.impl.subobject.RROUnnumberedInterfaceSubobjectParser;
+import org.opendaylight.protocol.pcep.spi.pojo.PCEPExtensionProviderContextImpl;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpPrefix;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Prefix;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.PathKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.PceId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.reported.route.object.SubobjectsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.reported.route.object.subobjects.subobject.type.PathKeyBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.label.type.GeneralizedLabelBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.record.route.subobjects.subobject.type.IpPrefixBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.record.route.subobjects.subobject.type.LabelBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.record.route.subobjects.subobject.type.UnnumberedBuilder;
 
 public class PCEPRROSubobjectParserTest {
@@ -37,6 +41,7 @@ public class PCEPRROSubobjectParserTest {
        private static final byte[] pathKey128Bytes = { (byte) 0x12, (byte) 0x34, (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78,
                        (byte) 0x9A, (byte) 0xBC, (byte) 0xDE, (byte) 0x12, (byte) 0x34, (byte) 0x54, (byte) 0x00, (byte) 0x00, (byte) 0x00,
                        (byte) 0x00, (byte) 0x00, (byte) 0x00 };
+       private static final byte[] labelBytes = { (byte) 0x81, (byte) 0x02, (byte) 0x12, (byte) 0x00, (byte) 0x25, (byte) 0xFF };
 
        @Test
        public void testRROIp4PrefixSubobject() throws PCEPDeserializerException {
@@ -98,4 +103,14 @@ public class PCEPRROSubobjectParserTest {
                assertEquals(subs.build(), parser.parseSubobject(pathKey128Bytes));
                assertArrayEquals(pathKey128Bytes, parser.serializeSubobject(subs.build()));
        }
+
+       @Test
+       public void testRROLabelSubobject() throws Exception {
+               final RROLabelSubobjectParser parser = new RROLabelSubobjectParser(PCEPExtensionProviderContextImpl.create().getLabelHandlerRegistry());
+               final SubobjectsBuilder subs = new SubobjectsBuilder();
+               subs.setSubobjectType(new LabelBuilder().setUniDirectional(true).setGlobal(true).setLabelType(
+                               new GeneralizedLabelBuilder().setGeneralizedLabel(new byte[] { (byte) 0x12, (byte) 0x00, (byte) 0x25, (byte) 0xFF }).build()).build());
+               assertEquals(subs.build(), parser.parseSubobject(labelBytes));
+               assertArrayEquals(labelBytes, parser.serializeSubobject(subs.build()));
+       }
 }
index 18c43c9546dcd0f1bfb3a3414bc2e9fa30bd1c1a..967352abea2e728fd9227be51d3865efdd57a856 100644 (file)
@@ -7,9 +7,10 @@
  */
 package org.opendaylight.protocol.pcep.spi;
 
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.CLabel;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.LabelType;
 
 public interface LabelHandlerRegistry {
        public LabelParser getLabelParser(int cType);
-       public LabelSerializer getLabelSerializer(CLabel label);
+
+       public LabelSerializer getLabelSerializer(LabelType label);
 }
index f27dead63beb87dc9330e20056e705c6b64630f9..11024bf25890abd8bc8f4760ddd6792d831cf361 100644 (file)
@@ -7,12 +7,12 @@
  */
 package org.opendaylight.protocol.pcep.spi;
 
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.CLabel;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.LabelType;
 
 public interface LabelSerializer {
 
        @Deprecated
        public int getType();
 
-       public byte[] serializeLabel(CLabel subobject);
+       public byte[] serializeLabel(LabelType subobject);
 }
index 3d3d64be3a762b9c43b2299f1dc4400f511c4aff..f2b538853580ddfbaca71fbc69e1369d25c67d34 100644 (file)
@@ -10,28 +10,35 @@ package org.opendaylight.protocol.pcep.spi;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Message;
 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.Tlv;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.CLabel;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.CSubobject;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.LabelType;
 
 public interface PCEPExtensionProviderContext extends PCEPExtensionConsumerContext {
-       public AutoCloseable registerLabelSerializer(Class<? extends CLabel> labelClass, LabelSerializer serializer);
+       public AutoCloseable registerLabelSerializer(Class<? extends LabelType> labelClass, LabelSerializer serializer);
+
        public AutoCloseable registerLabelParser(int cType, LabelParser parser);
 
        public AutoCloseable registerEROSubobjectParser(int subobjectType, EROSubobjectParser parser);
+
        public AutoCloseable registerEROSubobjectSerializer(Class<? extends CSubobject> subobjectClass, EROSubobjectSerializer serializer);
 
        public AutoCloseable registerMessageParser(int messageType, MessageParser parser);
+
        public AutoCloseable registerMessageSerializer(Class<? extends Message> msgClass, MessageSerializer serializer);
 
        public AutoCloseable registerObjectParser(int objectClass, int objectType, ObjectParser parser);
+
        public AutoCloseable registerObjectSerializer(Class<? extends Object> objClass, ObjectSerializer serializer);
 
        public AutoCloseable registerRROSubobjectParser(int subobjectType, RROSubobjectParser parser);
+
        public AutoCloseable registerRROSubobjectSerializer(Class<? extends CSubobject> subobjectClass, RROSubobjectSerializer serializer);
 
        public AutoCloseable registerTlvSerializer(Class<? extends Tlv> tlvClass, TlvSerializer serializer);
+
        public AutoCloseable registerTlvParser(int tlvType, TlvParser parser);
 
        public AutoCloseable registerXROSubobjectSerializer(Class<? extends CSubobject> subobjectClass, XROSubobjectSerializer serializer);
+
        public AutoCloseable registerXROSubobjectParser(int subobjectType, XROSubobjectParser parser);
 }
index 0ffc8d6130529944dce7e6097f4d6fce03ec6d18..682c7117a84ea02a5d435530ea7e2d845a4ab61e 100644 (file)
@@ -25,8 +25,8 @@ import org.opendaylight.protocol.pcep.spi.XROSubobjectSerializer;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Message;
 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.Tlv;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.CLabel;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.CSubobject;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.LabelType;
 import org.osgi.framework.BundleContext;
 
 class OSGiPCEPExtensionProviderContext extends OSGiPCEPExtensionConsumerContext implements PCEPExtensionProviderContext {
@@ -35,7 +35,7 @@ class OSGiPCEPExtensionProviderContext extends OSGiPCEPExtensionConsumerContext
        }
 
        @Override
-       public AutoCloseable registerLabelSerializer(final Class<? extends CLabel> labelClass, final LabelSerializer serializer) {
+       public AutoCloseable registerLabelSerializer(final Class<? extends LabelType> labelClass, final LabelSerializer serializer) {
                // TODO Auto-generated method stub
                return null;
        }
@@ -53,7 +53,8 @@ class OSGiPCEPExtensionProviderContext extends OSGiPCEPExtensionConsumerContext
        }
 
        @Override
-       public AutoCloseable registerEROSubobjectSerializer(final Class<? extends CSubobject> subobjectClass, final EROSubobjectSerializer serializer) {
+       public AutoCloseable registerEROSubobjectSerializer(final Class<? extends CSubobject> subobjectClass,
+                       final EROSubobjectSerializer serializer) {
                // TODO Auto-generated method stub
                return null;
        }
@@ -89,7 +90,8 @@ class OSGiPCEPExtensionProviderContext extends OSGiPCEPExtensionConsumerContext
        }
 
        @Override
-       public AutoCloseable registerRROSubobjectSerializer(final Class<? extends CSubobject> subobjectClass, final RROSubobjectSerializer serializer) {
+       public AutoCloseable registerRROSubobjectSerializer(final Class<? extends CSubobject> subobjectClass,
+                       final RROSubobjectSerializer serializer) {
                // TODO Auto-generated method stub
                return null;
        }
@@ -107,7 +109,8 @@ class OSGiPCEPExtensionProviderContext extends OSGiPCEPExtensionConsumerContext
        }
 
        @Override
-       public AutoCloseable registerXROSubobjectSerializer(final Class<? extends CSubobject> subobjectClass, final XROSubobjectSerializer serializer) {
+       public AutoCloseable registerXROSubobjectSerializer(final Class<? extends CSubobject> subobjectClass,
+                       final XROSubobjectSerializer serializer) {
                // TODO Auto-generated method stub
                return null;
        }
index 722d6b35b996f8ce3db006be7c10d8ca84ca0ee9..ab2910d686de1aaebfbe33004df44fa0c18c370b 100644 (file)
@@ -37,8 +37,8 @@ import org.opendaylight.protocol.pcep.spi.XROSubobjectSerializer;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Message;
 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.Tlv;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.CLabel;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.CSubobject;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.LabelType;
 
 /**
  *
@@ -51,7 +51,7 @@ public final class PCEPExtensionProviderContextImpl implements PCEPExtensionProv
                static {
                        try {
                                INSTANCE = PCEPExtensionProviderContextImpl.create();
-                       } catch (Exception e) {
+                       } catch (final Exception e) {
                                throw new ExceptionInInitializerError(e);
                        }
                }
@@ -73,7 +73,7 @@ public final class PCEPExtensionProviderContextImpl implements PCEPExtensionProv
                final PCEPExtensionProviderContext ctx = new PCEPExtensionProviderContextImpl();
 
                final ServiceLoader<PCEPExtensionProviderActivator> loader = ServiceLoader.load(PCEPExtensionProviderActivator.class);
-               for (PCEPExtensionProviderActivator a : loader) {
+               for (final PCEPExtensionProviderActivator a : loader) {
                        a.start(ctx);
                }
 
@@ -87,7 +87,7 @@ public final class PCEPExtensionProviderContextImpl implements PCEPExtensionProv
 
        @Override
        public LabelHandlerRegistry getLabelHandlerRegistry() {
-               return labelReg;
+               return this.labelReg;
        }
 
        @Override
@@ -121,72 +121,75 @@ public final class PCEPExtensionProviderContextImpl implements PCEPExtensionProv
        }
 
        @Override
-       public AutoCloseable registerLabelSerializer(final Class<? extends CLabel> labelClass, final LabelSerializer serializer) {
-               return labelReg.registerLabelSerializer(labelClass, serializer);
+       public AutoCloseable registerLabelSerializer(final Class<? extends LabelType> labelClass, final LabelSerializer serializer) {
+               return this.labelReg.registerLabelSerializer(labelClass, serializer);
        }
 
        @Override
        public AutoCloseable registerLabelParser(final int cType, final LabelParser parser) {
-               return labelReg.registerLabelParser(cType, parser);
+               return this.labelReg.registerLabelParser(cType, parser);
        }
 
        @Override
        public AutoCloseable registerEROSubobjectParser(final int subobjectType, final EROSubobjectParser parser) {
-               return eroSubReg.registerSubobjectParser(subobjectType, parser);
+               return this.eroSubReg.registerSubobjectParser(subobjectType, parser);
        }
 
        @Override
-       public AutoCloseable registerEROSubobjectSerializer(final Class<? extends CSubobject> subobjectClass, final EROSubobjectSerializer serializer) {
-               return eroSubReg.registerSubobjectSerializer(subobjectClass, serializer);
+       public AutoCloseable registerEROSubobjectSerializer(final Class<? extends CSubobject> subobjectClass,
+                       final EROSubobjectSerializer serializer) {
+               return this.eroSubReg.registerSubobjectSerializer(subobjectClass, serializer);
        }
 
        @Override
        public AutoCloseable registerMessageParser(final int messageType, final MessageParser parser) {
-               return msgReg.registerMessageParser(messageType, parser);
+               return this.msgReg.registerMessageParser(messageType, parser);
        }
 
        @Override
        public AutoCloseable registerMessageSerializer(final Class<? extends Message> msgClass, final MessageSerializer serializer) {
-               return msgReg.registerMessageSerializer(msgClass, serializer);
+               return this.msgReg.registerMessageSerializer(msgClass, serializer);
        }
 
        @Override
        public AutoCloseable registerObjectParser(final int objectClass, final int objectType, final ObjectParser parser) {
-               return objReg.registerObjectParser(objectClass, objectType, parser);
+               return this.objReg.registerObjectParser(objectClass, objectType, parser);
        }
 
        @Override
        public AutoCloseable registerObjectSerializer(final Class<? extends Object> objClass, final ObjectSerializer serializer) {
-               return objReg.registerObjectSerializer(objClass, serializer);
+               return this.objReg.registerObjectSerializer(objClass, serializer);
        }
 
        @Override
        public AutoCloseable registerRROSubobjectParser(final int subobjectType, final RROSubobjectParser parser) {
-               return rroSubReg.registerSubobjectParser(subobjectType, parser);
+               return this.rroSubReg.registerSubobjectParser(subobjectType, parser);
        }
 
        @Override
-       public AutoCloseable registerRROSubobjectSerializer(final Class<? extends CSubobject> subobjectClass, final RROSubobjectSerializer serializer) {
-               return rroSubReg.registerSubobjectSerializer(subobjectClass, serializer);
+       public AutoCloseable registerRROSubobjectSerializer(final Class<? extends CSubobject> subobjectClass,
+                       final RROSubobjectSerializer serializer) {
+               return this.rroSubReg.registerSubobjectSerializer(subobjectClass, serializer);
        }
 
        @Override
        public AutoCloseable registerTlvParser(final int tlvType, final TlvParser parser) {
-               return tlvReg.registerTlvParser(tlvType, parser);
+               return this.tlvReg.registerTlvParser(tlvType, parser);
        }
 
        @Override
        public AutoCloseable registerTlvSerializer(final Class<? extends Tlv> tlvClass, final TlvSerializer serializer) {
-               return tlvReg.registerTlvSerializer(tlvClass, serializer);
+               return this.tlvReg.registerTlvSerializer(tlvClass, serializer);
        }
 
        @Override
        public AutoCloseable registerXROSubobjectParser(final int subobjectType, final XROSubobjectParser parser) {
-               return xroSubReg.registerSubobjectParser(subobjectType, parser);
+               return this.xroSubReg.registerSubobjectParser(subobjectType, parser);
        }
 
        @Override
-       public AutoCloseable registerXROSubobjectSerializer(final Class<? extends CSubobject> subobjectClass, final XROSubobjectSerializer serializer) {
-               return xroSubReg.registerSubobjectSerializer(subobjectClass, serializer);
+       public AutoCloseable registerXROSubobjectSerializer(final Class<? extends CSubobject> subobjectClass,
+                       final XROSubobjectSerializer serializer) {
+               return this.xroSubReg.registerSubobjectSerializer(subobjectClass, serializer);
        }
 }
index e7e5d77cf232df355b73f4097e9b695ff71138b4..e374d8118117069e6d5065e7f608e29cdcc6e07e 100644 (file)
@@ -12,7 +12,7 @@ import org.opendaylight.protocol.pcep.spi.LabelHandlerRegistry;
 import org.opendaylight.protocol.pcep.spi.LabelParser;
 import org.opendaylight.protocol.pcep.spi.LabelSerializer;
 import org.opendaylight.protocol.util.Util;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.CLabel;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.LabelType;
 import org.opendaylight.yangtools.yang.binding.DataContainer;
 
 import com.google.common.base.Preconditions;
@@ -25,7 +25,7 @@ public class SimpleLabelHandlerRegistry implements LabelHandlerRegistry {
                return this.handlers.registerParser(cType, parser);
        }
 
-       public AutoCloseable registerLabelSerializer(final Class<? extends CLabel> labelClass, final LabelSerializer serializer) {
+       public AutoCloseable registerLabelSerializer(final Class<? extends LabelType> labelClass, final LabelSerializer serializer) {
                return this.handlers.registerSerializer(labelClass, serializer);
        }
 
@@ -36,7 +36,7 @@ public class SimpleLabelHandlerRegistry implements LabelHandlerRegistry {
        }
 
        @Override
-       public LabelSerializer getLabelSerializer(final CLabel label) {
+       public LabelSerializer getLabelSerializer(final LabelType label) {
                return this.handlers.getSerializer(label.getImplementedInterface());
        }
 }
index 155ce88fca4022e90f02c300780df5449776a803..898409afa573410fcc18358beae9c0aee528079e 100644 (file)
@@ -203,16 +203,6 @@ module rsvp {
                }
        }
 
-       grouping generalized-channel-set-label {
-               reference "https://tools.ietf.org/html/rfc6002#section-3.2";
-
-               uses c-label;
-
-               list subobjects {
-                       uses label-set;
-               }
-       }
-
        //marker
        grouping c-subobject {
        
@@ -254,9 +244,6 @@ module rsvp {
                        case waveband-switching-label {
                                uses waveband-switching-label;
                        }
-                       case generalized-channel-set-label {
-                               uses generalized-channel-set-label;
-                       }
                }
        }