BUG-64 : initial rewrite, MessageRegistry.
[bgpcep.git] / pcep / impl / src / main / java / org / opendaylight / protocol / pcep / impl / message / PCEPErrorMessageParser.java
index a69d128cb131940134ba94b79b1124807bec5337..5d007843192fd34fa7974d2c6b9c06828e47fb30 100644 (file)
@@ -8,11 +8,13 @@
 package org.opendaylight.protocol.pcep.impl.message;
 
 import io.netty.buffer.ByteBuf;
+import io.netty.buffer.Unpooled;
 
 import java.util.ArrayList;
 import java.util.List;
 
 import org.opendaylight.protocol.pcep.spi.AbstractMessageParser;
+import org.opendaylight.protocol.pcep.spi.MessageUtil;
 import org.opendaylight.protocol.pcep.spi.ObjectRegistry;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
 import org.opendaylight.protocol.pcep.spi.PCEPErrors;
@@ -48,7 +50,7 @@ public class PCEPErrorMessageParser extends AbstractMessageParser {
        }
 
        @Override
-       public void serializeMessage(final Message message, final ByteBuf buffer) {
+       public void serializeMessage(final Message message, final ByteBuf out) {
                if (!(message instanceof PcerrMessage)) {
                        throw new IllegalArgumentException("Wrong instance of Message. Passed instance " + message.getClass()
                                        + ". Nedded ErrorMessage.");
@@ -58,6 +60,7 @@ public class PCEPErrorMessageParser extends AbstractMessageParser {
                if (err.getErrors() == null || err.getErrors().isEmpty()) {
                        throw new IllegalArgumentException("Errors should not be empty.");
                }
+               ByteBuf buffer = Unpooled.buffer();
                if (err.getErrorType() instanceof RequestCase) {
                        final List<Rps> rps = ((RequestCase) err.getErrorType()).getRequest().getRps();
                        for (final Rps r : rps) {
@@ -71,6 +74,7 @@ public class PCEPErrorMessageParser extends AbstractMessageParser {
                if (err.getErrorType() instanceof SessionCase) {
                        buffer.writeBytes(serializeObject(((SessionCase) err.getErrorType()).getSession().getOpen()));
                }
+               MessageUtil.formatMessage(TYPE, buffer, out);
        }
 
        @Override