X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=pcep%2Fbase-parser%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fprotocol%2Fpcep%2Fparser%2Fmessage%2FPCEPOpenMessageParser.java;fp=pcep%2Fbase-parser%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fprotocol%2Fpcep%2Fparser%2Fmessage%2FPCEPOpenMessageParser.java;h=58eda092a6e10ea972e1c36271f2e4998bde11ff;hb=a299e6ac11495070cbfa51162d356b49b17d7f9c;hp=ea7ebcae04e6701f39b12b91e41d25014a342230;hpb=2ffa699ac3f2da2c07a7b98176b150848647b42e;p=bgpcep.git diff --git a/pcep/base-parser/src/main/java/org/opendaylight/protocol/pcep/parser/message/PCEPOpenMessageParser.java b/pcep/base-parser/src/main/java/org/opendaylight/protocol/pcep/parser/message/PCEPOpenMessageParser.java index ea7ebcae04..58eda092a6 100644 --- a/pcep/base-parser/src/main/java/org/opendaylight/protocol/pcep/parser/message/PCEPOpenMessageParser.java +++ b/pcep/base-parser/src/main/java/org/opendaylight/protocol/pcep/parser/message/PCEPOpenMessageParser.java @@ -7,10 +7,12 @@ */ package org.opendaylight.protocol.pcep.parser.message; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; + import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import java.util.List; +import java.util.Queue; import org.opendaylight.protocol.pcep.spi.AbstractMessageParser; import org.opendaylight.protocol.pcep.spi.MessageUtil; import org.opendaylight.protocol.pcep.spi.ObjectRegistry; @@ -35,11 +37,11 @@ public class PCEPOpenMessageParser extends AbstractMessageParser { @Override public void serializeMessage(final Message message, final ByteBuf out) { - Preconditions.checkArgument(message instanceof OpenMessage, + checkArgument(message instanceof OpenMessage, "Wrong instance of Message. Passed instance of %s. Need OpenMessage.", message.getClass()); final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.open.message .OpenMessage open = ((OpenMessage) message).getOpenMessage(); - Preconditions.checkArgument(open.getOpen() != null, "Open Object must be present in Open Message."); + checkArgument(open.getOpen() != null, "Open Object must be present in Open Message."); final ByteBuf buffer = Unpooled.buffer(); serializeObject(open.getOpen(), buffer); MessageUtil.formatMessage(TYPE, buffer, out); @@ -47,22 +49,17 @@ public class PCEPOpenMessageParser extends AbstractMessageParser { @Override protected org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.message.rev181109.Open validate( - final List objects, final List errors) throws PCEPDeserializerException { - Preconditions.checkArgument(objects != null, "Passed list can't be null."); + final Queue objects, final List errors) throws PCEPDeserializerException { + checkArgument(objects != null, "Passed list can't be null."); - if (objects.isEmpty() || !(objects.get(0) instanceof Open)) { + final Object open = objects.poll(); + if (!(open instanceof Open)) { throw new PCEPDeserializerException("Open message doesn't contain OPEN object."); } - - final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.open.message - .OpenMessage msg = new OpenMessageBuilder().setOpen((Open) objects.get(0)).build(); - - objects.remove(0); - if (!objects.isEmpty()) { throw new PCEPDeserializerException("Unprocessed Objects: " + objects); } - return new OpenBuilder().setOpenMessage(msg).build(); + return new OpenBuilder().setOpenMessage(new OpenMessageBuilder().setOpen((Open) open).build()).build(); } }