BUG-130 : introduced ObjectUtil.
[bgpcep.git] / pcep / impl / src / main / java / org / opendaylight / protocol / pcep / impl / object / PCEPIncludeRouteObjectParser.java
index 2ab4323f3e4df3cb13a8de0130d54815e96e0627..23add83a03e317c113a05117ad2ccb4bca718c55 100644 (file)
@@ -9,20 +9,19 @@ package org.opendaylight.protocol.pcep.impl.object;
 
 import java.util.List;
 
-import org.opendaylight.protocol.pcep.PCEPDeserializerException;
-import org.opendaylight.protocol.pcep.PCEPDocumentedException;
 import org.opendaylight.protocol.pcep.spi.EROSubobjectHandlerRegistry;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.IncludeRouteObject;
+import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
 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.include.route.object.Subobjects;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.include.route.object.SubobjectsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.lsp.attributes.IncludeRouteBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.include.route.object.Iro;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.include.route.object.IroBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.include.route.object.iro.Subobjects;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.include.route.object.iro.SubobjectsBuilder;
 
 import com.google.common.collect.Lists;
 
 /**
- * Parser for {@link IncludeRouteObject}
+ * Parser for {@link Iro}
  */
 public class PCEPIncludeRouteObjectParser extends AbstractEROWithSubobjectsParser {
 
@@ -35,13 +34,12 @@ public class PCEPIncludeRouteObjectParser extends AbstractEROWithSubobjectsParse
        }
 
        @Override
-       public IncludeRouteObject parseObject(final ObjectHeader header, final byte[] bytes) throws PCEPDeserializerException,
-                       PCEPDocumentedException {
+       public Iro parseObject(final ObjectHeader header, final byte[] bytes) throws PCEPDeserializerException {
                if (bytes == null || bytes.length == 0) {
                        throw new IllegalArgumentException("Byte array is mandatory. Can't be null or empty.");
                }
 
-               final IncludeRouteBuilder builder = new IncludeRouteBuilder();
+               final IroBuilder builder = new IroBuilder();
 
                builder.setIgnore(header.isIgnore());
                builder.setProcessingRule(header.isProcessingRule());
@@ -56,10 +54,10 @@ public class PCEPIncludeRouteObjectParser extends AbstractEROWithSubobjectsParse
 
        @Override
        public byte[] serializeObject(final Object object) {
-               if (!(object instanceof IncludeRouteObject)) {
+               if (!(object instanceof Iro)) {
                        throw new IllegalArgumentException("Wrong instance of PCEPObject. Passed " + object.getClass() + ". Needed IncludeRouteObject.");
                }
-               final IncludeRouteObject iro = ((IncludeRouteObject) object);
+               final Iro iro = ((Iro) object);
 
                assert !(iro.getSubobjects().isEmpty()) : "Empty Include Route Object.";
 
@@ -69,8 +67,7 @@ public class PCEPIncludeRouteObjectParser extends AbstractEROWithSubobjectsParse
                        subs.add(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.explicit.route.object.ero.SubobjectsBuilder().setLoose(
                                        false).setSubobjectType(s.getSubobjectType()).build());
                }
-
-               return serializeSubobject(subs);
+               return ObjectUtil.formatSubobject(TYPE, CLASS, object.isProcessingRule(), object.isIgnore(), serializeSubobject(subs));
        }
 
        @Override