package org.opendaylight.protocol.pcep.parser.subobject;
import static com.google.common.base.Preconditions.checkArgument;
-import static org.opendaylight.protocol.util.ByteBufWriteUtil.writeShort;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.AsNumberCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.AsNumberCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.as.number._case.AsNumberBuilder;
-import org.opendaylight.yangtools.yang.common.Uint32;
+import org.opendaylight.yangtools.yang.common.netty.ByteBufUtils;
final class AsNumberCaseParser {
private static final int CONTENT_LENGTH = 2;
throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: " + buffer.readableBytes()
+ "; Expected: " + CONTENT_LENGTH + ".");
}
- return new AsNumberCaseBuilder().setAsNumber(new AsNumberBuilder().setAsNumber(
- new AsNumber(Uint32.valueOf(buffer.readUnsignedShort()))).build()).build();
+ return new AsNumberCaseBuilder()
+ .setAsNumber(new AsNumberBuilder()
+ .setAsNumber(new AsNumber(ByteBufUtils.readUint16(buffer).toUint32()))
+ .build())
+ .build();
}
static ByteBuf serializeSubobject(final AsNumberCase asCase) {
final AsNumberSubobject asNumber = asCase.getAsNumber();
final ByteBuf body = Unpooled.buffer(CONTENT_LENGTH);
- checkArgument(asNumber.getAsNumber() != null, "AsNumber is mandatory.");
- writeShort(asNumber.getAsNumber().getValue().shortValue(), body);
+ final AsNumber asn = asNumber.getAsNumber();
+ checkArgument(asn != null, "AsNumber is mandatory.");
+ body.writeShort(asn.getValue().shortValue());
return body;
}
}