Rework PCEPDeserializerException and move it into SPI
[bgpcep.git] / pcep / impl / src / main / java / org / opendaylight / protocol / pcep / impl / subobject / GeneralizedLabelParser.java
index 7c26fd43a065c5efacf6bfe8992796a3c0ad6910..c559f65bbba2f86a3dfb49e2767d49b21a5f1f6b 100644 (file)
@@ -7,31 +7,36 @@
  */
 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.protocol.pcep.spi.PCEPDeserializerException;
+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;
 
+/**
+ * Parser for {@link GeneralizedLabel}
+ */
 public class GeneralizedLabelParser implements LabelParser, LabelSerializer {
 
        public static final int CTYPE = 2;
 
        @Override
-       public GeneralizedLabel parseLabel(final byte[] buffer) throws PCEPDeserializerException {
-               if (buffer == null || buffer.length == 0)
+       public LabelType 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.");
+               }
 
                return new GeneralizedLabelBuilder().setGeneralizedLabel(buffer).build();
        }
 
        @Override
-       public byte[] serializeSubobject(final CLabel subobject) {
-               if (!(subobject instanceof GeneralizedLabel))
+       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