X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=pcep%2Fbase-parser%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fprotocol%2Fpcep%2Fparser%2Fsubobject%2FXROPathKey32SubobjectParser.java;fp=pcep%2Fbase-parser%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fprotocol%2Fpcep%2Fparser%2Fsubobject%2FXROPathKey32SubobjectParser.java;h=620e1862272cd3e0615172d52169612da7ebf025;hb=59bd8a58570b93fef65340808e37cab3c6fced8c;hp=ac9bc24d6844146ac91a86d848735d8b2f792784;hpb=3b658310b793d4882ce59198a6d2563ce6ba114d;p=bgpcep.git diff --git a/pcep/base-parser/src/main/java/org/opendaylight/protocol/pcep/parser/subobject/XROPathKey32SubobjectParser.java b/pcep/base-parser/src/main/java/org/opendaylight/protocol/pcep/parser/subobject/XROPathKey32SubobjectParser.java index ac9bc24d68..620e186227 100644 --- a/pcep/base-parser/src/main/java/org/opendaylight/protocol/pcep/parser/subobject/XROPathKey32SubobjectParser.java +++ b/pcep/base-parser/src/main/java/org/opendaylight/protocol/pcep/parser/subobject/XROPathKey32SubobjectParser.java @@ -8,7 +8,6 @@ package org.opendaylight.protocol.pcep.parser.subobject; import static com.google.common.base.Preconditions.checkArgument; -import static org.opendaylight.protocol.util.ByteBufWriteUtil.writeUnsignedShort; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; @@ -24,7 +23,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.explicit.route.subobjects.subobject.type.PathKeyCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.explicit.route.subobjects.subobject.type.PathKeyCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.explicit.route.subobjects.subobject.type.path.key._case.PathKeyBuilder; -import org.opendaylight.yangtools.yang.common.Uint16; import org.opendaylight.yangtools.yang.common.netty.ByteBufUtils; /** @@ -43,15 +41,15 @@ public class XROPathKey32SubobjectParser implements XROSubobjectParser, XROSubob throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: " + buffer.readableBytes() + "; Expected: >" + CONTENT_LENGTH + "."); } - final Uint16 pathKey = ByteBufUtils.readUint16(buffer); - final byte[] pceId = ByteArray.readBytes(buffer, PCE_ID_F_LENGTH); - final PathKeyBuilder pBuilder = new PathKeyBuilder() - .setPceId(new PceId(pceId)) - .setPathKey(new PathKey(pathKey)); - final SubobjectBuilder builder = new SubobjectBuilder() + return new SubobjectBuilder() .setMandatory(mandatory) - .setSubobjectType(new PathKeyCaseBuilder().setPathKey(pBuilder.build()).build()); - return builder.build(); + .setSubobjectType(new PathKeyCaseBuilder() + .setPathKey(new PathKeyBuilder() + .setPathKey(new PathKey(ByteBufUtils.readUint16(buffer))) + .setPceId(new PceId(ByteArray.readBytes(buffer, PCE_ID_F_LENGTH))) + .build()) + .build()) + .build(); } @Override @@ -68,8 +66,10 @@ public class XROPathKey32SubobjectParser implements XROSubobjectParser, XROSubob if (pceId.length == XROPathKey128SubobjectParser.PCE128_ID_F_LENGTH) { XROPathKey128SubobjectParser.serializeSubobject(subobject, buffer); } - checkArgument(pk.getPathKey() != null, "PathKey is mandatory."); - writeUnsignedShort(pk.getPathKey().getValue(), body); + + final PathKey pathKey = pk.getPathKey(); + checkArgument(pathKey != null, "PathKey is mandatory."); + ByteBufUtils.write(body, pathKey.getValue()); checkArgument(pceId.length == PCE_ID_F_LENGTH, "PceId 32 Bit required."); body.writeBytes(pceId); XROSubobjectUtil.formatSubobject(TYPE, subobject.isMandatory(), body, buffer);