import org.opendaylight.protocol.pcep.parser.subobject.XROIpv6PrefixSubobjectParser;
import org.opendaylight.protocol.pcep.parser.subobject.XROPathKey128SubobjectParser;
import org.opendaylight.protocol.pcep.parser.subobject.XROPathKey32SubobjectParser;
-import org.opendaylight.protocol.pcep.parser.subobject.XROSRLGSubobjectParser;
+import org.opendaylight.protocol.pcep.parser.subobject.XROSrlgSubobjectParser;
import org.opendaylight.protocol.pcep.parser.subobject.XROUnnumberedInterfaceSubobjectParser;
import org.opendaylight.protocol.pcep.parser.tlv.NoPathVectorTlvParser;
import org.opendaylight.protocol.pcep.parser.tlv.OFListTlvParser;
regs.add(context.registerXROSubobjectParser(XROAsNumberSubobjectParser.TYPE, asNumberParser));
regs.add(context.registerXROSubobjectSerializer(AsNumberCase.class, asNumberParser));
- final XROSRLGSubobjectParser srlgParser = new XROSRLGSubobjectParser();
- regs.add(context.registerXROSubobjectParser(XROSRLGSubobjectParser.TYPE, srlgParser));
+ final XROSrlgSubobjectParser srlgParser = new XROSrlgSubobjectParser();
+ regs.add(context.registerXROSubobjectParser(XROSrlgSubobjectParser.TYPE, srlgParser));
regs.add(context.registerXROSubobjectSerializer(SrlgCase.class, srlgParser));
final XROUnnumberedInterfaceSubobjectParser unnumberedParser = new XROUnnumberedInterfaceSubobjectParser();
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.close.object.CClose;
/**
- * Parser for {@link CloseMessage}
+ * Parser for {@link CloseMessage}.
*/
public class PCEPCloseMessageParser extends AbstractMessageParser {
@Override
public void serializeMessage(final Message message, final ByteBuf out) {
- Preconditions.checkArgument(message instanceof CloseMessage, "Wrong instance of Message. Passed instance of %s. Need CloseMessage.", message.getClass());
+ Preconditions.checkArgument(message instanceof CloseMessage,
+ "Wrong instance of Message. Passed instance of %s. Need CloseMessage.", message.getClass());
final CCloseMessage close = ((CloseMessage) message).getCCloseMessage();
Preconditions.checkArgument(close.getCClose() != null, "Close Object must be present in Close Message.");
final ByteBuf buffer = Unpooled.buffer();
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.rp.object.Rp;
/**
- * Parser for {@link PcerrMessage}
+ * Parser for {@link PcerrMessage}.
*/
public class PCEPErrorMessageParser extends AbstractMessageParser {
@Override
public void serializeMessage(final Message message, final ByteBuf out) {
- Preconditions.checkArgument(message instanceof PcerrMessage, "Wrong instance of Message. Passed instance of %s. Need PcerrMessage.", message.getClass());
- final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcerr.message.PcerrMessage err = ((PcerrMessage) message).getPcerrMessage();
- Preconditions.checkArgument(err.getErrors() != null && !err.getErrors().isEmpty(), "Errors should not be empty.");
+ Preconditions.checkArgument(message instanceof PcerrMessage,
+ "Wrong instance of Message. Passed instance of %s. Need PcerrMessage.", message.getClass());
+ final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcerr.message
+ .PcerrMessage err = ((PcerrMessage) message).getPcerrMessage();
+ Preconditions.checkArgument(err.getErrors() != null && !err.getErrors().isEmpty(),
+ "Errors should not be empty.");
final ByteBuf buffer = Unpooled.buffer();
serializeCases(err, buffer);
for (final Errors e : err.getErrors()) {
/**
* If needed, subclasses can override this method.
*/
- protected void serializeCases(final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcerr.message.PcerrMessage err, final ByteBuf buffer) {
+ protected void serializeCases(
+ final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcerr.message
+ .PcerrMessage err, final ByteBuf buffer) {
if (err.getErrorType() instanceof RequestCase) {
final List<Rps> rps = ((RequestCase) err.getErrorType()).getRequest().getRps();
for (final Rps r : rps) {
}
@Override
- protected PcerrMessage validate(final List<Object> objects, final List<Message> errors) throws PCEPDeserializerException {
+ protected PcerrMessage validate(final List<Object> objects, final List<Message> errors)
+ throws PCEPDeserializerException {
Preconditions.checkArgument(objects != null, "Passed list can't be null.");
if (objects.isEmpty()) {
throw new PCEPDeserializerException("Error message is empty.");
}
final List<Rps> requestParameters = new ArrayList<>();
final List<Errors> errorObjects = new ArrayList<>();
- final PcerrMessageBuilder b = new PcerrMessageBuilder();
+ final PcerrMessageBuilder msgBuilder = new PcerrMessageBuilder();
Object obj = objects.get(0);
State state = State.INIT;
while (!objects.isEmpty() && !state.equals(State.END)) {
obj = objects.get(0);
if (obj instanceof UnknownObject) {
- return new PcerrBuilder().setPcerrMessage(b.setErrors(((UnknownObject) obj).getErrors()).build()).build();
+ return new PcerrBuilder()
+ .setPcerrMessage(msgBuilder.setErrors(((UnknownObject) obj).getErrors()).build()).build();
}
- state = insertObject(state, errorObjects, obj, requestParameters, b);
+ state = insertObject(state, errorObjects, obj, requestParameters, msgBuilder);
if (!state.equals(State.END)) {
objects.remove(0);
}
throw new PCEPDeserializerException("Unprocessed Objects: " + objects);
}
if (!requestParameters.isEmpty()) {
- b.setErrorType(new RequestCaseBuilder().setRequest(new RequestBuilder().setRps(requestParameters).build()).build());
+ msgBuilder.setErrorType(new RequestCaseBuilder()
+ .setRequest(new RequestBuilder().setRps(requestParameters).build()).build());
}
- return new PcerrBuilder().setPcerrMessage(b.setErrors(errorObjects).build()).build();
+ return new PcerrBuilder().setPcerrMessage(msgBuilder.setErrors(errorObjects).build()).build();
}
private static State insertObject(final State state, final List<Errors> errorObjects, final Object obj,
- final List<Rps> requestParameters, final PcerrMessageBuilder b) {
+ final List<Rps> requestParameters, final PcerrMessageBuilder msgBuilder) {
switch (state) {
- case RP_IN:
+ case RP_IN:
if (obj instanceof Rp) {
final Rp o = (Rp) obj;
requestParameters.add(new RpsBuilder().setRp(o).build());
return State.RP_IN;
}
- // fall-through
+ // fallthrough
case ERROR_IN:
if (obj instanceof ErrorObject) {
final ErrorObject o = (ErrorObject) obj;
errorObjects.add(new ErrorsBuilder().setErrorObject(o).build());
return State.ERROR_IN;
}
- // fall-through
+ // fallthrough
case OPEN:
if (obj instanceof Open) {
- b.setErrorType(new SessionCaseBuilder().setSession(new SessionBuilder().setOpen((Open) obj).build()).build());
+ msgBuilder.setErrorType(
+ new SessionCaseBuilder().setSession(new SessionBuilder().setOpen((Open) obj).build()).build());
return State.OPEN_IN;
}
- // fall-through
+ // fallthrough
case ERROR:
if (obj instanceof ErrorObject) {
final ErrorObject o = (ErrorObject) obj;
errorObjects.add(new ErrorsBuilder().setErrorObject(o).build());
return State.ERROR;
}
- // fall-through
+ // fallthrough
case OPEN_IN:
- // fall-through
case END:
return State.END;
default:
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.keepalive.message.KeepaliveMessageBuilder;
/**
- * Parser for {@link KeepaliveMessage}
+ * Parser for {@link KeepaliveMessage}.
*/
public class PCEPKeepAliveMessageParser extends AbstractMessageParser {
- private static final KeepaliveMessage MESSAGE = new KeepaliveBuilder().setKeepaliveMessage(new KeepaliveMessageBuilder().build()).build();
+ private static final KeepaliveMessage MESSAGE = new KeepaliveBuilder()
+ .setKeepaliveMessage(new KeepaliveMessageBuilder().build()).build();
public static final int TYPE = 2;
public PCEPKeepAliveMessageParser(final ObjectRegistry registry) {
@Override
public void serializeMessage(final Message message, final ByteBuf out) {
- Preconditions.checkArgument(message instanceof KeepaliveMessage, "Wrong instance of Message. Passed instance of %s. Need KeepaliveMessage.", message.getClass());
+ Preconditions.checkArgument(message instanceof KeepaliveMessage,
+ "Wrong instance of Message. Passed instance of %s. Need KeepaliveMessage.", message.getClass());
MessageUtil.formatMessage(TYPE, Unpooled.EMPTY_BUFFER, out);
}
@Override
- protected KeepaliveMessage validate(final List<Object> objects, final List<Message> errors) throws PCEPDeserializerException {
+ protected KeepaliveMessage validate(final List<Object> objects, final List<Message> errors)
+ throws PCEPDeserializerException {
if (objects != null && !objects.isEmpty()) {
throw new PCEPDeserializerException("Keepalive message should not contain any objects.");
}
/**
- * Parser for {@link Pcmonrep}
+ * Parser for {@link Pcmonrep}.
* @see <a href="https://tools.ietf.org/html/rfc5886#section-3.2">Path Monitoring Replay Message</a>
*/
public class PCEPMonitoringReplyMessageParser extends AbstractMessageParser {
@Override
public void serializeMessage(final Message message, final ByteBuf buffer) {
- Preconditions.checkArgument(message instanceof Pcmonrep, "Wrong instance of Message. Passed instance of %s. Need Pcmonrep.", message.getClass());
+ Preconditions.checkArgument(message instanceof Pcmonrep,
+ "Wrong instance of Message. Passed instance of %s. Need Pcmonrep.", message.getClass());
final PcmonrepMessage monRepMsg = ((Pcmonrep) message).getPcmonrepMessage();
Preconditions.checkArgument(monRepMsg.getMonitoring() != null, "MONITORING object is mandatory.");
final ByteBuf body = Unpooled.buffer();
}
@Override
- protected Message validate(final List<Object> objects, final List<Message> errors) throws PCEPDeserializerException {
+ protected Message validate(final List<Object> objects, final List<Message> errors)
+ throws PCEPDeserializerException {
Preconditions.checkArgument(objects != null, "Passed list can't be null.");
if (objects.isEmpty()) {
throw new PCEPDeserializerException("Pcmonrep message cannot be empty.");
errors.add(createErrorMsg(PCEPErrors.MONITORING_OBJECT_MISSING, Optional.empty()));
return null;
}
- final PcmonrepMessageBuilder builder = new PcmonrepMessageBuilder();
- builder.setMonitoring((Monitoring) objects.get(0));
+ final PcmonrepMessageBuilder builder = new PcmonrepMessageBuilder().setMonitoring((Monitoring) objects.get(0));
objects.remove(0);
if (!objects.isEmpty() && objects.get(0) instanceof PccIdReq) {
builder.setPccIdReq((PccIdReq) objects.get(0));
}
}
if (!specificMetrics.isEmpty()) {
- builder.setMonitoringMetricsList(new SpecificMetricsListBuilder().setSpecificMetrics(specificMetrics).build());
+ builder.setMonitoringMetricsList(
+ new SpecificMetricsListBuilder().setSpecificMetrics(specificMetrics).build());
}
}
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcreq.message.pcreq.message.Svec;
/**
- * Parser for {@link Pcmonreq}
+ * Parser for {@link Pcmonreq}.
* @see <a href="https://tools.ietf.org/html/rfc5886#section-3.1">Monitoring Request Message</a>
*/
public class PCEPMonitoringRequestMessageParser extends PCEPRequestMessageParser {
@Override
public void serializeMessage(final Message message, final ByteBuf out) {
- Preconditions.checkArgument(message instanceof Pcmonreq, "Wrong instance of Message. Passed instance of %s. Need Pcmonreq.", message.getClass());
+ Preconditions.checkArgument(message instanceof Pcmonreq,
+ "Wrong instance of Message. Passed instance of %s. Need Pcmonreq.", message.getClass());
final PcreqMessage msg = ((Pcmonreq) message).getPcreqMessage();
Preconditions.checkArgument(msg.getMonitoringRequest() != null, "MONITORING object MUST be present.");
final ByteBuf buffer = Unpooled.buffer();
}
@Override
- protected Message validate(final List<Object> objects, final List<Message> errors) throws PCEPDeserializerException {
+ protected Message validate(final List<Object> objects, final List<Message> errors)
+ throws PCEPDeserializerException {
Preconditions.checkArgument(objects != null, "Passed list can't be null.");
if (objects.isEmpty()) {
throw new PCEPDeserializerException("Pcmonreq message cannot be empty.");
if (monReq == null) {
errors.add(createErrorMsg(PCEPErrors.MONITORING_OBJECT_MISSING, Optional.empty()));
}
- final PcreqMessageBuilder mBuilder = new PcreqMessageBuilder();
- mBuilder.setMonitoringRequest(monReq);
+ final PcreqMessageBuilder mBuilder = new PcreqMessageBuilder().setMonitoringRequest(monReq);
final List<Svec> svecs = getSvecs(objects);
if (!svecs.isEmpty()) {
mBuilder.setSvec(svecs);
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.rp.object.Rp;
/**
- * Parser for {@link PcntfMessage}
+ * Parser for {@link PcntfMessage}.
*/
public class PCEPNotificationMessageParser extends AbstractMessageParser {
@Override
public void serializeMessage(final Message message, final ByteBuf out) {
- Preconditions.checkArgument(message instanceof PcntfMessage, "Wrong instance of Message. Passed instance of %s. Need PcntfMessage.", message.getClass());
+ Preconditions.checkArgument(message instanceof PcntfMessage,
+ "Wrong instance of Message. Passed instance of %s. Need PcntfMessage.", message.getClass());
final ByteBuf buffer = Unpooled.buffer();
for (final Notifications n : ((PcntfMessage) message).getPcntfMessage().getNotifications()) {
if (n.getRps() != null) {
serializeObject(rps.getRp(), buffer);
}
}
- Preconditions.checkArgument(n.getNotifications() != null && !n.getNotifications().isEmpty(), "Message must contain at least one notification object");
- for (final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcntf.message.pcntf.message.notifications.Notifications not : n.getNotifications()) {
+ Preconditions.checkArgument(n.getNotifications() != null && !n.getNotifications().isEmpty(),
+ "Message must contain at least one notification object");
+ for (final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcntf
+ .message.pcntf.message.notifications.Notifications not : n.getNotifications()) {
serializeObject(not.getCNotification(), buffer);
}
}
}
@Override
- protected Message validate(final List<Object> objects, final List<Message> errors) throws PCEPDeserializerException {
+ protected Message validate(final List<Object> objects, final List<Message> errors)
+ throws PCEPDeserializerException {
Preconditions.checkArgument(objects != null, "Passed list can't be null.");
if (objects.isEmpty()) {
throw new PCEPDeserializerException("Notification message cannot be empty.");
if (!objects.isEmpty()) {
throw new PCEPDeserializerException("Unprocessed Objects: " + objects);
}
- return new PcntfBuilder().setPcntfMessage(new PcntfMessageBuilder().setNotifications(compositeNotifications).build()).build();
+ return new PcntfBuilder()
+ .setPcntfMessage(new PcntfMessageBuilder().setNotifications(compositeNotifications).build()).build();
}
private static Notifications getValidNotificationComposite(final List<Object> objects, final List<Message> errors) {
final List<Rps> requestParameters = new ArrayList<>();
- final List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcntf.message.pcntf.message.notifications.Notifications> notifications = new ArrayList<>();
+ final List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcntf
+ .message.pcntf.message.notifications.Notifications> notifications = new ArrayList<>();
Object obj;
State state = State.INIT;
return null;
}
- return new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcntf.message.pcntf.message.NotificationsBuilder().setNotifications(
- notifications).setRps(requestParameters).build();
+ return new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcntf
+ .message.pcntf.message.NotificationsBuilder().setNotifications(notifications)
+ .setRps(requestParameters).build();
}
- private static State insertObject(final State state, final Object obj, final List<Message> errors, final List<Rps> requestParameters, final List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcntf.message.pcntf.message.notifications.Notifications> notifications) {
+ private static State insertObject(final State state, final Object obj, final List<Message> errors,
+ final List<Rps> requestParameters,
+ final List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcntf
+ .message.pcntf.message.notifications.Notifications> notifications) {
switch (state) {
case INIT:
if (obj instanceof Rp) {
requestParameters.add(new RpsBuilder().setRp(rp).build());
return State.INIT;
}
- // fall-through
+ // fallthrough
case RP_IN:
if (obj instanceof CNotification) {
final CNotification n = (CNotification) obj;
notifications.add(new NotificationsBuilder().setCNotification(n).build());
return State.RP_IN;
}
- // fall-through
+ // fallthrough
case NOTIFICATION_IN:
- // fall-through
case END:
return State.END;
default:
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.open.object.Open;
/**
- * Parser for {@link OpenMessage}
+ * Parser for {@link OpenMessage}.
*/
public class PCEPOpenMessageParser extends AbstractMessageParser {
@Override
public void serializeMessage(final Message message, final ByteBuf out) {
- Preconditions.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(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.");
final ByteBuf buffer = Unpooled.buffer();
serializeObject(open.getOpen(), buffer);
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();
+ 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);
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.of.object.Of;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcc.id.req.object.PccIdReq;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pce.id.object.PceId;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcrep.message.PcrepMessage;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcrep.message.PcrepMessageBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcrep.message.pcrep.message.Replies;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcrep.message.pcrep.message.RepliesBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.vendor.information.objects.VendorInformationObject;
/**
- * Parser for {@link Pcrep}
+ * Parser for {@link Pcrep}.
*/
public class PCEPReplyMessageParser extends AbstractMessageParser {
@Override
public void serializeMessage(final Message message, final ByteBuf out) {
- Preconditions.checkArgument(message instanceof Pcrep, "Wrong instance of Message. Passed instance of %s. Need Pcrep.", message.getClass());
- final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcrep.message.PcrepMessage repMsg = ((Pcrep) message).getPcrepMessage();
- Preconditions.checkArgument(repMsg.getReplies() != null && !repMsg.getReplies().isEmpty(), "Replies cannot be null or empty.");
+ Preconditions.checkArgument(message instanceof Pcrep,
+ "Wrong instance of Message. Passed instance of %s. Need Pcrep.", message.getClass());
+ final PcrepMessage repMsg = ((Pcrep) message).getPcrepMessage();
+ Preconditions.checkArgument(repMsg.getReplies() != null && !repMsg.getReplies().isEmpty(),
+ "Replies cannot be null or empty.");
final ByteBuf buffer = Unpooled.buffer();
for (final Replies reply : repMsg.getReplies()) {
Preconditions.checkArgument(reply.getRp() != null, "Reply must contain RP object.");
serializeMonitoringMetrics(reply, buffer);
}
- private void serializeFailure(final FailureCase f, final ByteBuf buffer) {
- if (f == null) {
+ private void serializeFailure(final FailureCase failure, final ByteBuf buffer) {
+ if (failure == null) {
return;
}
- serializeObject(f.getNoPath(), buffer);
- serializeObject(f.getLspa(), buffer);
- serializeObject(f.getBandwidth(), buffer);
- if (f.getMetrics() != null) {
- for (final Metrics m : f.getMetrics()) {
+ serializeObject(failure.getNoPath(), buffer);
+ serializeObject(failure.getLspa(), buffer);
+ serializeObject(failure.getBandwidth(), buffer);
+ if (failure.getMetrics() != null) {
+ for (final Metrics m : failure.getMetrics()) {
serializeObject(m.getMetric(), buffer);
}
}
- serializeObject(f.getIro(), buffer);
+ serializeObject(failure.getIro(), buffer);
}
- private void serializeSuccess(final SuccessCase s, final ByteBuf buffer) {
- if (s == null || s.getSuccess() == null) {
+ private void serializeSuccess(final SuccessCase success, final ByteBuf buffer) {
+ if (success == null || success.getSuccess() == null) {
return;
}
- for (final Paths p : s.getSuccess().getPaths()) {
+ for (final Paths p : success.getSuccess().getPaths()) {
serializeObject(p.getEro(), buffer);
serializeObject(p.getLspa(), buffer);
serializeObject(p.getOf(), buffer);
}
serializeObject(p.getIro(), buffer);
}
- serializeVendorInformationObjects(s.getSuccess().getVendorInformationObject(), buffer);
+ serializeVendorInformationObjects(success.getSuccess().getVendorInformationObject(), buffer);
}
private void serializeMonitoring(final Replies reply, final ByteBuf buffer) {
return new PcrepBuilder().setPcrepMessage(new PcrepMessageBuilder().setReplies(replies).build()).build();
}
- protected Replies getValidReply(final List<Object> objects, final List<Message> errors) throws PCEPDeserializerException {
+ protected Replies getValidReply(final List<Object> objects, final List<Message> errors)
+ throws PCEPDeserializerException {
Object object = objects.remove(0);
if (!(object instanceof Rp)) {
errors.add(createErrorMsg(PCEPErrors.RP_MISSING, Optional.empty()));
private Result handleNoPath(final NoPath noPath, final List<Object> objects) {
objects.remove(0);
- final FailureCaseBuilder builder = new FailureCaseBuilder();
- builder.setNoPath(noPath);
+ final FailureCaseBuilder builder = new FailureCaseBuilder().setNoPath(noPath);
while (!objects.isEmpty() && !(objects.get(0) instanceof PceId)) {
this.parseAttributes(builder, objects);
}
builder.setLspa((Lspa) obj);
return State.LSPA_IN;
}
- // fall-through
+ // fallthrough
case LSPA_IN:
if (obj instanceof Bandwidth) {
builder.setBandwidth((Bandwidth) obj);
return State.BANDWIDTH_IN;
}
- // fall-through
+ // fallthrough
case BANDWIDTH_IN:
if (obj instanceof Metric) {
pathMetrics.add(new MetricsBuilder().setMetric((Metric) obj).build());
return State.BANDWIDTH_IN;
}
- // fall-through
+ // fallthrough
case METRIC_IN:
if (obj instanceof Iro) {
builder.setIro((Iro) obj);
return State.IRO_IN;
}
- // fall-through
+ // fallthrough
case IRO_IN:
- // fall-through
case END:
return State.END;
default:
}
}
- protected void parsePath(final PathsBuilder builder, final List<Object> objects) {
- final List<Metrics> pathMetrics = new ArrayList<>();
-
- Object obj;
- State state = State.INIT;
- while (!objects.isEmpty() && !state.equals(State.END)) {
- obj = objects.get(0);
- state = insertObject(state, obj, builder, pathMetrics);
- if (!state.equals(State.END)) {
- objects.remove(0);
- }
- }
- if (!pathMetrics.isEmpty()) {
- builder.setMetrics(pathMetrics);
- }
- }
-
private static State insertObject(final State state, final Object obj, final PathsBuilder builder,
final List<Metrics> pathMetrics) {
switch (state) {
builder.setLspa((Lspa) obj);
return State.LSPA_IN;
}
- // fall-through
+ // fallthrough
case LSPA_IN:
if (obj instanceof Of) {
builder.setOf((Of) obj);
return State.OF_IN;
}
- // fall-through
+ // fallthrough
case OF_IN:
if (obj instanceof Bandwidth) {
builder.setBandwidth((Bandwidth) obj);
return State.BANDWIDTH_IN;
}
- // fall-through
+ // fallthrough
case BANDWIDTH_IN:
if (obj instanceof Metric) {
pathMetrics.add(new MetricsBuilder().setMetric((Metric) obj).build());
return State.BANDWIDTH_IN;
}
- // fall-through
+ // fallthrough
case METRIC_IN:
if (obj instanceof Iro) {
builder.setIro((Iro) obj);
return State.IRO_IN;
}
- // fall-through
+ // fallthrough
case IRO_IN:
- // fall-through
case END:
return State.END;
default:
}
}
+ protected void parsePath(final PathsBuilder builder, final List<Object> objects) {
+ final List<Metrics> pathMetrics = new ArrayList<>();
+
+ Object obj;
+ State state = State.INIT;
+ while (!objects.isEmpty() && !state.equals(State.END)) {
+ obj = objects.get(0);
+ state = insertObject(state, obj, builder, pathMetrics);
+ if (!state.equals(State.END)) {
+ objects.remove(0);
+ }
+ }
+ if (!pathMetrics.isEmpty()) {
+ builder.setMetrics(pathMetrics);
+ }
+ }
+
private enum State {
INIT, LSPA_IN, OF_IN, BANDWIDTH_IN, METRIC_IN, IRO_IN, END
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.vendor.information.objects.VendorInformationObject;
/**
- * Parser for {@link Pcreq}
+ * Parser for {@link Pcreq}.
*/
public class PCEPRequestMessageParser extends AbstractMessageParser {
@Override
public void serializeMessage(final Message message, final ByteBuf out) {
- Preconditions.checkArgument(message instanceof Pcreq, "Wrong instance of Message. Passed instance of %s. Need Pcreq.", message.getClass());
+ Preconditions.checkArgument(message instanceof Pcreq,
+ "Wrong instance of Message. Passed instance of %s. Need Pcreq.", message.getClass());
final PcreqMessage msg = ((Pcreq) message).getPcreqMessage();
- Preconditions.checkArgument(msg.getRequests() != null && !msg.getRequests().isEmpty(), "Requests cannot be null or empty.");
+ Preconditions.checkArgument(msg.getRequests() != null && !msg.getRequests().isEmpty(),
+ "Requests cannot be null or empty.");
final ByteBuf buffer = Unpooled.buffer();
if (msg.getMonitoringRequest() != null) {
serializeMonitoringRequest(msg.getMonitoringRequest(), buffer);
serializeObject(s.getGc(), buffer);
serializeObject(s.getXro(), buffer);
if (s.getMetric() != null) {
- for (final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcreq.message.pcreq.message.svec.Metric m : s.getMetric()) {
+ for (final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcreq
+ .message.pcreq.message.svec.Metric m : s.getMetric()) {
serializeObject(m.getMetric(), buffer);
}
}
}
@Override
- protected Message validate(final List<Object> objects, final List<Message> errors) throws PCEPDeserializerException {
+ protected Message validate(final List<Object> objects, final List<Message> errors)
+ throws PCEPDeserializerException {
Preconditions.checkArgument(objects != null, "Passed list can't be null.");
if (objects.isEmpty()) {
throw new PCEPDeserializerException("Pcrep message cannot be empty.");
}
- final PcreqMessageBuilder mBuilder = new PcreqMessageBuilder();
- mBuilder.setMonitoringRequest(getMonitoring(objects));
+ final PcreqMessageBuilder mBuilder = new PcreqMessageBuilder().setMonitoringRequest(getMonitoring(objects));
final List<Svec> svecs = getSvecs(objects);
if (!svecs.isEmpty()) {
mBuilder.setSvec(svecs);
}
// expansion
if (rpObj.isPathKey() && objects.get(0) instanceof PathKey) {
- rBuilder.setPathKeyExpansion(new PathKeyExpansionBuilder().setPathKey((PathKey) objects.get(0)).build());
+ rBuilder.setPathKeyExpansion(
+ new PathKeyExpansionBuilder().setPathKey((PathKey) objects.get(0)).build());
}
if (objects.isEmpty() || !(objects.get(0) instanceof EndpointsObj)) {
builder.setVendorInformationObject(viObjects);
}
- if (rp.isReoptimization()
- && builder.getBandwidth() != null
+ if (rp.isReoptimization() && builder.getBandwidth() != null
&& !builder.getReportedRoute().getReoptimizationBandwidth().getBandwidth().equals(
- new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.network.concepts.rev131125.Bandwidth(new byte[] { 0 }))
+ new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.network
+ .concepts.rev131125.Bandwidth(new byte[] { 0 }))
&& builder.getReportedRoute().getRro() == null) {
errors.add(createErrorMsg(PCEPErrors.RRO_MISSING, Optional.of(rp)));
return null;
}
return P2PState.REPORTED_IN;
}
- // fall-through
+ // fallthrough
case REPORTED_IN:
if (obj instanceof VendorInformationObject) {
viObjects.add((VendorInformationObject) obj);
return P2PState.REPORTED_IN;
}
- // fall-through
+ // fallthrough
case VENDOR_INFO_LIST:
if (obj instanceof LoadBalancing) {
builder.setLoadBalancing((LoadBalancing) obj);
return P2PState.LOAD_BIN;
}
- // fall-through
+ // fallthrough
case LOAD_BIN:
if (obj instanceof Lspa) {
builder.setLspa((Lspa) obj);
return P2PState.LSPA_IN;
}
- // fall-through
+ // fallthrough
case LSPA_IN:
if (obj instanceof Bandwidth) {
builder.setBandwidth((Bandwidth) obj);
return P2PState.BANDWIDTH_IN;
}
- // fall-through
+ // fallthrough
case BANDWIDTH_IN:
if (obj instanceof Metric) {
metrics.add(new MetricsBuilder().setMetric((Metric) obj).build());
return P2PState.BANDWIDTH_IN;
}
- // fall-through
+ // fallthrough
case METRIC_IN:
if (obj instanceof Iro) {
builder.setIro((Iro) obj);
return P2PState.IRO_IN;
}
- // fall-through
+ // fallthrough
case IRO_IN:
if (obj instanceof Rro) {
builder.setRro((Rro) obj);
return P2PState.RRO_IN;
}
- // fall-through
+ // fallthrough
case RRO_IN:
if (obj instanceof Xro) {
builder.setXro((Xro) obj);
return P2PState.XRO_IN;
}
- // fall-through
+ // fallthrough
case XRO_IN:
if (obj instanceof Of) {
builder.setOf((Of) obj);
return P2PState.OF_IN;
}
- // fall-through
+ // fallthrough
case OF_IN:
if (obj instanceof ClassType) {
final ClassType classType = (ClassType) obj;
}
return P2PState.CT_IN;
}
- // fall-through
+ // fallthrough
case CT_IN:
- // fall-through
case END:
return P2PState.END;
default:
}
}
+ private static SvecState insertP2PObject(final SvecState state, final Object obj, final SvecBuilder builder,
+ final List<Metrics> metrics, final List<VendorInformationObject> viObjects) {
+ switch (state) {
+ case INIT:
+ if (obj instanceof Of) {
+ builder.setOf((Of) obj);
+ return SvecState.OF_IN;
+ }
+ // fallthrough
+ case OF_IN:
+ if (obj instanceof Gc) {
+ builder.setGc((Gc) obj);
+ return SvecState.GC_IN;
+ }
+ // fallthrough
+ case GC_IN:
+ if (obj instanceof Xro) {
+ builder.setXro((Xro) obj);
+ return SvecState.XRO_IN;
+ }
+ // fallthrough
+ case XRO_IN:
+ if (obj instanceof Metric) {
+ metrics.add(new MetricsBuilder().setMetric((Metric) obj).build());
+ return SvecState.XRO_IN;
+ }
+ // fallthrough
+ case METRIC_IN:
+ if (obj instanceof VendorInformationObject) {
+ viObjects.add((VendorInformationObject) obj);
+ return SvecState.METRIC_IN;
+ }
+ // fallthrough
+ case VENDOR_INFO:
+ case END:
+ return SvecState.END;
+ default:
+ return state;
+ }
+ }
+
private enum P2PState {
- INIT, REPORTED_IN, VENDOR_INFO_LIST, LOAD_BIN, LSPA_IN, BANDWIDTH_IN, METRIC_IN, IRO_IN, RRO_IN, XRO_IN, OF_IN, CT_IN, END
+ INIT,
+ REPORTED_IN,
+ VENDOR_INFO_LIST,
+ LOAD_BIN, LSPA_IN,
+ BANDWIDTH_IN,
+ METRIC_IN,
+ IRO_IN,
+ RRO_IN,
+ XRO_IN,
+ OF_IN,
+ CT_IN,
+ END
}
- protected SegmentComputation getP2MPSegmentComputation(final List<Object> objects,
- final List<Message> errors,
- final Rp rp) {
- final List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcreq.message.pcreq.message.requests.segment.computation.p2mp.Metric> metrics =
- new ArrayList<>();
+ protected SegmentComputation getP2MPSegmentComputation(final List<Object> objects, final List<Message> errors,
+ final Rp rp) {
+ final List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcreq.message
+ .pcreq.message.requests.segment.computation.p2mp.Metric> metrics = new ArrayList<>();
final P2mpBuilder builder = new P2mpBuilder();
final List<EndpointRroPair> epRros = new ArrayList<>();
return true;
}
- private static P2MPState insertP2MPObject(final P2MPState p2MPState,
- final List<Object> objects,
- final P2mpBuilder builder,
- final List<EndpointRroPair> epRros,
- final List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcreq.message.pcreq.message.requests.segment.computation.p2mp.Metric> metrics,
- final List<Message> errors,
- final Rp rp) {
+ private static P2MPState insertP2MPObject(final P2MPState p2MPState, final List<Object> objects,
+ final P2mpBuilder builder, final List<EndpointRroPair> epRros,
+ final List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcreq
+ .message.pcreq.message.requests.segment.computation.p2mp.Metric> metrics,
+ final List<Message> errors, final Rp rp) {
final Object obj = objects.get(0);
switch (p2MPState) {
case RP:
epRros.add(rroPairBuilder.setRros(new ArrayList<>()).build());
return P2MPState.ENDPOINT;
}
- // fall-through
+ // fallthrough
case ENDPOINT:
if (obj instanceof Rro || obj instanceof Srro) {
if (obj.isProcessingRule()) {
}
return P2MPState.ENDPOINT;
}
- // fall-through
+ // fallthrough
case RRO_SRRO:
if (obj instanceof ReoptimizationBandwidth) {
final int lastIndex = epRros.size() - 1;
.build());
return P2MPState.BANDWIDTH;
}
- // fall-through
+ // fallthrough
case BANDWIDTH:
if (obj instanceof EndpointsObj) {
return P2MPState.RP;
builder.setOf((Of) obj);
return P2MPState.OF_IN;
}
- // fall-through
+ // fallthrough
case OF_IN:
if (obj instanceof Lspa) {
builder.setLspa((Lspa) obj);
return P2MPState.LSPA_IN;
}
- // fall-through
+ // fallthrough
case LSPA_IN:
if (obj instanceof Bandwidth) {
builder.setBandwidth((Bandwidth) obj);
return P2MPState.BANDWIDTH_IN;
}
- // fall-through
+ // fallthrough
case BANDWIDTH_IN:
if (obj instanceof Metric) {
metrics.add(new MetricBuilder().setMetric((Metric) obj).build());
return P2MPState.BANDWIDTH_IN;
}
- // fall-through
+ // fallthrough
case METRIC_IN:
if (obj instanceof Iro) {
builder.setIroBncChoice(new IroCaseBuilder().setIro((Iro) obj).build());
.setNonBranchNodeList((NonBranchNodeList) obj).build()).build());
return P2MPState.IRO_BNC_IN;
}
- // fall-through
+ // fallthrough
case IRO_BNC_IN:
if (obj instanceof LoadBalancing) {
builder.setLoadBalancing((LoadBalancing) obj);
return P2MPState.LOAD_BIN;
}
- // fall-through
+ // fallthrough
case LOAD_BIN:
- // fall-through
case END:
- // fall-through
default:
return P2MPState.END;
}
private static Svec getValidSvec(final SvecBuilder builder, final List<Object> objects) {
Preconditions.checkArgument(objects != null && !objects.isEmpty(), "Passed list can't be null or empty.");
- if (objects.get(0) instanceof org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.svec.object.Svec) {
- builder.setSvec((org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.svec.object.Svec) objects.get(0));
+ if (objects.get(0) instanceof org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types
+ .rev181109.svec.object.Svec) {
+ builder.setSvec((org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109
+ .svec.object.Svec) objects.get(0));
objects.remove(0);
} else {
return null;
return builder.build();
}
- private static SvecState insertP2PObject(final SvecState state, final Object obj, final SvecBuilder builder,
- final List<Metrics> metrics, final List<VendorInformationObject> viObjects) {
- switch (state) {
- case INIT:
- if (obj instanceof Of) {
- builder.setOf((Of) obj);
- return SvecState.OF_IN;
- }
- // fall-through
- case OF_IN:
- if (obj instanceof Gc) {
- builder.setGc((Gc) obj);
- return SvecState.GC_IN;
- }
- // fall-through
- case GC_IN:
- if (obj instanceof Xro) {
- builder.setXro((Xro) obj);
- return SvecState.XRO_IN;
- }
- // fall-through
- case XRO_IN:
- if (obj instanceof Metric) {
- metrics.add(new MetricsBuilder().setMetric((Metric) obj).build());
- return SvecState.XRO_IN;
- }
- // fall-through
- case METRIC_IN:
- if (obj instanceof VendorInformationObject) {
- viObjects.add((VendorInformationObject) obj);
- return SvecState.METRIC_IN;
- }
- // fall-through
- case VENDOR_INFO:
- // fall-through
- case END:
- return SvecState.END;
- default:
- return state;
- }
- }
-
private enum SvecState {
INIT, OF_IN, GC_IN, XRO_IN, METRIC_IN, VENDOR_INFO, END
}
@Override
public void serializeMessage(final Message message, final ByteBuf out) {
- Preconditions.checkArgument(message instanceof StartTlsMessage, "Wrong instance of Message. Passed instance of %s. Need StartTlsMessage.", message.getClass());
+ Preconditions.checkArgument(message instanceof StartTlsMessage,
+ "Wrong instance of Message. Passed instance of %s. Need StartTlsMessage.", message.getClass());
MessageUtil.formatMessage(TYPE, Unpooled.EMPTY_BUFFER, out);
}
@Override
- protected StartTlsMessage validate(final List<Object> objects, final List<Message> errors) throws PCEPDeserializerException {
+ protected StartTlsMessage validate(final List<Object> objects, final List<Message> errors)
+ throws PCEPDeserializerException {
if (objects != null && !objects.isEmpty()) {
throw new PCEPDeserializerException("StartTLS message should not contain any objects.");
}
Preconditions.checkArgument(buffer != null, "Array of bytes is mandatory. Can't be null.");
final List<Subobject> subs = new ArrayList<>();
while (buffer.isReadable()) {
- final boolean loose = ((buffer.getUnsignedByte(buffer.readerIndex()) & (1 << Values.FIRST_BIT_OFFSET)) != 0) ? true : false;
- final int type = (buffer.readUnsignedByte() & Values.BYTE_MAX_VALUE_BYTES) & ~(1 << Values.FIRST_BIT_OFFSET);
+ final boolean loose = ((buffer.getUnsignedByte(buffer.readerIndex()) & (1 << Values.FIRST_BIT_OFFSET)) != 0)
+ ? true
+ : false;
+ final int type = (buffer.readUnsignedByte() & Values.BYTE_MAX_VALUE_BYTES)
+ & ~(1 << Values.FIRST_BIT_OFFSET);
final int length = buffer.readUnsignedByte() - HEADER_LENGTH;
if (length > buffer.readableBytes()) {
- throw new PCEPDeserializerException("Wrong length specified. Passed: " + length + "; Expected: <= "
- + buffer.readableBytes());
+ throw new PCEPDeserializerException(
+ "Wrong length specified. Passed: " + length + "; Expected: <= " + buffer.readableBytes());
}
LOG.debug("Attempt to parse subobject from bytes: {}", ByteBufUtil.hexDump(buffer));
final Subobject sub = this.subobjReg.parseSubobject(type, buffer.readSlice(length), loose);
@Override
public void serializeObject(final Object object, final ByteBuf buffer) {
- Preconditions.checkArgument(object instanceof PccIdReq, "Wrong instance of PCEPObject. Passed %s. Needed PccIdReqObject.", object.getClass());
+ Preconditions.checkArgument(object instanceof PccIdReq,
+ "Wrong instance of PCEPObject. Passed %s. Needed PccIdReqObject.", object.getClass());
final PccIdReq pccIdReq = (PccIdReq) object;
if (pccIdReq.getIpAddress().getIpv4AddressNoZone() != null) {
final ByteBuf body = Unpooled.buffer(Ipv4Util.IP4_LENGTH);
ByteBufWriteUtil.writeIpv4Address(pccIdReq.getIpAddress().getIpv4AddressNoZone(), body);
- ObjectUtil.formatSubobject(getObjectType(), getObjectClass(), object.isProcessingRule(), object.isIgnore(), body, buffer);
+ ObjectUtil.formatSubobject(getObjectType(), getObjectClass(), object.isProcessingRule(), object.isIgnore(),
+ body, buffer);
} else if (pccIdReq.getIpAddress().getIpv6AddressNoZone() != null) {
final ByteBuf body = Unpooled.buffer(Ipv6Util.IPV6_LENGTH);
ByteBufWriteUtil.writeIpv6Address(pccIdReq.getIpAddress().getIpv6AddressNoZone(), body);
- ObjectUtil.formatSubobject(getObjectType(), getObjectClass(), object.isProcessingRule(), object.isIgnore(), body, buffer);
+ ObjectUtil.formatSubobject(getObjectType(), getObjectClass(), object.isProcessingRule(), object.isIgnore(),
+ body, buffer);
}
}
}
private static final int HEADER_LENGTH = 2;
- protected AbstractRROWithSubobjectsParser(final RROSubobjectRegistry subobjReg,
- final int objectClass, final int objectType) {
+ protected AbstractRROWithSubobjectsParser(final RROSubobjectRegistry subobjReg, final int objectClass,
+ final int objectType) {
super(objectClass, objectType);
this.subobjReg = requireNonNull(subobjReg);
}
protected List<Subobject> parseSubobjects(final ByteBuf buffer) throws PCEPDeserializerException {
- Preconditions.checkArgument(buffer != null && buffer.isReadable(), "Array of bytes is mandatory. Can't be null or empty.");
+ Preconditions.checkArgument(buffer != null && buffer.isReadable(),
+ "Array of bytes is mandatory. Can't be null or empty.");
final List<Subobject> subs = new ArrayList<>();
while (buffer.isReadable()) {
final int type = buffer.readUnsignedByte();
final int length = buffer.readUnsignedByte() - HEADER_LENGTH;
if (length > buffer.readableBytes()) {
- throw new PCEPDeserializerException("Wrong length specified. Passed: " + length + "; Expected: <= "
- + buffer.readableBytes());
+ throw new PCEPDeserializerException(
+ "Wrong length specified. Passed: " + length + "; Expected: <= " + buffer.readableBytes());
}
LOG.debug("Attempt to parse subobject from bytes: {}", ByteBufUtil.hexDump(buffer));
final Subobject sub = this.subobjReg.parseSubobject(type, buffer.readSlice(length));
}
protected final void serializeSubobject(final List<Subobject> subobjects, final ByteBuf buffer) {
- Preconditions.checkArgument(subobjects != null && !subobjects.isEmpty(), "RRO must contain at least one subobject.");
+ Preconditions.checkArgument(subobjects != null && !subobjects.isEmpty(),
+ "RRO must contain at least one subobject.");
for (final Subobject subobject : subobjects) {
this.subobjReg.serializeSubobject(subobject, buffer);
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.vendor.information.objects.VendorInformationObjectBuilder;
public abstract class AbstractVendorInformationObjectParser extends CommonObjectParser
- implements ObjectSerializer, EnterpriseSpecificInformationParser {
+ implements ObjectSerializer, EnterpriseSpecificInformationParser {
public AbstractVendorInformationObjectParser(final int objectClass, final int objectType) {
super(objectClass, objectType);
@Override
public final Object parseObject(final ObjectHeader header, final ByteBuf buffer) throws PCEPDeserializerException {
- Preconditions.checkArgument(buffer != null && buffer.isReadable(), "Array of bytes is mandatory. Can't be null or empty.");
+ Preconditions.checkArgument(buffer != null && buffer.isReadable(),
+ "Array of bytes is mandatory. Can't be null or empty.");
final VendorInformationObjectBuilder builder = new VendorInformationObjectBuilder();
builder.setEnterpriseNumber(new EnterpriseNumber(getEnterpriseNumber()));
builder.setEnterpriseSpecificInformation(parseEnterpriseSpecificInformation(buffer));
@Override
public final void serializeObject(final Object object, final ByteBuf buffer) {
- Preconditions.checkArgument(object instanceof VendorInformationObject, "Wrong instance of PCEPObject. Passed %s. Needed VendorInformationObject.", object.getClass());
+ Preconditions.checkArgument(object instanceof VendorInformationObject,
+ "Wrong instance of PCEPObject. Passed %s. Needed VendorInformationObject.", object.getClass());
final ByteBuf body = Unpooled.buffer();
writeUnsignedInt(getEnterpriseNumber().getValue(), body);
- serializeEnterpriseSpecificInformation(((VendorInformationObject) object).getEnterpriseSpecificInformation(), body);
- ObjectUtil.formatSubobject(VENDOR_INFORMATION_OBJECT_TYPE, VENDOR_INFORMATION_OBJECT_CLASS, object.isProcessingRule(), object.isIgnore(), body, buffer);
+ serializeEnterpriseSpecificInformation(((VendorInformationObject) object).getEnterpriseSpecificInformation(),
+ body);
+ ObjectUtil.formatSubobject(VENDOR_INFORMATION_OBJECT_TYPE, VENDOR_INFORMATION_OBJECT_CLASS,
+ object.isProcessingRule(), object.isIgnore(), body, buffer);
}
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.bandwidth.object.BandwidthBuilder;
/**
- * Parser for Bandwidth
+ * Parser for Bandwidth.
*/
public final class PCEPBandwidthObjectParser extends CommonObjectParser implements ObjectSerializer {
Preconditions.checkArgument(bytes != null && bytes.isReadable(),
"Array of bytes is mandatory. Can't be null or empty.");
if (bytes.readableBytes() != BANDWIDTH_F_LENGTH) {
- throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: "
- + bytes.readableBytes() + "; Expected: " + BANDWIDTH_F_LENGTH + ".");
+ throw new PCEPDeserializerException(
+ "Wrong length of array of bytes. Passed: " + bytes.readableBytes()
+ + "; Expected: " + BANDWIDTH_F_LENGTH + ".");
}
- final BandwidthBuilder builder = new BandwidthBuilder();
- builder.setIgnore(header.isIgnore());
- builder.setProcessingRule(header.isProcessingRule());
- builder.setBandwidth(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.network.concepts
- .rev131125.Bandwidth(ByteArray.getAllBytes(bytes)));
+ final BandwidthBuilder builder = new BandwidthBuilder()
+ .setIgnore(header.isIgnore())
+ .setProcessingRule(header.isProcessingRule())
+ .setBandwidth(
+ new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.network.concepts.rev131125
+ .Bandwidth(ByteArray.getAllBytes(bytes)));
return builder.build();
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.ObjectHeader;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.classtype.object.ClassType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.classtype.object.ClassTypeBuilder;
+import org.opendaylight.yangtools.yang.common.Uint8;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
- * Parser for {@link ClassType}
+ * Parser for {@link ClassType}.
*/
public final class PCEPClassTypeObjectParser extends CommonObjectParser implements ObjectSerializer {
throw new PCEPDeserializerException("Size of byte array doesn't match defined size. Expected: " + SIZE
+ "; Passed: " + bytes.readableBytes());
}
- final ClassTypeBuilder builder = new ClassTypeBuilder();
- builder.setIgnore(header.isIgnore());
- builder.setProcessingRule(header.isProcessingRule());
-
final short ct = (short) bytes.readUnsignedInt();
- builder.setClassType(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.ClassType(ct));
+ final ClassTypeBuilder builder = new ClassTypeBuilder()
+ .setIgnore(header.isIgnore())
+ .setProcessingRule(header.isProcessingRule())
+ .setClassType(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109
+ .ClassType(Uint8.valueOf(ct)));
- final Object obj = builder.build();
if (ct < 0 || ct > Byte.SIZE) {
LOG.debug("Invalid class type {}", ct);
- return new UnknownObject(PCEPErrors.INVALID_CT, obj);
+ return new UnknownObject(PCEPErrors.INVALID_CT, builder.build());
}
- return obj;
+ return builder.build();
}
@Override
object.getClass());
final ByteBuf body = Unpooled.buffer(SIZE);
body.writeZero(SIZE - 1);
- final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.ClassType classType = ((ClassType) object).getClassType();
+ final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109
+ .ClassType classType = ((ClassType) object).getClassType();
checkArgument(classType != null, "ClassType is mandatory.");
writeUnsignedByte(classType.getValue(), body);
ObjectUtil.formatSubobject(TYPE, CLASS, object.isProcessingRule(), object.isIgnore(), body, buffer);
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.close.object.c.close.Tlvs;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.close.object.c.close.TlvsBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.vendor.information.tlvs.VendorInformationTlv;
+import org.opendaylight.yangtools.yang.common.Uint8;
/**
- * Parser for {@link org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.close.object.CClose PCEPCloseObject}
+ * Parser for {@link
+ * org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.close.object.CClose
+ * PCEPCloseObject
+ * }.
*/
public final class PCEPCloseObjectParser extends AbstractObjectWithTlvsParser<TlvsBuilder> {
@Override
public CClose parseObject(final ObjectHeader header, final ByteBuf bytes) throws PCEPDeserializerException {
- checkArgument(bytes != null && bytes.isReadable(),
- "Array of bytes is mandatory. Cannot be null or empty.");
- final CCloseBuilder builder = new CCloseBuilder();
- builder.setIgnore(header.isIgnore());
- builder.setProcessingRule(header.isProcessingRule());
+ checkArgument(bytes != null && bytes.isReadable(), "Array of bytes is mandatory. Cannot be null or empty.");
bytes.skipBytes(FLAGS_F_LENGTH + RESERVED);
- builder.setReason(ByteBufUtils.readUint8(bytes));
+ final Uint8 reason = ByteBufUtils.readUint8(bytes);
final TlvsBuilder tlvsBuilder = new TlvsBuilder();
parseTlvs(tlvsBuilder, bytes.slice());
- builder.setTlvs(tlvsBuilder.build());
+ final CCloseBuilder builder = new CCloseBuilder()
+ .setIgnore(header.isIgnore())
+ .setProcessingRule(header.isProcessingRule())
+ .setReason(reason)
+ .setTlvs(tlvsBuilder.build());
return builder.build();
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.vendor.information.tlvs.VendorInformationTlv;
/**
- * Parser for {@link ErrorObject}
+ * Parser for {@link ErrorObject}.
*/
public final class PCEPErrorObjectParser extends AbstractObjectWithTlvsParser<ErrorObjectBuilder> {
public ErrorObject parseObject(final ObjectHeader header, final ByteBuf bytes) throws PCEPDeserializerException {
Preconditions.checkArgument(bytes != null && bytes.isReadable(),
"Array of bytes is mandatory. Can't be null or empty.");
- final ErrorObjectBuilder builder = new ErrorObjectBuilder();
- builder.setIgnore(header.isIgnore());
- builder.setProcessingRule(header.isProcessingRule());
bytes.skipBytes(FLAGS_F_LENGTH + RESERVED);
- builder.setType(ByteBufUtils.readUint8(bytes));
- builder.setValue(ByteBufUtils.readUint8(bytes));
+ final ErrorObjectBuilder builder = new ErrorObjectBuilder()
+ .setIgnore(header.isIgnore())
+ .setProcessingRule(header.isProcessingRule())
+ .setType(ByteBufUtils.readUint8(bytes))
+ .setValue(ByteBufUtils.readUint8(bytes));
parseTlvs(builder, bytes.slice());
return builder.build();
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.exclude.route.object.XroBuilder;
/**
- * Parser for {@link Xro}
+ * Parser for {@link Xro}.
*/
public final class PCEPExcludeRouteObjectParser extends AbstractXROWithSubobjectsParser {
public Xro parseObject(final ObjectHeader header, final ByteBuf bytes) throws PCEPDeserializerException {
Preconditions.checkArgument(bytes != null && bytes.isReadable(),
"Array of bytes is mandatory. Can't be null or empty.");
- final XroBuilder builder = new XroBuilder();
- builder.setIgnore(header.isIgnore());
- builder.setProcessingRule(header.isProcessingRule());
bytes.skipBytes(FLAGS_OFFSET);
- builder.setFlags(new Flags(bytes.readBoolean()));
- builder.setSubobject(parseSubobjects(bytes.slice()));
+ final XroBuilder builder = new XroBuilder()
+ .setIgnore(header.isIgnore())
+ .setProcessingRule(header.isProcessingRule())
+ .setFlags(new Flags(bytes.readBoolean()))
+ .setSubobject(parseSubobjects(bytes.slice()));
return builder.build();
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.reoptimization.bandwidth.object.ReoptimizationBandwidthBuilder;
/**
- * Parser for Bandwidth
+ * Parser for Bandwidth.
*/
public class PCEPExistingBandwidthObjectParser extends CommonObjectParser implements ObjectSerializer {
}
@Override
- public ReoptimizationBandwidth parseObject(final ObjectHeader header, final ByteBuf bytes) throws PCEPDeserializerException {
- Preconditions.checkArgument(bytes != null && bytes.isReadable(), "Array of bytes is mandatory. Can't be null or empty.");
+ public ReoptimizationBandwidth parseObject(final ObjectHeader header, final ByteBuf bytes)
+ throws PCEPDeserializerException {
+ Preconditions.checkArgument(bytes != null && bytes.isReadable(),
+ "Array of bytes is mandatory. Can't be null or empty.");
if (bytes.readableBytes() != PCEPBandwidthObjectParser.BANDWIDTH_F_LENGTH) {
- throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: " + bytes.readableBytes() + "; Expected: "
- + PCEPBandwidthObjectParser.BANDWIDTH_F_LENGTH + ".");
+ throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: " + bytes.readableBytes()
+ + "; Expected: " + PCEPBandwidthObjectParser.BANDWIDTH_F_LENGTH + ".");
}
- final ReoptimizationBandwidthBuilder builder = new ReoptimizationBandwidthBuilder();
- builder.setIgnore(header.isIgnore());
- builder.setProcessingRule(header.isProcessingRule());
- builder.setBandwidth(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.network.concepts.rev131125.Bandwidth(ByteArray.getAllBytes(bytes)));
+ final ReoptimizationBandwidthBuilder builder = new ReoptimizationBandwidthBuilder()
+ .setIgnore(header.isIgnore())
+ .setProcessingRule(header.isProcessingRule())
+ .setBandwidth(
+ new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.network.concepts.rev131125
+ .Bandwidth(ByteArray.getAllBytes(bytes)));
return builder.build();
}
@Override
- public void serializeObject(final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.Object object, final ByteBuf buffer) {
- Preconditions.checkArgument(object instanceof ReoptimizationBandwidth, "Wrong instance of PCEPObject. Passed "
- + "%s. Needed ReoptimizationBandwidthObject.", object.getClass());
+ public void serializeObject(
+ final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.Object object,
+ final ByteBuf buffer) {
+ Preconditions.checkArgument(object instanceof ReoptimizationBandwidth,
+ "Wrong instance of PCEPObject. Passed " + "%s. Needed ReoptimizationBandwidthObject.",
+ object.getClass());
final ByteBuf body = Unpooled.buffer();
writeFloat32(((ReoptimizationBandwidth) object).getBandwidth(), body);
ObjectUtil.formatSubobject(TYPE, CLASS, object.isProcessingRule(), object.isIgnore(), body, buffer);
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.explicit.route.object.EroBuilder;
/**
- * Parser for {@link Ero}
+ * Parser for {@link Ero}.
*/
public final class PCEPExplicitRouteObjectParser extends AbstractEROWithSubobjectsParser {
public Ero parseObject(final ObjectHeader header, final ByteBuf buffer) throws PCEPDeserializerException {
// Explicit approval of empty ERO
Preconditions.checkArgument(buffer != null, "Array of bytes is mandatory. Can't be null.");
- final EroBuilder builder = new EroBuilder();
- builder.setIgnore(header.isIgnore());
- builder.setProcessingRule(header.isProcessingRule());
- builder.setSubobject(parseSubobjects(buffer));
+ final EroBuilder builder = new EroBuilder()
+ .setIgnore(header.isIgnore())
+ .setProcessingRule(header.isProcessingRule())
+ .setSubobject(parseSubobjects(buffer));
return builder.build();
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.vendor.information.tlvs.VendorInformationTlv;
/**
- * Parser for {@link Gc}
+ * Parser for {@link Gc}.
*/
public class PCEPGlobalConstraintsObjectParser extends AbstractObjectWithTlvsParser<TlvsBuilder> {
@Override
public Gc parseObject(final ObjectHeader header, final ByteBuf bytes) throws PCEPDeserializerException {
checkArgument(bytes != null && bytes.isReadable(), "Array of bytes is mandatory. Cannot be null or empty.");
- final GcBuilder builder = new GcBuilder();
-
- builder.setIgnore(header.isIgnore());
- builder.setProcessingRule(header.isProcessingRule());
-
- builder.setMaxHop(ByteBufUtils.readUint8(bytes));
- builder.setMaxUtilization(ByteBufUtils.readUint8(bytes));
- builder.setMinUtilization(ByteBufUtils.readUint8(bytes));
- builder.setOverBookingFactor(ByteBufUtils.readUint8(bytes));
+ final GcBuilder builder = new GcBuilder()
+ .setIgnore(header.isIgnore())
+ .setProcessingRule(header.isProcessingRule())
+ .setMaxHop(ByteBufUtils.readUint8(bytes))
+ .setMaxUtilization(ByteBufUtils.readUint8(bytes))
+ .setMinUtilization(ByteBufUtils.readUint8(bytes))
+ .setOverBookingFactor(ByteBufUtils.readUint8(bytes));
final TlvsBuilder tlvsBuilder = new TlvsBuilder();
parseTlvs(tlvsBuilder, bytes.slice());
builder.setTlvs(tlvsBuilder.build());
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.include.route.object.iro.SubobjectBuilder;
/**
- * Parser for {@link Iro}
+ * Parser for {@link Iro}.
*/
public final class PCEPIncludeRouteObjectParser extends AbstractEROWithSubobjectsParser {
public Iro parseObject(final ObjectHeader header, final ByteBuf bytes) throws PCEPDeserializerException {
Preconditions.checkArgument(bytes != null && bytes.isReadable(),
"Array of bytes is mandatory. Can't be null or empty.");
- final IroBuilder builder = new IroBuilder();
- builder.setIgnore(header.isIgnore());
- builder.setProcessingRule(header.isProcessingRule());
final List<Subobject> subs = new ArrayList<>();
for (final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.explicit
- .route.object.ero.Subobject s : parseSubobjects(bytes)) {
- subs.add(new SubobjectBuilder().setLoose(s.isLoose()).setSubobjectType(s.getSubobjectType()).build());
+ .route.object.ero.Subobject s : parseSubobjects(bytes)) {
+ subs.add(new SubobjectBuilder()
+ .setLoose(s.isLoose())
+ .setSubobjectType(s.getSubobjectType())
+ .build());
}
- builder.setSubobject(subs);
+ final IroBuilder builder = new IroBuilder()
+ .setIgnore(header.isIgnore())
+ .setProcessingRule(header.isProcessingRule())
+ .setSubobject(subs);
return builder.build();
}
final List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.explicit
.route.object.ero.Subobject> subs = new ArrayList<>();
for (final Subobject s : iro.getSubobject()) {
- subs.add(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109
- .explicit.route.object.ero.SubobjectBuilder().setLoose(
- s.isLoose()).setSubobjectType(s.getSubobjectType()).build());
+ subs.add(
+ new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109
+ .explicit.route.object.ero.SubobjectBuilder()
+ .setLoose(s.isLoose())
+ .setSubobjectType(s.getSubobjectType())
+ .build());
}
serializeSubobject(subs, body);
ObjectUtil.formatSubobject(TYPE, CLASS, object.isProcessingRule(), object.isIgnore(), body, buffer);
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.load.balancing.object.LoadBalancingBuilder;
/**
- * Parser for {@link LoadBalancing}
+ * Parser for {@link LoadBalancing}.
*/
public final class PCEPLoadBalancingObjectParser extends CommonObjectParser implements ObjectSerializer {
throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: "
+ bytes.readableBytes() + "; Expected: " + SIZE + ".");
}
- final LoadBalancingBuilder builder = new LoadBalancingBuilder();
- builder.setIgnore(header.isIgnore());
- builder.setProcessingRule(header.isProcessingRule());
bytes.skipBytes(RESERVED + FLAGS_F_LENGTH);
- builder.setMaxLsp(ByteBufUtils.readUint8(bytes));
- builder.setMinBandwidth(new Bandwidth(ByteArray.readAllBytes(bytes)));
+ final LoadBalancingBuilder builder = new LoadBalancingBuilder()
+ .setIgnore(header.isIgnore())
+ .setProcessingRule(header.isProcessingRule())
+ .setMaxLsp(ByteBufUtils.readUint8(bytes))
+ .setMinBandwidth(new Bandwidth(ByteArray.readAllBytes(bytes)));
return builder.build();
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.AttributeFilter;
/**
- * Parser for {@link Lspa}
+ * Parser for {@link Lspa}.
*/
public class PCEPLspaObjectParser extends AbstractObjectWithTlvsParser<TlvsBuilder> {
@Override
public Lspa parseObject(final ObjectHeader header, final ByteBuf bytes) throws PCEPDeserializerException {
checkArgument(bytes != null && bytes.isReadable(), "Array of bytes is mandatory. Cannot be null or empty.");
- final LspaBuilder builder = new LspaBuilder();
- builder.setIgnore(header.isIgnore());
- builder.setProcessingRule(header.isProcessingRule());
-
- builder.setExcludeAny(new AttributeFilter(ByteBufUtils.readUint32(bytes)));
- builder.setIncludeAll(new AttributeFilter(ByteBufUtils.readUint32(bytes)));
- builder.setIncludeAny(new AttributeFilter(ByteBufUtils.readUint32(bytes)));
- builder.setSetupPriority(ByteBufUtils.readUint8(bytes));
- builder.setHoldPriority(ByteBufUtils.readUint8(bytes));
+ final LspaBuilder builder = new LspaBuilder()
+ .setIgnore(header.isIgnore())
+ .setProcessingRule(header.isProcessingRule())
+ .setExcludeAny(new AttributeFilter(ByteBufUtils.readUint32(bytes)))
+ .setIncludeAll(new AttributeFilter(ByteBufUtils.readUint32(bytes)))
+ .setIncludeAny(new AttributeFilter(ByteBufUtils.readUint32(bytes)))
+ .setSetupPriority(ByteBufUtils.readUint8(bytes))
+ .setHoldPriority(ByteBufUtils.readUint8(bytes));
final BitArray flags = BitArray.valueOf(bytes.readByte());
builder.setLocalProtectionDesired(flags.get(L_FLAG_OFFSET));
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.metric.object.MetricBuilder;
/**
- * Parser for {@link Metric}
+ * Parser for {@link Metric}.
*/
public final class PCEPMetricObjectParser extends CommonObjectParser implements ObjectSerializer {
}
bytes.skipBytes(RESERVED);
final BitArray flags = BitArray.valueOf(bytes.readByte());
- final MetricBuilder builder = new MetricBuilder();
- builder.setIgnore(header.isIgnore());
- builder.setProcessingRule(header.isProcessingRule());
- builder.setBound(flags.get(B_FLAG_OFFSET));
- builder.setComputed(flags.get(C_FLAG_OFFSET));
- builder.setMetricType(ByteBufUtils.readUint8(bytes));
- builder.setValue(new Float32(ByteArray.readBytes(bytes, METRIC_VALUE_F_LENGTH)));
+ final MetricBuilder builder = new MetricBuilder()
+ .setIgnore(header.isIgnore())
+ .setProcessingRule(header.isProcessingRule())
+ .setBound(flags.get(B_FLAG_OFFSET))
+ .setComputed(flags.get(C_FLAG_OFFSET))
+ .setMetricType(ByteBufUtils.readUint8(bytes))
+ .setValue(new Float32(ByteArray.readBytes(bytes, METRIC_VALUE_F_LENGTH)));
return builder.build();
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.monitoring.object.monitoring.Tlvs;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.monitoring.object.monitoring.TlvsBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.vendor.information.tlvs.VendorInformationTlv;
+import org.opendaylight.yangtools.yang.common.Uint32;
/**
- * Parser for {@link Monitoring}
+ * Parser for {@link Monitoring}.
* @see <a href="https://tools.ietf.org/html/rfc5886#section-4.1">Monitoring Object</a>
*
*/
@Override
public Object parseObject(final ObjectHeader header, final ByteBuf buffer) throws PCEPDeserializerException {
checkArgument(buffer != null && buffer.isReadable(), "Array of bytes is mandatory. Cannot be null or empty.");
- final MonitoringBuilder builder = new MonitoringBuilder();
buffer.readBytes(RESERVED);
final BitArray flagBits = BitArray.valueOf(buffer, FLAGS_SIZE);
final Flags flags = new Flags(flagBits.get(G_FLAG_POS), flagBits.get(I_FLAG_POS), flagBits.get(L_FLAG_POS),
flagBits.get(C_FLAG_POS), flagBits.get(P_FLAG_POS));
- builder.setFlags(flags);
- builder.setMonitoringId(ByteBufUtils.readUint32(buffer));
+ final Uint32 monitoring = ByteBufUtils.readUint32(buffer);
final TlvsBuilder tbuilder = new TlvsBuilder();
parseTlvs(tbuilder, buffer.slice());
- builder.setTlvs(tbuilder.build());
+ final MonitoringBuilder builder = new MonitoringBuilder()
+ .setFlags(flags)
+ .setMonitoringId(monitoring)
+ .setTlvs(tbuilder.build());
return builder.build();
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcrep.message.pcrep.message.replies.result.failure._case.no.path.TlvsBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcrep.message.pcrep.message.replies.result.failure._case.no.path.tlvs.NoPathVector;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.vendor.information.tlvs.VendorInformationTlv;
+import org.opendaylight.yangtools.yang.common.Uint8;
/**
- * Parser for {@link NoPath}
+ * Parser for {@link NoPath}.
*/
public class PCEPNoPathObjectParser extends AbstractObjectWithTlvsParser<TlvsBuilder> {
@Override
public NoPath parseObject(final ObjectHeader header, final ByteBuf bytes) throws PCEPDeserializerException {
checkArgument(bytes != null && bytes.isReadable(), "Array of bytes is mandatory. Cannot be null or empty.");
- final NoPathBuilder builder = new NoPathBuilder();
- builder.setIgnore(header.isIgnore());
- builder.setProcessingRule(header.isProcessingRule());
- builder.setNatureOfIssue(ByteBufUtils.readUint8(bytes));
+ final Uint8 issue = ByteBufUtils.readUint8(bytes);
final BitArray flags = BitArray.valueOf(bytes, FLAGS_SIZE);
- builder.setUnsatisfiedConstraints(flags.get(C_FLAG_OFFSET));
bytes.skipBytes(RESERVED_F_LENGTH);
final TlvsBuilder tlvsBuilder = new TlvsBuilder();
parseTlvs(tlvsBuilder, bytes.slice());
- builder.setTlvs(tlvsBuilder.build());
+ final NoPathBuilder builder = new NoPathBuilder()
+ .setIgnore(header.isIgnore())
+ .setProcessingRule(header.isProcessingRule())
+ .setNatureOfIssue(issue)
+ .setUnsatisfiedConstraints(flags.get(C_FLAG_OFFSET))
+ .setTlvs(tlvsBuilder.build());
return builder.build();
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.vendor.information.tlvs.VendorInformationTlv;
/**
- * Parser for {@link CNotification}
+ * Parser for {@link CNotification}.
*/
public final class PCEPNotificationObjectParser extends AbstractObjectWithTlvsParser<CNotificationBuilder> {
public CNotification parseObject(final ObjectHeader header, final ByteBuf bytes) throws PCEPDeserializerException {
Preconditions.checkArgument(bytes != null && bytes.isReadable(),
"Array of bytes is mandatory. Can't be null or empty.");
- final CNotificationBuilder builder = new CNotificationBuilder();
- builder.setIgnore(header.isIgnore());
- builder.setProcessingRule(header.isProcessingRule());
bytes.skipBytes(NT_F_OFFSET);
- builder.setType(ByteBufUtils.readUint8(bytes));
- builder.setValue(ByteBufUtils.readUint8(bytes));
+ final CNotificationBuilder builder = new CNotificationBuilder()
+ .setIgnore(header.isIgnore())
+ .setProcessingRule(header.isProcessingRule())
+ .setType(ByteBufUtils.readUint8(bytes))
+ .setValue(ByteBufUtils.readUint8(bytes));
parseTlvs(builder, bytes.slice());
return builder.build();
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.of.object.of.Tlvs;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.of.object.of.TlvsBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.vendor.information.tlvs.VendorInformationTlv;
+import org.opendaylight.yangtools.yang.common.Uint16;
/**
- * Parser for {@link Of}
+ * Parser for {@link Of}.
*/
public final class PCEPObjectiveFunctionObjectParser extends AbstractObjectWithTlvsParser<TlvsBuilder> {
public Of parseObject(final ObjectHeader header, final ByteBuf bytes) throws PCEPDeserializerException {
Preconditions.checkArgument(bytes != null && bytes.isReadable(),
"Array of bytes is mandatory. Can't be null or empty.");
- final OfBuilder builder = new OfBuilder();
- builder.setIgnore(header.isIgnore());
- builder.setProcessingRule(header.isProcessingRule());
- builder.setCode(new OfId(ByteBufUtils.readUint16(bytes)));
+ final Uint16 ofId = ByteBufUtils.readUint16(bytes);
bytes.readBytes(RESERVED);
final TlvsBuilder tlvsBuilder = new TlvsBuilder();
parseTlvs(tlvsBuilder, bytes.slice());
- builder.setTlvs(tlvsBuilder.build());
+ final OfBuilder builder = new OfBuilder()
+ .setIgnore(header.isIgnore())
+ .setProcessingRule(header.isProcessingRule())
+ .setCode(new OfId(ofId))
+ .setTlvs(tlvsBuilder.build());
return builder.build();
}
import org.slf4j.LoggerFactory;
/**
- * Parser for {@link Open}
+ * Parser for {@link Open}.
*/
public class PCEPOpenObjectParser extends AbstractObjectWithTlvsParser<TlvsBuilder> {
private static final Logger LOG = LoggerFactory.getLogger(PCEPOpenObjectParser.class);
checkArgument(bytes != null && bytes.isReadable(), "Array of bytes is mandatory. Cannot be null or empty.");
final int versionValue = ByteArray.copyBitsRange(bytes.readByte(), VERSION_SF_OFFSET, VERSION_SF_LENGTH);
- final OpenBuilder builder = new OpenBuilder();
- builder.setVersion(new ProtocolVersion((short) versionValue));
- builder.setProcessingRule(header.isProcessingRule());
- builder.setIgnore(header.isIgnore());
final short keepalive = bytes.readUnsignedByte();
- builder.setKeepalive(keepalive);
final short deadTimer = bytes.readUnsignedByte();
+ final Uint8 sessionId = ByteBufUtils.readUint8(bytes);
+ final TlvsBuilder tbuilder = new TlvsBuilder();
+ parseTlvs(tbuilder, bytes.slice());
+ final OpenBuilder builder = new OpenBuilder()
+ .setVersion(new ProtocolVersion(Uint8.valueOf(versionValue)))
+ .setProcessingRule(header.isProcessingRule())
+ .setIgnore(header.isIgnore())
+ .setKeepalive(Uint8.valueOf(keepalive))
+ .setSessionId(sessionId)
+ .setTlvs(tbuilder.build());
if (keepalive == 0) {
builder.setDeadTimer(Uint8.ZERO);
} else {
- builder.setDeadTimer(deadTimer);
+ builder.setDeadTimer(Uint8.valueOf(deadTimer));
}
- builder.setSessionId(ByteBufUtils.readUint8(bytes));
-
- final TlvsBuilder tbuilder = new TlvsBuilder();
- parseTlvs(tbuilder, bytes.slice());
- builder.setTlvs(tbuilder.build());
final Open obj = builder.build();
if (versionValue != PCEP_VERSION) {
object.getClass());
final Open open = (Open) object;
final ByteBuf body = Unpooled.buffer();
- writeUnsignedByte((short) (PCEP_VERSION << Byte.SIZE - VERSION_SF_LENGTH), body);
+ writeUnsignedByte(Uint8.valueOf(PCEP_VERSION << Byte.SIZE - VERSION_SF_LENGTH), body);
writeUnsignedByte(open.getKeepalive(), body);
writeUnsignedByte(open.getDeadTimer(), body);
checkArgument(open.getSessionId() != null, "SessionId is mandatory.");
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.path.key.object.PathKeyBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.path.key.object.path.key.PathKeys;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.path.key.object.path.key.PathKeysBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.explicit.route.subobjects.subobject.type.PathKeyCase;
/**
- * Parser for {@link PathKey}
+ * Parser for {@link PathKey}.
*/
public final class PCEPPathKeyObjectParser extends AbstractEROWithSubobjectsParser {
public PathKey parseObject(final ObjectHeader header, final ByteBuf bytes) throws PCEPDeserializerException {
Preconditions.checkArgument(bytes != null && bytes.isReadable(),
"Array of bytes is mandatory. Can't be null or empty.");
- final PathKeyBuilder builder = new PathKeyBuilder();
- builder.setIgnore(header.isIgnore());
- builder.setProcessingRule(header.isProcessingRule());
final List<PathKeys> pk = new ArrayList<>();
final List<Subobject> subs = parseSubobjects(bytes);
- for (final Subobject s : subs) {
- final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.explicit.route
- .subobjects.subobject.type.PathKeyCase k = (org.opendaylight.yang.gen.v1.urn.opendaylight.params
- .xml.ns.yang.rsvp.rev150820.explicit.route.subobjects.subobject.type.PathKeyCase) s.getSubobjectType();
- pk.add(new PathKeysBuilder().setLoose(s.isLoose()).setPceId(k.getPathKey().getPceId())
- .setPathKey(k.getPathKey().getPathKey()).build());
+ for (final Subobject sub : subs) {
+ final PathKeyCase pkc = (PathKeyCase) sub.getSubobjectType();
+ pk.add(new PathKeysBuilder().setLoose(sub.isLoose()).setPceId(pkc.getPathKey().getPceId())
+ .setPathKey(pkc.getPathKey().getPathKey()).build());
}
- builder.setPathKeys(pk);
+ final PathKeyBuilder builder = new PathKeyBuilder()
+ .setIgnore(header.isIgnore())
+ .setProcessingRule(header.isProcessingRule())
+ .setPathKeys(pk);
return builder.build();
}
"Wrong instance of PCEPObject. Passed %s. Needed PathKeyObject.", object.getClass());
final PathKey pkey = (PathKey) object;
final ByteBuf body = Unpooled.buffer();
- final List<PathKeys> pk = pkey.getPathKeys();
+ final List<PathKeys> pks = pkey.getPathKeys();
final List<Subobject> subs = new ArrayList<>();
- for (final PathKeys p : pk) {
- subs.add(new SubobjectBuilder().setLoose(p.isLoose()).setSubobjectType(
- new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.explicit
- .route.subobjects.subobject.type.PathKeyCaseBuilder().setPathKey(
- new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820
- .explicit.route.subobjects.subobject.type.path.key._case.PathKeyBuilder().setPathKey(p
- .getPathKey()).setPceId(p.getPceId()).build()).build()).build());
+ for (final PathKeys pk : pks) {
+ subs.add(new SubobjectBuilder()
+ .setLoose(pk.isLoose())
+ .setSubobjectType(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp
+ .rev150820.explicit.route.subobjects.subobject.type.PathKeyCaseBuilder()
+ .setPathKey(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp
+ .rev150820.explicit.route.subobjects.subobject.type.path.key._case.PathKeyBuilder()
+ .setPathKey(pk.getPathKey())
+ .setPceId(pk.getPceId())
+ .build())
+ .build())
+ .build());
}
serializeSubobject(subs, body);
ObjectUtil.formatSubobject(TYPE, CLASS, object.isProcessingRule(), object.isIgnore(), body, buffer);
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcc.id.req.object.PccIdReqBuilder;
/**
- * Parser for {@link org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcc.id.req.object.PccIdReq} with IPv4 address
+ * Parser for {@link
+ * org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcc.id.req.object.PccIdReq
+ * } with IPv4 address.
* @see <a href="https://tools.ietf.org/html/rfc5886#section-4.2">PCC-ID-REQ Object</a>
*/
public final class PCEPPccIdReqIPv4ObjectParser extends AbstractPccIdReqObjectParser {
public Object parseObject(final ObjectHeader header, final ByteBuf buffer) throws PCEPDeserializerException {
Preconditions.checkArgument(buffer != null && buffer.isReadable(),
"Array of bytes is mandatory. Can't be null or empty.");
- final PccIdReqBuilder builder = new PccIdReqBuilder();
- builder.setIpAddress(new IpAddressNoZone(Ipv4Util.noZoneAddressForByteBuf(buffer)));
- return builder.build();
+ return
+ new PccIdReqBuilder().setIpAddress(new IpAddressNoZone(Ipv4Util.noZoneAddressForByteBuf(buffer))).build();
}
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcc.id.req.object.PccIdReqBuilder;
/**
- * Parser for {@link org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcc.id.req.object.PccIdReq} with IPv6 address
+ * Parser for {@link
+ * org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcc.id.req.object.PccIdReq
+ * } with IPv6 address.
* @see <a href="https://tools.ietf.org/html/rfc5886#section-4.2">PCC-ID-REQ Object</a>
*/
public final class PCEPPccIdReqIPv6ObjectParser extends AbstractPccIdReqObjectParser {
@Override
public Object parseObject(final ObjectHeader header, final ByteBuf buffer) throws PCEPDeserializerException {
- Preconditions.checkArgument(buffer != null && buffer.isReadable(), "Array of bytes is mandatory. Can't be null or empty.");
- final PccIdReqBuilder builder = new PccIdReqBuilder();
- builder.setIpAddress(new IpAddressNoZone(Ipv6Util.noZoneAddressForByteBuf(buffer)));
- return builder.build();
+ Preconditions.checkArgument(buffer != null && buffer.isReadable(),
+ "Array of bytes is mandatory. Can't be null or empty.");
+ return
+ new PccIdReqBuilder().setIpAddress(new IpAddressNoZone(Ipv6Util.noZoneAddressForByteBuf(buffer))).build();
}
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pce.id.object.PceIdBuilder;
/**
- * Parser for {@link org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pce.id.object.PceId} with IPv4 address
+ * Parser for {@link
+ * org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pce.id.object.PceId
+ * } with IPv4 address.
* @see <a href="https://tools.ietf.org/html/rfc5886#section-4.3">PCE-ID Object</a>
*/
public class PCEPPceIdIPv4ObjectParser extends AbstractPceIdObjectParser {
@Override
public Object parseObject(final ObjectHeader header, final ByteBuf buffer) throws PCEPDeserializerException {
- Preconditions.checkArgument(buffer != null && buffer.isReadable(), "Array of bytes is mandatory. Can't be null or empty.");
- final PceIdBuilder builder = new PceIdBuilder();
- builder.setIpAddress(new IpAddressNoZone(Ipv4Util.noZoneAddressForByteBuf(buffer)));
- return builder.build();
+ Preconditions.checkArgument(buffer != null && buffer.isReadable(),
+ "Array of bytes is mandatory. Can't be null or empty.");
+ return new PceIdBuilder().setIpAddress(new IpAddressNoZone(Ipv4Util.noZoneAddressForByteBuf(buffer))).build();
}
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pce.id.object.PceIdBuilder;
/**
- * Parser for {@link org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pce.id.object.PceId} with IPv6 address
+ * Parser for {@link
+ * org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pce.id.object.PceId
+ * } with IPv6 address.
* @see <a href="https://tools.ietf.org/html/rfc5886#section-4.3"></a>
*/
public class PCEPPceIdIPv6ObjectParser extends AbstractPceIdObjectParser {
@Override
public Object parseObject(final ObjectHeader header, final ByteBuf buffer) throws PCEPDeserializerException {
- Preconditions.checkArgument(buffer != null && buffer.isReadable(), "Array of bytes is mandatory. Can't be null or empty.");
- final PceIdBuilder builder = new PceIdBuilder();
- builder.setIpAddress(new IpAddressNoZone(Ipv6Util.noZoneAddressForByteBuf(buffer)));
- return builder.build();
+ Preconditions.checkArgument(buffer != null && buffer.isReadable(),
+ "Array of bytes is mandatory. Can't be null or empty.");
+ return new PceIdBuilder().setIpAddress(new IpAddressNoZone(Ipv6Util.noZoneAddressForByteBuf(buffer))).build();
}
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.proc.time.object.ProcTimeBuilder;
/**
- * Parser for {@link ProcTime}
+ * Parser for {@link ProcTime}.
* @see <a href="https://tools.ietf.org/html/rfc5886#section-4.4">PROC-TIME Object</a>
*/
public class PCEPProcTimeObjectParser extends CommonObjectParser implements ObjectSerializer {
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.reported.route.object.RroBuilder;
/**
- * Parser for {@link Rro}
+ * Parser for {@link Rro}.
*/
public final class PCEPReportedRouteObjectParser extends AbstractRROWithSubobjectsParser {
public Rro parseObject(final ObjectHeader header, final ByteBuf bytes) throws PCEPDeserializerException {
Preconditions.checkArgument(bytes != null && bytes.isReadable(),
"Array of bytes is mandatory. Can't be null or empty.");
- final RroBuilder builder = new RroBuilder();
- builder.setIgnore(header.isIgnore());
- builder.setProcessingRule(header.isProcessingRule());
- builder.setSubobject(parseSubobjects(bytes.slice()));
+ final RroBuilder builder = new RroBuilder()
+ .setIgnore(header.isIgnore())
+ .setProcessingRule(header.isProcessingRule())
+ .setSubobject(parseSubobjects(bytes.slice()));
return builder.build();
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.rp.object.rp.Tlvs;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.rp.object.rp.TlvsBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.vendor.information.tlvs.VendorInformationTlv;
+import org.opendaylight.yangtools.yang.common.Uint32;
import org.opendaylight.yangtools.yang.common.Uint8;
/**
- * Parser for {@link Rp}
+ * Parser for {@link Rp}.
*/
public class PCEPRequestParameterObjectParser extends AbstractObjectWithTlvsParser<TlvsBuilder> {
public Object parseObject(final ObjectHeader header, final ByteBuf bytes) throws PCEPDeserializerException {
checkArgument(bytes != null && bytes.isReadable(), "Array of bytes is mandatory. Cannot be null or empty.");
final BitArray flags = BitArray.valueOf(bytes, FLAGS_SIZE);
-
- final RpBuilder builder = new RpBuilder();
- builder.setIgnore(header.isIgnore());
- builder.setProcessingRule(header.isProcessingRule());
+ final Uint32 reqId = ByteBufUtils.readUint32(bytes);
+ final TlvsBuilder tlvsBuilder = new TlvsBuilder();
+ parseTlvs(tlvsBuilder, bytes.slice());
+ final RpBuilder builder = new RpBuilder()
+ .setIgnore(header.isIgnore())
+ .setProcessingRule(header.isProcessingRule())
+ .setFragmentation(flags.get(F_FLAG_OFFSET))
+ .setP2mp(flags.get(N_FLAG_OFFSET))
+ .setEroCompression(flags.get(E_FLAG_OFFSET))
+ .setMakeBeforeBreak(flags.get(M_FLAG_OFFSET))
+ .setOrder(flags.get(D_FLAG_OFFSET))
+ .setPathKey(flags.get(P_FLAG_OFFSET))
+ .setSupplyOf(flags.get(S_FLAG_OFFSET))
+ .setLoose(flags.get(O_FLAG_OFFSET))
+ .setBiDirectional(flags.get(B_FLAG_OFFSET))
+ .setReoptimization(flags.get(R_FLAG_OFFSET))
+ .setRequestId(new RequestId(reqId))
+ .setTlvs(tlvsBuilder.build());
short priority = 0;
priority |= flags.get(PRI_SF_OFFSET + 2) ? 1 : 0;
if (priority != 0) {
builder.setPriority(Uint8.valueOf(priority));
}
- builder.setFragmentation(flags.get(F_FLAG_OFFSET));
- builder.setP2mp(flags.get(N_FLAG_OFFSET));
- builder.setEroCompression(flags.get(E_FLAG_OFFSET));
- builder.setMakeBeforeBreak(flags.get(M_FLAG_OFFSET));
- builder.setOrder(flags.get(D_FLAG_OFFSET));
- builder.setPathKey(flags.get(P_FLAG_OFFSET));
- builder.setSupplyOf(flags.get(S_FLAG_OFFSET));
- builder.setLoose(flags.get(O_FLAG_OFFSET));
- builder.setBiDirectional(flags.get(B_FLAG_OFFSET));
- builder.setReoptimization(flags.get(R_FLAG_OFFSET));
-
- builder.setRequestId(new RequestId(ByteBufUtils.readUint32(bytes)));
- final TlvsBuilder tlvsBuilder = new TlvsBuilder();
- parseTlvs(tlvsBuilder, bytes.slice());
- builder.setTlvs(tlvsBuilder.build());
+
return builder.build();
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.svec.object.SvecBuilder;
/**
- * Parser for {@link Svec}
+ * Parser for {@link Svec}.
*/
public final class PCEPSvecObjectParser extends CommonObjectParser implements ObjectSerializer {
if (requestIDs.isEmpty()) {
throw new PCEPDeserializerException("Empty Svec Object - no request ids.");
}
- final SvecBuilder builder = new SvecBuilder();
-
- builder.setIgnore(header.isIgnore());
- builder.setProcessingRule(header.isProcessingRule());
-
- builder.setLinkDiverse(flags.get(L_FLAG_OFFSET));
- builder.setNodeDiverse(flags.get(N_FLAG_OFFSET));
- builder.setSrlgDiverse(flags.get(S_FLAG_OFFSET));
- builder.setLinkDirectionDiverse(flags.get(D_FLAG_OFFSET));
- builder.setPartialPathDiverse(flags.get(P_FLAG_OFFSET));
- builder.setRequestsIds(requestIDs);
+ final SvecBuilder builder = new SvecBuilder()
+ .setIgnore(header.isIgnore())
+ .setProcessingRule(header.isProcessingRule())
+ .setLinkDiverse(flags.get(L_FLAG_OFFSET))
+ .setNodeDiverse(flags.get(N_FLAG_OFFSET))
+ .setSrlgDiverse(flags.get(S_FLAG_OFFSET))
+ .setLinkDirectionDiverse(flags.get(D_FLAG_OFFSET))
+ .setPartialPathDiverse(flags.get(P_FLAG_OFFSET))
+ .setRequestsIds(requestIDs);
return builder.build();
}
import org.slf4j.LoggerFactory;
/**
- * Parser for IPv4 {@link EndpointsObj}
+ * Parser for IPv4 {@link EndpointsObj}.
*/
public class PCEPEndPointsIpv4ObjectParser extends CommonObjectParser {
if (bytes.readableBytes() != Ipv4Util.IP4_LENGTH * 2) {
throw new PCEPDeserializerException("Wrong length of array of bytes.");
}
- builder.setIgnore(header.isIgnore());
- builder.setProcessingRule(header.isProcessingRule());
- final Ipv4Builder b = new Ipv4Builder();
- b.setSourceIpv4Address(Ipv4Util.noZoneAddressForByteBuf(bytes));
- b.setDestinationIpv4Address(Ipv4Util.noZoneAddressForByteBuf(bytes));
- builder.setAddressFamily(new Ipv4CaseBuilder().setIpv4(b.build()).build());
+ final Ipv4Builder ipv4bldr = new Ipv4Builder()
+ .setSourceIpv4Address(Ipv4Util.noZoneAddressForByteBuf(bytes))
+ .setDestinationIpv4Address(Ipv4Util.noZoneAddressForByteBuf(bytes));
+ builder.setIgnore(header.isIgnore())
+ .setProcessingRule(header.isProcessingRule())
+ .setAddressFamily(new Ipv4CaseBuilder().setIpv4(ipv4bldr.build()).build());
return builder.build();
}
-}
\ No newline at end of file
+}
import org.slf4j.LoggerFactory;
/**
- * Parser for IPv6 {@link EndpointsObj}
+ * Parser for IPv6 {@link EndpointsObj}.
*/
public final class PCEPEndPointsIpv6ObjectParser extends CommonObjectParser {
if (bytes.readableBytes() != Ipv6Util.IPV6_LENGTH * 2) {
throw new PCEPDeserializerException("Wrong length of array of bytes.");
}
- builder.setIgnore(header.isIgnore());
- builder.setProcessingRule(header.isProcessingRule());
- final Ipv6Builder b = new Ipv6Builder();
- b.setSourceIpv6Address(Ipv6Util.noZoneAddressForByteBuf(bytes));
- b.setDestinationIpv6Address(Ipv6Util.noZoneAddressForByteBuf(bytes));
- builder.setAddressFamily(new Ipv6CaseBuilder().setIpv6(b.build()).build());
+ final Ipv6Builder ipv6bldr = new Ipv6Builder()
+ .setSourceIpv6Address(Ipv6Util.noZoneAddressForByteBuf(bytes))
+ .setDestinationIpv6Address(Ipv6Util.noZoneAddressForByteBuf(bytes));
+ builder.setIgnore(header.isIgnore())
+ .setProcessingRule(header.isProcessingRule())
+ .setAddressFamily(new Ipv6CaseBuilder().setIpv6(ipv6bldr.build()).build());
return builder.build();
}
}
final ByteBuf buffer) {
final List<Ipv6AddressNoZone> dest = p2mpIpv6.getDestinationIpv6Address();
Preconditions.checkArgument(dest != null, "DestinationIpv6Address is mandatory.");
- final ByteBuf body = Unpooled.buffer(LEAF_TYPE_SIZE + Ipv6Util.IPV6_LENGTH + Ipv6Util.IPV6_LENGTH * dest.size());
+ final ByteBuf body =
+ Unpooled.buffer(LEAF_TYPE_SIZE + Ipv6Util.IPV6_LENGTH + Ipv6Util.IPV6_LENGTH * dest.size());
Preconditions.checkArgument(p2mpIpv6.getSourceIpv6Address() != null,
"SourceIpv6Address is mandatory.");
body.writeInt(p2mpIpv6.getP2mpLeaves().getIntValue());
public Object parseObject(final ObjectHeader header, final ByteBuf bytes) throws PCEPDeserializerException {
Preconditions.checkArgument(bytes != null && bytes.isReadable(),
"Array of bytes is mandatory. Can't be null or empty.");
- final EndpointsObjBuilder builder = new EndpointsObjBuilder();
if (!header.isProcessingRule()) {
LOG.debug("Processed bit not set on Endpoints OBJECT, ignoring it.");
- return new UnknownObject(PCEPErrors.P_FLAG_NOT_SET, builder.build());
+ return new UnknownObject(PCEPErrors.P_FLAG_NOT_SET, new EndpointsObjBuilder().build());
}
if (bytes.readableBytes() % Ipv6Util.IPV6_LENGTH != 4) {
throw new PCEPDeserializerException("Wrong length of array of bytes.");
}
- builder.setIgnore(header.isIgnore());
- builder.setProcessingRule(header.isProcessingRule());
- final P2mpIpv6Builder p2mpIpv6Builder = new P2mpIpv6Builder();
- p2mpIpv6Builder.setP2mpLeaves(P2mpLeaves.forValue(bytes.readInt()));
- p2mpIpv6Builder.setSourceIpv6Address(Ipv6Util.noZoneAddressForByteBuf(bytes));
+
+ final P2mpIpv6Builder p2mpIpv6Builder = new P2mpIpv6Builder()
+ .setP2mpLeaves(P2mpLeaves.forValue(bytes.readInt()))
+ .setSourceIpv6Address(Ipv6Util.noZoneAddressForByteBuf(bytes));
List<Ipv6AddressNoZone> dest = new ArrayList<>();
while (bytes.isReadable()) {
dest.add(Ipv6Util.noZoneAddressForByteBuf(bytes));
}
p2mpIpv6Builder.setDestinationIpv6Address(dest);
- builder.setAddressFamily(new P2mpIpv6CaseBuilder().setP2mpIpv6(p2mpIpv6Builder.build()).build());
+ final EndpointsObjBuilder builder = new EndpointsObjBuilder()
+ .setIgnore(header.isIgnore())
+ .setProcessingRule(header.isProcessingRule())
+ .setAddressFamily(new P2mpIpv6CaseBuilder().setP2mpIpv6(p2mpIpv6Builder.build()).build());
return builder.build();
}
}
new AsNumber(Uint32.valueOf(buffer.readUnsignedShort()))).build()).build();
}
-
static ByteBuf serializeSubobject(final AsNumberCase asCase) {
final AsNumberSubobject asNumber = asCase.getAsNumber();
final ByteBuf body = Unpooled.buffer(CONTENT_LENGTH);
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.AsNumberCase;
/**
- * Parser for {@link AsNumberCase}
+ * Parser for {@link AsNumberCase}.
*/
public class EROAsNumberSubobjectParser implements EROSubobjectParser, EROSubobjectSerializer {
@Override
public Subobject parseSubobject(final ByteBuf buffer, final boolean loose) throws PCEPDeserializerException {
- return new SubobjectBuilder().setLoose(loose).setSubobjectType(AsNumberCaseParser.parseSubobject(buffer)).build();
+ return new SubobjectBuilder().setLoose(loose).setSubobjectType(AsNumberCaseParser.parseSubobject(buffer))
+ .build();
}
@Override
public void serializeSubobject(final Subobject subobject, final ByteBuf buffer) {
- Preconditions.checkArgument(subobject.getSubobjectType() instanceof AsNumberCase, "Unknown subobject instance. Passed %s. Needed AsNumberCase.", subobject.getSubobjectType().getClass());
+ Preconditions.checkArgument(subobject.getSubobjectType() instanceof AsNumberCase,
+ "Unknown subobject instance. Passed %s. Needed AsNumberCase.", subobject.getSubobjectType().getClass());
final ByteBuf body = AsNumberCaseParser.serializeSubobject((AsNumberCase) subobject.getSubobjectType());
EROSubobjectUtil.formatSubobject(TYPE, subobject.isLoose(), body, buffer);
}
@Override
public Subobject parseSubobject(final ByteBuf buffer, final boolean loose) throws PCEPDeserializerException {
- Preconditions.checkArgument(buffer != null && buffer.isReadable(), "Array of bytes is mandatory. Can't be null or empty.");
- final SubobjectBuilder builder = new SubobjectBuilder();
- builder.setLoose(loose);
- final List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.exclude.route.object.xro.Subobject> list = parseSubobject(buffer);
- final List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.explicit.route.subobjects.subobject.type.exrs._case.exrs.Exrs> exrss = new ArrayList<>();
- for (final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.exclude.route.object.xro.Subobject s : list) {
- final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.explicit.route.subobjects.subobject.type.exrs._case.exrs.ExrsBuilder b = new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.explicit.route.subobjects.subobject.type.exrs._case.exrs.ExrsBuilder();
- b.setAttribute(s.getAttribute());
- b.setMandatory(s.isMandatory());
- b.setSubobjectType(s.getSubobjectType());
- exrss.add(b.build());
+ Preconditions.checkArgument(buffer != null && buffer.isReadable(),
+ "Array of bytes is mandatory. Can't be null or empty.");
+ final List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.exclude
+ .route.object.xro.Subobject> xros = parseSubobject(buffer);
+ final List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.explicit
+ .route.subobjects.subobject.type.exrs._case.exrs.Exrs> exrss = new ArrayList<>();
+ for (final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.exclude
+ .route.object.xro.Subobject xro : xros) {
+ final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820
+ .explicit.route.subobjects.subobject.type.exrs._case.exrs.ExrsBuilder exrsBuilder =
+ new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820
+ .explicit.route.subobjects.subobject.type.exrs._case.exrs.ExrsBuilder()
+ .setAttribute(xro.getAttribute())
+ .setMandatory(xro.isMandatory())
+ .setSubobjectType(xro.getSubobjectType());
+ exrss.add(exrsBuilder.build());
}
- builder.setSubobjectType(new ExrsCaseBuilder().setExrs(new ExrsBuilder().setExrs(exrss).build()).build());
+ final SubobjectBuilder builder = new SubobjectBuilder()
+ .setLoose(loose)
+ .setSubobjectType(new ExrsCaseBuilder().setExrs(new ExrsBuilder().setExrs(exrss).build()).build());
return builder.build();
}
- @Override
- public void serializeSubobject(final Subobject subobject, final ByteBuf buffer) {
- Preconditions.checkArgument(subobject.getSubobjectType() instanceof ExrsCase, "Unknown subobject instance. Passed %s. Needed Exrs.", subobject.getSubobjectType().getClass());
- final Exrs e = ((ExrsCase) subobject.getSubobjectType()).getExrs();
- final List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.exclude.route.object.xro.Subobject> list = new ArrayList<>();
- for (final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.explicit.route.subobjects.subobject.type.exrs._case.exrs.Exrs ex : e.getExrs()) {
- final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.exclude.route.object.xro.SubobjectBuilder b = new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.exclude.route.object.xro.SubobjectBuilder();
- b.setAttribute(ex.getAttribute());
- b.setMandatory(ex.isMandatory());
- b.setSubobjectType(ex.getSubobjectType());
- list.add(b.build());
- }
- final ByteBuf body = Unpooled.buffer();
- serializeSubobject(list, body);
- EROSubobjectUtil.formatSubobject(TYPE, subobject.isLoose(), body, buffer);
- }
-
- private List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.exclude.route.object.xro.Subobject> parseSubobject(
- final ByteBuf buffer) throws PCEPDeserializerException {
- Preconditions.checkArgument(buffer != null && buffer.isReadable(), "Array of bytes is mandatory. Can't be null or empty.");
- final List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.exclude.route.object.xro.Subobject> subs = new ArrayList<>();
+ private List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.exclude
+ .route.object.xro.Subobject> parseSubobject(final ByteBuf buffer) throws PCEPDeserializerException {
+ Preconditions.checkArgument(buffer != null && buffer.isReadable(),
+ "Array of bytes is mandatory. Can't be null or empty.");
+ final List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.exclude
+ .route.object.xro.Subobject> xros = new ArrayList<>();
while (buffer.isReadable()) {
- final boolean mandatory = ((buffer.getByte(buffer.readerIndex()) & (1 << Values.FIRST_BIT_OFFSET)) != 0) ? true : false;
- final int type = (buffer.readUnsignedByte() & Values.BYTE_MAX_VALUE_BYTES) & ~(1 << Values.FIRST_BIT_OFFSET);
+ final boolean mandatory =
+ ((buffer.getByte(buffer.readerIndex()) & (1 << Values.FIRST_BIT_OFFSET)) != 0) ? true : false;
+ final int type =
+ (buffer.readUnsignedByte() & Values.BYTE_MAX_VALUE_BYTES) & ~(1 << Values.FIRST_BIT_OFFSET);
final int length = buffer.readUnsignedByte() - HEADER_LENGTH;
if (length > buffer.readableBytes()) {
throw new PCEPDeserializerException("Wrong length specified. Passed: " + length + "; Expected: <= "
+ buffer.readableBytes());
}
- subs.add(this.registry.parseSubobject(type, buffer.readSlice(length), mandatory));
+ xros.add(this.registry.parseSubobject(type, buffer.readSlice(length), mandatory));
}
- return subs;
+ return xros;
+ }
+
+ @Override
+ public void serializeSubobject(final Subobject subobject, final ByteBuf buffer) {
+ Preconditions.checkArgument(subobject.getSubobjectType() instanceof ExrsCase,
+ "Unknown subobject instance. Passed %s. Needed Exrs.", subobject.getSubobjectType().getClass());
+ final Exrs exrs = ((ExrsCase) subobject.getSubobjectType()).getExrs();
+ final List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.exclude
+ .route.object.xro.Subobject> xros = new ArrayList<>();
+ for (final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.explicit
+ .route.subobjects.subobject.type.exrs._case.exrs.Exrs exr : exrs.getExrs()) {
+ final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109
+ .exclude.route.object.xro.SubobjectBuilder xroBuilder =
+ new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109
+ .exclude.route.object.xro.SubobjectBuilder()
+ .setAttribute(exr.getAttribute())
+ .setMandatory(exr.isMandatory())
+ .setSubobjectType(exr.getSubobjectType());
+ xros.add(xroBuilder.build());
+ }
+ final ByteBuf body = Unpooled.buffer();
+ serializeSubobject(xros, body);
+ EROSubobjectUtil.formatSubobject(TYPE, subobject.isLoose(), body, buffer);
}
private void serializeSubobject(
- final List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.exclude.route.object.xro.Subobject> subobjects, final ByteBuf body) {
- for (final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.exclude.route.object.xro.Subobject subobject : subobjects) {
+ final List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.exclude
+ .route.object.xro.Subobject> subobjects, final ByteBuf body) {
+ for (final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.exclude
+ .route.object.xro.Subobject subobject : subobjects) {
this.registry.serializeSubobject(subobject, body);
}
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.ip.prefix._case.IpPrefixBuilder;
/**
- * Parser for {@link IpPrefixCase}
+ * Parser for {@link IpPrefixCase}.
*/
public class EROIpv4PrefixSubobjectParser implements EROSubobjectParser, EROSubobjectSerializer {
@Override
public Subobject parseSubobject(final ByteBuf buffer, final boolean loose) throws PCEPDeserializerException {
- Preconditions.checkArgument(buffer != null && buffer.isReadable(), "Array of bytes is mandatory. Can't be null or empty.");
- final SubobjectBuilder builder = new SubobjectBuilder();
- builder.setLoose(loose);
+ Preconditions.checkArgument(buffer != null && buffer.isReadable(),
+ "Array of bytes is mandatory. Can't be null or empty.");
if (buffer.readableBytes() != CONTENT4_LENGTH) {
- throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: " + buffer.readableBytes() + ";");
+ throw new PCEPDeserializerException(
+ "Wrong length of array of bytes. Passed: " + buffer.readableBytes() + ";");
}
final int length = buffer.getUnsignedByte(PREFIX4_F_OFFSET);
- final IpPrefixBuilder prefix = new IpPrefixBuilder().setIpPrefix(new IpPrefix(Ipv4Util.prefixForBytes(ByteArray.readBytes(buffer,
- Ipv4Util.IP4_LENGTH), length)));
- builder.setSubobjectType(new IpPrefixCaseBuilder().setIpPrefix(prefix.build()).build());
+ final IpPrefixBuilder prefix = new IpPrefixBuilder().setIpPrefix(
+ new IpPrefix(Ipv4Util.prefixForBytes(ByteArray.readBytes(buffer, Ipv4Util.IP4_LENGTH), length)));
+ final SubobjectBuilder builder = new SubobjectBuilder()
+ .setLoose(loose)
+ .setSubobjectType(new IpPrefixCaseBuilder().setIpPrefix(prefix.build()).build());
return builder.build();
}
@Override
public void serializeSubobject(final Subobject subobject, final ByteBuf buffer) {
- Preconditions.checkArgument(subobject.getSubobjectType() instanceof IpPrefixCase, "Unknown subobject instance. Passed %s. Needed IpPrefixCase.", subobject.getSubobjectType().getClass());
+ Preconditions.checkArgument(subobject.getSubobjectType() instanceof IpPrefixCase,
+ "Unknown subobject instance. Passed %s. Needed IpPrefixCase.", subobject.getSubobjectType().getClass());
final IpPrefixSubobject specObj = ((IpPrefixCase) subobject.getSubobjectType()).getIpPrefix();
final IpPrefix prefix = specObj.getIpPrefix();
- Preconditions.checkArgument(prefix.getIpv4Prefix() != null || prefix.getIpv6Prefix() != null, "Unknown AbstractPrefix instance. Passed %s.", prefix.getClass());
+ Preconditions.checkArgument(prefix.getIpv4Prefix() != null || prefix.getIpv6Prefix() != null,
+ "Unknown AbstractPrefix instance. Passed %s.", prefix.getClass());
if (prefix.getIpv6Prefix() != null) {
new EROIpv6PrefixSubobjectParser().serializeSubobject(subobject, buffer);
} else {
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.ip.prefix._case.IpPrefixBuilder;
/**
- * Parser for {@link IpPrefixCase}
+ * Parser for {@link IpPrefixCase}.
*/
public class EROIpv6PrefixSubobjectParser implements EROSubobjectParser, EROSubobjectSerializer {
@Override
public Subobject parseSubobject(final ByteBuf buffer, final boolean loose) throws PCEPDeserializerException {
- Preconditions.checkArgument(buffer != null && buffer.isReadable(), "Array of bytes is mandatory. Can't be null or empty.");
- final SubobjectBuilder builder = new SubobjectBuilder();
- builder.setLoose(loose);
+ Preconditions.checkArgument(buffer != null && buffer.isReadable(),
+ "Array of bytes is mandatory. Can't be null or empty.");
if (buffer.readableBytes() != CONTENT_LENGTH) {
- throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: " + buffer.readableBytes() + ";");
+ throw new PCEPDeserializerException(
+ "Wrong length of array of bytes. Passed: " + buffer.readableBytes() + ";");
}
final int length = buffer.getUnsignedByte(PREFIX_F_OFFSET);
- final IpPrefixBuilder prefix = new IpPrefixBuilder().setIpPrefix(new IpPrefix(Ipv6Util.prefixForBytes(ByteArray.readBytes(buffer,
- Ipv6Util.IPV6_LENGTH), length)));
- builder.setSubobjectType(new IpPrefixCaseBuilder().setIpPrefix(prefix.build()).build());
+ final IpPrefixBuilder prefix = new IpPrefixBuilder().setIpPrefix(
+ new IpPrefix(Ipv6Util.prefixForBytes(ByteArray.readBytes(buffer, Ipv6Util.IPV6_LENGTH), length)));
+ final SubobjectBuilder builder = new SubobjectBuilder()
+ .setLoose(loose)
+ .setSubobjectType(new IpPrefixCaseBuilder().setIpPrefix(prefix.build()).build());
return builder.build();
}
@Override
public void serializeSubobject(final Subobject subobject, final ByteBuf buffer) {
- Preconditions.checkArgument(subobject.getSubobjectType() instanceof IpPrefixCase, "Unknown subobject instance. Passed %s. Needed IpPrefixCase.", subobject.getSubobjectType().getClass());
+ Preconditions.checkArgument(subobject.getSubobjectType() instanceof IpPrefixCase,
+ "Unknown subobject instance. Passed %s. Needed IpPrefixCase.", subobject.getSubobjectType().getClass());
final IpPrefixSubobject specObj = ((IpPrefixCase) subobject.getSubobjectType()).getIpPrefix();
final IpPrefix prefix = specObj.getIpPrefix();
final ByteBuf body = Unpooled.buffer();
@Override
public Subobject parseSubobject(final ByteBuf buffer, final boolean loose) throws PCEPDeserializerException {
- Preconditions.checkArgument(buffer != null && buffer.isReadable(), "Array of bytes is mandatory. Can't be null or empty.");
+ Preconditions.checkArgument(buffer != null && buffer.isReadable(),
+ "Array of bytes is mandatory. Can't be null or empty.");
if (buffer.readableBytes() < HEADER_LENGTH) {
- throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: " + buffer.readableBytes() + "; Expected: >"
- + HEADER_LENGTH + ".");
+ throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: " + buffer.readableBytes()
+ + "; Expected: >" + HEADER_LENGTH + ".");
}
final BitArray reserved = BitArray.valueOf(buffer, FLAGS_SIZE);
final short cType = buffer.readUnsignedByte();
if (labelType == null) {
throw new PCEPDeserializerException("Unknown C-TYPE for ero label subobject. Passed: " + cType);
}
- final LabelBuilder builder = new LabelBuilder();
- builder.setUniDirectional(reserved.get(U_FLAG_OFFSET));
- builder.setLabelType(labelType);
- return new SubobjectBuilder().setLoose(loose).setSubobjectType(new LabelCaseBuilder().setLabel(builder.build()).build()).build();
+ final LabelBuilder lbuilder = new LabelBuilder()
+ .setUniDirectional(reserved.get(U_FLAG_OFFSET))
+ .setLabelType(labelType);
+ final SubobjectBuilder builder = new SubobjectBuilder()
+ .setLoose(loose)
+ .setSubobjectType(new LabelCaseBuilder().setLabel(lbuilder.build()).build());
+
+ return builder.build();
}
@Override
public void serializeSubobject(final Subobject subobject, final ByteBuf buffer) {
- Preconditions.checkArgument(subobject.getSubobjectType() instanceof LabelCase, "Unknown subobject instance. Passed %s. Needed LabelCase.", subobject.getSubobjectType().getClass());
+ Preconditions.checkArgument(subobject.getSubobjectType() instanceof LabelCase,
+ "Unknown subobject instance. Passed %s. Needed LabelCase.", subobject.getSubobjectType().getClass());
final Label label = ((LabelCase) subobject.getSubobjectType()).getLabel();
final ByteBuf body = Unpooled.buffer();
this.registry.serializeLabel(label.isUniDirectional(), false, label.getLabelType(), body);
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.unnumbered._case.UnnumberedBuilder;
/**
- * Parser for {@link UnnumberedCase}
+ * Parser for {@link UnnumberedCase}.
*/
public class EROUnnumberedInterfaceSubobjectParser implements EROSubobjectParser, EROSubobjectSerializer {
throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: " + buffer.readableBytes()
+ "; Expected: " + CONTENT_LENGTH + ".");
}
- final SubobjectBuilder builder = new SubobjectBuilder();
- builder.setLoose(loose);
- final UnnumberedBuilder ubuilder = new UnnumberedBuilder();
buffer.skipBytes(RESERVED);
- ubuilder.setRouterId(ByteBufUtils.readUint32(buffer));
- ubuilder.setInterfaceId(ByteBufUtils.readUint32(buffer));
- builder.setSubobjectType(new UnnumberedCaseBuilder().setUnnumbered(ubuilder.build()).build());
+ final UnnumberedBuilder ubuilder = new UnnumberedBuilder()
+ .setRouterId(ByteBufUtils.readUint32(buffer))
+ .setInterfaceId(ByteBufUtils.readUint32(buffer));
+ final SubobjectBuilder builder = new SubobjectBuilder()
+ .setLoose(loose)
+ .setSubobjectType(new UnnumberedCaseBuilder().setUnnumbered(ubuilder.build()).build());
return builder.build();
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.label.subobject.label.type.generalized.label._case.GeneralizedLabelBuilder;
/**
- * Parser for {@link GeneralizedLabelCase}
+ * Parser for {@link GeneralizedLabelCase}.
*/
public class GeneralizedLabelParser implements LabelParser, LabelSerializer {
@Override
public LabelType parseLabel(final ByteBuf buffer) throws PCEPDeserializerException {
- Preconditions.checkArgument(buffer != null && buffer.isReadable(), "Array of bytes is mandatory. Can't be null or empty.");
- return new GeneralizedLabelCaseBuilder().setGeneralizedLabel(
- new GeneralizedLabelBuilder().setGeneralizedLabel(ByteArray.readAllBytes(buffer)).build()).build();
+ Preconditions.checkArgument(buffer != null && buffer.isReadable(),
+ "Array of bytes is mandatory. Can't be null or empty.");
+ return new GeneralizedLabelCaseBuilder()
+ .setGeneralizedLabel(
+ new GeneralizedLabelBuilder().setGeneralizedLabel(ByteArray.readAllBytes(buffer)).build())
+ .build();
}
@Override
- public void serializeLabel(final boolean unidirectional, final boolean global, final LabelType subobject, final ByteBuf buffer) {
- Preconditions.checkArgument(subobject instanceof GeneralizedLabelCase, "Unknown Label Subobject instance. Passed {}. Needed GeneralizedLabelCase.", subobject.getClass());
+ public void serializeLabel(final boolean unidirectional, final boolean global, final LabelType subobject,
+ final ByteBuf buffer) {
+ Preconditions.checkArgument(subobject instanceof GeneralizedLabelCase,
+ "Unknown Label Subobject instance. Passed {}. Needed GeneralizedLabelCase.", subobject.getClass());
final GeneralizedLabel gl = ((GeneralizedLabelCase) subobject).getGeneralizedLabel();
Preconditions.checkArgument(gl != null, "GeneralizedLabel is mandatory.");
final ByteBuf body = Unpooled.wrappedBuffer(gl.getGeneralizedLabel());
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.record.route.subobjects.subobject.type.ip.prefix._case.IpPrefixBuilder;
/**
- * Parser for {@link IpPrefixCase}
+ * Parser for {@link IpPrefixCase}.
*/
public class RROIpv4PrefixSubobjectParser implements RROSubobjectParser, RROSubobjectSerializer {
@Override
public Subobject parseSubobject(final ByteBuf buffer) throws PCEPDeserializerException {
- Preconditions.checkArgument(buffer != null && buffer.isReadable(), "Array of bytes is mandatory. Can't be null or empty.");
+ Preconditions.checkArgument(buffer != null && buffer.isReadable(),
+ "Array of bytes is mandatory. Can't be null or empty.");
if (buffer.readableBytes() != CONTENT4_LENGTH) {
- throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: " + buffer.readableBytes() + ";");
+ throw new PCEPDeserializerException(
+ "Wrong length of array of bytes. Passed: " + buffer.readableBytes() + ";");
}
- final SubobjectBuilder builder = new SubobjectBuilder();
final int length = buffer.getUnsignedByte(PREFIX4_F_OFFSET);
- final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.record.route.subobjects.subobject.type.ip.prefix._case.IpPrefix prefix = new IpPrefixBuilder().setIpPrefix(
- new IpPrefix(Ipv4Util.prefixForBytes(ByteArray.readBytes(buffer, Ipv4Util.IP4_LENGTH), length))).build();
+ final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.record.route.subobjects
+ .subobject.type.ip.prefix._case.IpPrefix prefix = new IpPrefixBuilder().setIpPrefix(
+ new IpPrefix(Ipv4Util.prefixForBytes(ByteArray.readBytes(buffer, Ipv4Util.IP4_LENGTH), length)))
+ .build();
buffer.skipBytes(PREFIX_F_LENGTH);
final BitArray flags = BitArray.valueOf(buffer, FLAGS_SIZE);
- builder.setProtectionAvailable(flags.get(LPA_F_OFFSET));
- builder.setProtectionInUse(flags.get(LPIU_F_OFFSET));
- builder.setSubobjectType(new IpPrefixCaseBuilder().setIpPrefix(prefix).build());
+ final SubobjectBuilder builder = new SubobjectBuilder()
+ .setProtectionAvailable(flags.get(LPA_F_OFFSET))
+ .setProtectionInUse(flags.get(LPIU_F_OFFSET))
+ .setSubobjectType(new IpPrefixCaseBuilder().setIpPrefix(prefix).build());
return builder.build();
}
@Override
public void serializeSubobject(final Subobject subobject, final ByteBuf buffer) {
- Preconditions.checkArgument(subobject.getSubobjectType() instanceof IpPrefixCase, "Unknown subobject instance. Passed %s. Needed IpPrefixCase.", subobject.getSubobjectType().getClass());
+ Preconditions.checkArgument(subobject.getSubobjectType() instanceof IpPrefixCase,
+ "Unknown subobject instance. Passed %s. Needed IpPrefixCase.", subobject.getSubobjectType().getClass());
final IpPrefixSubobject specObj = ((IpPrefixCase) subobject.getSubobjectType()).getIpPrefix();
final IpPrefix prefix = specObj.getIpPrefix();
- Preconditions.checkArgument(prefix.getIpv4Prefix() != null || prefix.getIpv6Prefix() != null, "Unknown AbstractPrefix instance. Passed %s.", prefix.getClass());
+ Preconditions.checkArgument(prefix.getIpv4Prefix() != null || prefix.getIpv6Prefix() != null,
+ "Unknown AbstractPrefix instance. Passed %s.", prefix.getClass());
if (prefix.getIpv6Prefix() != null) {
new RROIpv6PrefixSubobjectParser().serializeSubobject(subobject, buffer);
} else {
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.record.route.subobjects.subobject.type.ip.prefix._case.IpPrefixBuilder;
/**
- * Parser for {@link IpPrefixCase}
+ * Parser for {@link IpPrefixCase}.
*/
public class RROIpv6PrefixSubobjectParser implements RROSubobjectParser, RROSubobjectSerializer {
@Override
public Subobject parseSubobject(final ByteBuf buffer) throws PCEPDeserializerException {
- Preconditions.checkArgument(buffer != null && buffer.isReadable(), "Array of bytes is mandatory. Can't be null or empty.");
- final SubobjectBuilder builder = new SubobjectBuilder();
+ Preconditions.checkArgument(buffer != null && buffer.isReadable(),
+ "Array of bytes is mandatory. Can't be null or empty.");
if (buffer.readableBytes() != CONTENT_LENGTH) {
- throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: " + buffer.readableBytes() + ";");
+ throw new PCEPDeserializerException(
+ "Wrong length of array of bytes. Passed: " + buffer.readableBytes() + ";");
}
final int length = buffer.getUnsignedByte(PREFIX_F_OFFSET);
- final IpPrefixBuilder prefix = new IpPrefixBuilder().setIpPrefix(new IpPrefix(Ipv6Util.prefixForBytes(ByteArray.readBytes(buffer,
- Ipv6Util.IPV6_LENGTH), length)));
+ final IpPrefixBuilder prefix = new IpPrefixBuilder().setIpPrefix(
+ new IpPrefix(Ipv6Util.prefixForBytes(ByteArray.readBytes(buffer, Ipv6Util.IPV6_LENGTH), length)));
buffer.skipBytes(PREFIX_F_LENGTH);
final BitArray flags = BitArray.valueOf(buffer, FLAGS_SIZE);
- builder.setProtectionAvailable(flags.get(LPA_F_OFFSET));
- builder.setProtectionInUse(flags.get(LPIU_F_OFFSET));
- builder.setSubobjectType(new IpPrefixCaseBuilder().setIpPrefix(prefix.build()).build());
+ final SubobjectBuilder builder = new SubobjectBuilder()
+ .setProtectionAvailable(flags.get(LPA_F_OFFSET))
+ .setProtectionInUse(flags.get(LPIU_F_OFFSET))
+ .setSubobjectType(new IpPrefixCaseBuilder().setIpPrefix(prefix.build()).build());
return builder.build();
}
@Override
public void serializeSubobject(final Subobject subobject, final ByteBuf buffer) {
- Preconditions.checkArgument(subobject.getSubobjectType() instanceof IpPrefixCase, "Unknown subobject instance. Passed %s. Needed IpPrefixCase.", subobject.getSubobjectType().getClass());
+ Preconditions.checkArgument(subobject.getSubobjectType() instanceof IpPrefixCase,
+ "Unknown subobject instance. Passed %s. Needed IpPrefixCase.", subobject.getSubobjectType().getClass());
final IpPrefixSubobject specObj = ((IpPrefixCase) subobject.getSubobjectType()).getIpPrefix();
final IpPrefix prefix = specObj.getIpPrefix();
final BitArray flags = new BitArray(FLAGS_SIZE);
@Override
public Subobject parseSubobject(final ByteBuf buffer) throws PCEPDeserializerException {
- Preconditions.checkArgument(buffer != null && buffer.isReadable(), "Array of bytes is mandatory. Can't be null or empty.");
+ Preconditions.checkArgument(buffer != null && buffer.isReadable(),
+ "Array of bytes is mandatory. Can't be null or empty.");
if (buffer.readableBytes() < HEADER_LENGTH) {
- throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: " + buffer.readableBytes() + "; Expected: >"
- + HEADER_LENGTH + ".");
+ throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: " + buffer.readableBytes()
+ + "; Expected: >" + HEADER_LENGTH + ".");
}
final BitArray reserved = BitArray.valueOf(buffer, FLAGS_SIZE);
if (labelType == null) {
throw new PCEPDeserializerException("Unknown C-TYPE for ero label subobject. Passed: " + cType);
}
- final LabelBuilder builder = new LabelBuilder();
- builder.setUniDirectional(reserved.get(U_FLAG_OFFSET));
- builder.setGlobal(reserved.get(G_FLAG_OFFSET));
- builder.setLabelType(labelType);
- return new SubobjectBuilder().setSubobjectType(new LabelCaseBuilder().setLabel(builder.build()).build()).build();
+ final LabelBuilder builder = new LabelBuilder()
+ .setUniDirectional(reserved.get(U_FLAG_OFFSET))
+ .setGlobal(reserved.get(G_FLAG_OFFSET))
+ .setLabelType(labelType);
+ return new SubobjectBuilder()
+ .setSubobjectType(new LabelCaseBuilder()
+ .setLabel(builder.build()).build())
+ .build();
}
@Override
}
final Uint16 pathKey = ByteBufUtils.readUint16(buffer);
final byte[] pceId = ByteArray.readBytes(buffer, PCE_ID_F_LENGTH);
- final SubobjectBuilder builder = new SubobjectBuilder();
- final PathKeyBuilder pBuilder = new PathKeyBuilder();
- pBuilder.setPceId(new PceId(pceId));
- pBuilder.setPathKey(new PathKey(pathKey));
- builder.setSubobjectType(new PathKeyCaseBuilder().setPathKey(pBuilder.build()).build());
+ final PathKeyBuilder pBuilder = new PathKeyBuilder()
+ .setPceId(new PceId(pceId))
+ .setPathKey(new PathKey(pathKey));
+ final SubobjectBuilder builder = new SubobjectBuilder()
+ .setSubobjectType(new PathKeyCaseBuilder().setPathKey(pBuilder.build()).build());
return builder.build();
}
checkArgument(subobject.getSubobjectType() instanceof PathKeyCase,
"Unknown subobject instance. Passed %s. Needed PathKey.", subobject.getSubobjectType().getClass());
final PathKeyCase pkcase = (PathKeyCase) subobject.getSubobjectType();
- final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.record.route.subobjects
- .subobject.type.path.key._case.PathKey pk = pkcase.getPathKey();
+ final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.record.route
+ .subobjects.subobject.type.path.key._case.PathKey pk = pkcase.getPathKey();
final ByteBuf body = Unpooled.buffer();
checkArgument(pk.getPceId() != null, "PceId is mandatory.");
final byte[] pceId = pk.getPceId().getValue();
if (pceId.length == RROPathKey128SubobjectParser.PCE128_ID_F_LENGTH) {
- RROPathKey128SubobjectParser.serializeSubobject(subobject,buffer);
+ RROPathKey128SubobjectParser.serializeSubobject(subobject, buffer);
}
checkArgument(pk.getPathKey() != null, "PathKey is mandatory.");
writeUnsignedShort(pk.getPathKey().getValue(), body);
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.record.route.subobjects.subobject.type.unnumbered._case.UnnumberedBuilder;
/**
- * Parser for {@link UnnumberedCase}
+ * Parser for {@link UnnumberedCase}.
*/
public class RROUnnumberedInterfaceSubobjectParser implements RROSubobjectParser, RROSubobjectSerializer {
throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: " + buffer.readableBytes()
+ "; Expected: " + CONTENT_LENGTH + ".");
}
- final SubobjectBuilder builder = new SubobjectBuilder();
final BitArray flags = BitArray.valueOf(buffer, FLAGS_SIZE);
- builder.setProtectionAvailable(flags.get(LPA_F_OFFSET));
- builder.setProtectionInUse(flags.get(LPIU_F_OFFSET));
- final UnnumberedBuilder ubuilder = new UnnumberedBuilder();
buffer.skipBytes(RESERVED);
- ubuilder.setRouterId(ByteBufUtils.readUint32(buffer));
- ubuilder.setInterfaceId(ByteBufUtils.readUint32(buffer));
- builder.setSubobjectType(new UnnumberedCaseBuilder().setUnnumbered(ubuilder.build()).build());
+ final UnnumberedBuilder ubuilder = new UnnumberedBuilder()
+ .setRouterId(ByteBufUtils.readUint32(buffer))
+ .setInterfaceId(ByteBufUtils.readUint32(buffer));
+ final SubobjectBuilder builder = new SubobjectBuilder()
+ .setProtectionAvailable(flags.get(LPA_F_OFFSET))
+ .setProtectionInUse(flags.get(LPIU_F_OFFSET))
+ .setSubobjectType(new UnnumberedCaseBuilder().setUnnumbered(ubuilder.build()).build());
return builder.build();
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.label.subobject.label.type.type1.label._case.Type1LabelBuilder;
/**
- * Parser for {@link Type1LabelCase}
+ * Parser for {@link Type1LabelCase}.
*/
public class Type1LabelParser implements LabelParser, LabelSerializer {
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.label.subobject.label.type.waveband.switching.label._case.WavebandSwitchingLabelBuilder;
/**
- * Parser for {@link WavebandSwitchingLabelCase}
+ * Parser for {@link WavebandSwitchingLabelCase}.
*/
public class WavebandSwitchingLabelParser implements LabelParser, LabelSerializer {
}
@Override
- public void serializeLabel(final boolean unidirectional, final boolean global, final LabelType subobject, final ByteBuf buffer) {
+ public void serializeLabel(final boolean unidirectional, final boolean global, final LabelType subobject,
+ final ByteBuf buffer) {
checkArgument(subobject instanceof WavebandSwitchingLabelCase,
"Unknown Label Subobject instance. Passed {}. Needed WavebandSwitchingLabelCase.", subobject.getClass());
final WavebandSwitchingLabel obj = ((WavebandSwitchingLabelCase) subobject).getWavebandSwitchingLabel();
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.AsNumberCase;
/**
- * Parser for {@link AsNumberCase}
+ * Parser for {@link AsNumberCase}.
*/
public class XROAsNumberSubobjectParser implements XROSubobjectParser, XROSubobjectSerializer {
@Override
public Subobject parseSubobject(final ByteBuf buffer, final boolean mandatory) throws PCEPDeserializerException {
- return new SubobjectBuilder().setMandatory(mandatory).setSubobjectType(AsNumberCaseParser.parseSubobject(buffer)).build();
+ return new SubobjectBuilder().setMandatory(mandatory)
+ .setSubobjectType(AsNumberCaseParser.parseSubobject(buffer)).build();
}
@Override
public void serializeSubobject(final Subobject subobject, final ByteBuf buffer) {
- Preconditions.checkArgument(subobject.getSubobjectType() instanceof AsNumberCase, "Unknown subobject instance. Passed %s. Needed AsNumberCase.", subobject.getSubobjectType().getClass());
+ Preconditions.checkArgument(subobject.getSubobjectType() instanceof AsNumberCase,
+ "Unknown subobject instance. Passed %s. Needed AsNumberCase.", subobject.getSubobjectType().getClass());
final ByteBuf body = AsNumberCaseParser.serializeSubobject((AsNumberCase) subobject.getSubobjectType());
XROSubobjectUtil.formatSubobject(TYPE, subobject.isMandatory(), body, buffer);
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.IpPrefixCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.IpPrefixCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.ip.prefix._case.IpPrefixBuilder;
+import org.opendaylight.yangtools.yang.common.Uint8;
/**
- * Parser for {@link IpPrefixCase}
+ * Parser for {@link IpPrefixCase}.
*/
public class XROIpv4PrefixSubobjectParser implements XROSubobjectParser, XROSubobjectSerializer {
@Override
public Subobject parseSubobject(final ByteBuf buffer, final boolean mandatory) throws PCEPDeserializerException {
checkArgument(buffer != null && buffer.isReadable(), "Array of bytes is mandatory. Cannot be null or empty.");
- final SubobjectBuilder builder = new SubobjectBuilder();
- builder.setMandatory(mandatory);
if (buffer.readableBytes() != CONTENT4_LENGTH) {
throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: " + buffer.readableBytes()
+ ";");
final IpPrefixBuilder prefix = new IpPrefixBuilder()
.setIpPrefix(new IpPrefix(Ipv4Util.prefixForBytes(ByteArray.readBytes(buffer, Ipv4Util.IP4_LENGTH),
length)));
- builder.setSubobjectType(new IpPrefixCaseBuilder().setIpPrefix(prefix.build()).build());
buffer.skipBytes(PREFIX_F_LENGTH);
- builder.setAttribute(Attribute.forValue(buffer.readUnsignedByte()));
+ final SubobjectBuilder builder = new SubobjectBuilder()
+ .setMandatory(mandatory)
+ .setSubobjectType(new IpPrefixCaseBuilder().setIpPrefix(prefix.build()).build())
+ .setAttribute(Attribute.forValue(buffer.readUnsignedByte()));
return builder.build();
}
Preconditions.checkArgument(prefix.getIpv4Prefix() != null, "Ipv4Prefix is mandatory.");
writeIpv4Prefix(prefix.getIpv4Prefix(), body);
Preconditions.checkArgument(subobject.getAttribute() != null, "Attribute is mandatory.");
- writeUnsignedByte((short) subobject.getAttribute().getIntValue(), body);
+ writeUnsignedByte(Uint8.valueOf(subobject.getAttribute().getIntValue()), body);
XROSubobjectUtil.formatSubobject(TYPE, subobject.isMandatory(), body, buffer);
}
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.IpPrefixCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.IpPrefixCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.ip.prefix._case.IpPrefixBuilder;
+import org.opendaylight.yangtools.yang.common.Uint8;
/**
- * Parser for {@link IpPrefixCase}
+ * Parser for {@link IpPrefixCase}.
*/
public class XROIpv6PrefixSubobjectParser implements XROSubobjectParser, XROSubobjectSerializer {
@Override
public Subobject parseSubobject(final ByteBuf buffer, final boolean mandatory) throws PCEPDeserializerException {
- Preconditions.checkArgument(buffer != null && buffer.isReadable(), "Array of bytes is mandatory. Can't be null or empty.");
- final SubobjectBuilder builder = new SubobjectBuilder();
- builder.setMandatory(mandatory);
+ Preconditions.checkArgument(buffer != null && buffer.isReadable(),
+ "Array of bytes is mandatory. Can't be null or empty.");
if (buffer.readableBytes() != CONTENT6_LENGTH) {
- throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: " + buffer.readableBytes() + ";");
+ throw new PCEPDeserializerException(
+ "Wrong length of array of bytes. Passed: " + buffer.readableBytes() + ";");
}
final int length = buffer.getUnsignedByte(PREFIX6_F_OFFSET);
- final IpPrefixBuilder prefix = new IpPrefixBuilder().setIpPrefix(new IpPrefix(Ipv6Util.prefixForBytes(ByteArray.readBytes(buffer,
- Ipv6Util.IPV6_LENGTH), length)));
- builder.setSubobjectType(new IpPrefixCaseBuilder().setIpPrefix(prefix.build()).build());
+ final IpPrefixBuilder prefix = new IpPrefixBuilder().setIpPrefix(
+ new IpPrefix(Ipv6Util.prefixForBytes(ByteArray.readBytes(buffer, Ipv6Util.IPV6_LENGTH), length)));
buffer.skipBytes(PREFIX_F_LENGTH);
- builder.setAttribute(Attribute.forValue(buffer.readUnsignedByte()));
+ final SubobjectBuilder builder = new SubobjectBuilder()
+ .setMandatory(mandatory)
+ .setSubobjectType(new IpPrefixCaseBuilder().setIpPrefix(prefix.build()).build())
+ .setAttribute(Attribute.forValue(buffer.readUnsignedByte()));
return builder.build();
}
@Override
public void serializeSubobject(final Subobject subobject, final ByteBuf buffer) {
- Preconditions.checkArgument(subobject.getSubobjectType() instanceof IpPrefixCase, "Unknown subobject instance. Passed %s. Needed IpPrefixCase.", subobject.getSubobjectType().getClass());
+ Preconditions.checkArgument(subobject.getSubobjectType() instanceof IpPrefixCase,
+ "Unknown subobject instance. Passed %s. Needed IpPrefixCase.", subobject.getSubobjectType().getClass());
final IpPrefixSubobject specObj = ((IpPrefixCase) subobject.getSubobjectType()).getIpPrefix();
final IpPrefix prefix = specObj.getIpPrefix();
final ByteBuf body = Unpooled.buffer(CONTENT6_LENGTH);
Preconditions.checkArgument(prefix.getIpv6Prefix() != null, "Ipv6Prefix is mandatory.");
writeIpv6Prefix(prefix.getIpv6Prefix(), body);
Preconditions.checkArgument(subobject.getAttribute() != null, "Attribute is mandatory.");
- writeUnsignedByte((short) subobject.getAttribute().getIntValue(), body);
+ writeUnsignedByte(Uint8.valueOf(subobject.getAttribute().getIntValue()), body);
XROSubobjectUtil.formatSubobject(TYPE, subobject.isMandatory(), body, buffer);
}
}
import org.opendaylight.yangtools.yang.common.Uint16;
/**
- * Parser for {@link PathKey}
+ * Parser for {@link PathKey}.
*/
public class XROPathKey128SubobjectParser implements XROSubobjectParser {
}
final Uint16 pathKey = ByteBufUtils.readUint16(buffer);
final byte[] pceId = ByteArray.readBytes(buffer, PCE128_ID_F_LENGTH);
- final SubobjectBuilder builder = new SubobjectBuilder();
- final PathKeyBuilder pBuilder = new PathKeyBuilder();
- pBuilder.setPceId(new PceId(pceId));
- pBuilder.setPathKey(new PathKey(pathKey));
- builder.setMandatory(mandatory);
- builder.setSubobjectType(new PathKeyCaseBuilder().setPathKey(pBuilder.build()).build());
+ final PathKeyBuilder pBuilder = new PathKeyBuilder()
+ .setPceId(new PceId(pceId))
+ .setPathKey(new PathKey(pathKey));
+ final SubobjectBuilder builder = new SubobjectBuilder()
+ .setMandatory(mandatory)
+ .setSubobjectType(new PathKeyCaseBuilder().setPathKey(pBuilder.build()).build());
return builder.build();
}
import org.opendaylight.yangtools.yang.common.Uint16;
/**
- * Parser for {@link PathKey}
+ * Parser for {@link PathKey}.
*/
public class XROPathKey32SubobjectParser implements XROSubobjectParser, XROSubobjectSerializer {
}
final Uint16 pathKey = ByteBufUtils.readUint16(buffer);
final byte[] pceId = ByteArray.readBytes(buffer, PCE_ID_F_LENGTH);
- final SubobjectBuilder builder = new SubobjectBuilder();
- final PathKeyBuilder pBuilder = new PathKeyBuilder();
- pBuilder.setPceId(new PceId(pceId));
- pBuilder.setPathKey(new PathKey(pathKey));
- builder.setMandatory(mandatory);
- builder.setSubobjectType(new PathKeyCaseBuilder().setPathKey(pBuilder.build()).build());
+ final PathKeyBuilder pBuilder = new PathKeyBuilder()
+ .setPceId(new PceId(pceId))
+ .setPathKey(new PathKey(pathKey));
+ final SubobjectBuilder builder = new SubobjectBuilder()
+ .setMandatory(mandatory)
+ .setSubobjectType(new PathKeyCaseBuilder().setPathKey(pBuilder.build()).build());
return builder.build();
}
final byte[] pceId = pk.getPceId().getValue();
if (pceId.length == XROPathKey128SubobjectParser.PCE128_ID_F_LENGTH) {
- XROPathKey128SubobjectParser.serializeSubobject(subobject,buffer);
+ XROPathKey128SubobjectParser.serializeSubobject(subobject, buffer);
}
checkArgument(pk.getPathKey() != null, "PathKey is mandatory.");
writeUnsignedShort(pk.getPathKey().getValue(), body);
import org.opendaylight.yangtools.yang.common.Uint8;
/**
- * Parser for {@link SrlgCase}
+ * Parser for {@link SrlgCase}.
*/
-public class XROSRLGSubobjectParser implements XROSubobjectParser, XROSubobjectSerializer {
+public class XROSrlgSubobjectParser implements XROSubobjectParser, XROSubobjectSerializer {
public static final int TYPE = 34;
writeUnsignedInt(specObj.getSrlgId().getValue(), body);
checkArgument(subobject.getAttribute() != null, "Attribute is mandatory.");
writeUnsignedByte((Uint8) null, body);
- writeUnsignedByte((short) subobject.getAttribute().getIntValue(), body);
+ writeUnsignedByte(Uint8.valueOf(subobject.getAttribute().getIntValue()), body);
XROSubobjectUtil.formatSubobject(TYPE, subobject.isMandatory(), body, buffer);
}
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.UnnumberedCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.UnnumberedCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.unnumbered._case.UnnumberedBuilder;
+import org.opendaylight.yangtools.yang.common.Uint8;
/**
- * Parser for {@link UnnumberedCase}
+ * Parser for {@link UnnumberedCase}.
*/
public class XROUnnumberedInterfaceSubobjectParser implements XROSubobjectParser, XROSubobjectSerializer {
+ "; Expected: " + CONTENT_LENGTH + ".");
}
buffer.readerIndex(buffer.readerIndex() + RESERVED);
- final SubobjectBuilder builder = new SubobjectBuilder();
- builder.setMandatory(mandatory);
- builder.setAttribute(Attribute.forValue(buffer.readUnsignedByte()));
- final UnnumberedBuilder ubuilder = new UnnumberedBuilder();
- ubuilder.setRouterId(ByteBufUtils.readUint32(buffer));
- ubuilder.setInterfaceId(ByteBufUtils.readUint32(buffer));
- builder.setSubobjectType(new UnnumberedCaseBuilder().setUnnumbered(ubuilder.build()).build());
+ final Attribute attr = Attribute.forValue(buffer.readUnsignedByte());
+ final UnnumberedBuilder ubuilder = new UnnumberedBuilder()
+ .setRouterId(ByteBufUtils.readUint32(buffer))
+ .setInterfaceId(ByteBufUtils.readUint32(buffer));
+ final SubobjectBuilder builder = new SubobjectBuilder()
+ .setMandatory(mandatory)
+ .setAttribute(attr)
+ .setSubobjectType(new UnnumberedCaseBuilder().setUnnumbered(ubuilder.build()).build());
return builder.build();
}
final UnnumberedSubobject specObj = ((UnnumberedCase) subobject.getSubobjectType()).getUnnumbered();
final ByteBuf body = Unpooled.buffer(CONTENT_LENGTH);
body.writeZero(RESERVED);
- writeUnsignedByte(subobject.getAttribute() != null ? (short) subobject.getAttribute().getIntValue() : null,
+ writeUnsignedByte(
+ subobject.getAttribute() != null ? Uint8.valueOf(subobject.getAttribute().getIntValue()) : (Uint8) null,
body);
checkArgument(specObj.getRouterId() != null, "RouterId is mandatory.");
writeUnsignedInt(specObj.getRouterId(), body);
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.vendor.information.tlvs.VendorInformationTlv;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.vendor.information.tlvs.VendorInformationTlvBuilder;
-public abstract class AbstractVendorInformationTlvParser implements TlvSerializer, TlvParser, EnterpriseSpecificInformationParser {
+public abstract class AbstractVendorInformationTlvParser
+ implements TlvSerializer, TlvParser, EnterpriseSpecificInformationParser {
@Override
public final void serializeTlv(final Tlv tlv, final ByteBuf buffer) {
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcrep.message.pcrep.message.replies.result.failure._case.no.path.tlvs.NoPathVectorBuilder;
/**
- * Parser for {@link NoPathVector}
+ * Parser for {@link NoPathVector}.
*/
public class NoPathVectorTlvParser implements TlvParser, TlvSerializer {
return null;
}
if (buffer.readableBytes() != FLAGS_SIZE / Byte.SIZE) {
- throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: " + buffer.readableBytes() + "; Expected: >="
- + FLAGS_SIZE / Byte.SIZE + ".");
+ throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: " + buffer.readableBytes()
+ + "; Expected: >=" + FLAGS_SIZE / Byte.SIZE + ".");
}
final BitArray flags = BitArray.valueOf(buffer, FLAGS_SIZE);
- return new NoPathVectorBuilder().setFlags(
- new Flags(flags.get(CHAIN_UNAVAILABLE), flags.get(NO_GCO_MIGRATION_PATH), flags.get(NO_GCO_SOLUTION), flags.get(REACHABLITY_PROBLEM), flags.get(PATH_KEY), flags.get(PCE_UNAVAILABLE), flags.get(UNKNOWN_DEST), flags.get(UNKNOWN_SRC))).build();
+ return new NoPathVectorBuilder().setFlags(new Flags(flags.get(CHAIN_UNAVAILABLE),
+ flags.get(NO_GCO_MIGRATION_PATH), flags.get(NO_GCO_SOLUTION), flags.get(REACHABLITY_PROBLEM),
+ flags.get(PATH_KEY), flags.get(PCE_UNAVAILABLE), flags.get(UNKNOWN_DEST), flags.get(UNKNOWN_SRC)))
+ .build();
}
@Override
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.of.list.tlv.OfListBuilder;
/**
- * Parser for {@link OfList}
+ * Parser for {@link OfList}.
*/
public class OFListTlvParser implements TlvParser, TlvSerializer {
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.order.tlv.OrderBuilder;
/**
- * Parser for {@link Order}
+ * Parser for {@link Order}.
*/
public class OrderTlvParser implements TlvParser, TlvSerializer {
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.overload.duration.tlv.OverloadDurationBuilder;
/**
- * Parser for {@link OverloadDuration}
+ * Parser for {@link OverloadDuration}.
*/
public class OverloadedDurationTlvParser implements TlvParser, TlvSerializer {
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.req.missing.tlv.ReqMissingBuilder;
/**
- * Parser {@link ReqMissing}
+ * Parser {@link ReqMissing}.
*/
public class ReqMissingTlvParser implements TlvParser, TlvSerializer {
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.proc.time.object.ProcTime;
/**
- * Utilities used in pcep-base-parser
+ * Utilities used in pcep-base-parser.
*/
public final class Util {
metricPceBuilder.setProcTime((ProcTime) obj);
return State.PROC_TIME;
}
- // fall-through
+ // fallthrough
case PROC_TIME :
if (obj instanceof Overload) {
metricPceBuilder.setOverload((Overload) obj);
return State.OVERLOAD;
}
- // fall-through
+ // fallthrough
case OVERLOAD :
- // fall-through
case END :
return State.END;
default:
import org.opendaylight.protocol.pcep.parser.subobject.XROIpv6PrefixSubobjectParser;
import org.opendaylight.protocol.pcep.parser.subobject.XROPathKey128SubobjectParser;
import org.opendaylight.protocol.pcep.parser.subobject.XROPathKey32SubobjectParser;
-import org.opendaylight.protocol.pcep.parser.subobject.XROSRLGSubobjectParser;
+import org.opendaylight.protocol.pcep.parser.subobject.XROSrlgSubobjectParser;
import org.opendaylight.protocol.pcep.parser.subobject.XROUnnumberedInterfaceSubobjectParser;
import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
import org.opendaylight.protocol.util.ByteArray;
@Test
public void testXROIp6PrefixSubobject() throws PCEPDeserializerException {
final XROIpv6PrefixSubobjectParser parser = new XROIpv6PrefixSubobjectParser();
- final SubobjectBuilder subs = new SubobjectBuilder();
- subs.setMandatory(true);
- subs.setAttribute(Attribute.Node);
- subs.setSubobjectType(new IpPrefixCaseBuilder().setIpPrefix(
- new IpPrefixBuilder().setIpPrefix(
- new IpPrefix(Ipv6Util.prefixForBytes(new byte[] {
- (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF,
- (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF,
- (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF,
- (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF
- }, 22)))
- .build()).build());
+ final SubobjectBuilder subs = new SubobjectBuilder()
+ .setMandatory(true)
+ .setAttribute(Attribute.Node)
+ .setSubobjectType(new IpPrefixCaseBuilder().setIpPrefix(
+ new IpPrefixBuilder().setIpPrefix(
+ new IpPrefix(Ipv6Util.prefixForBytes(new byte[] {
+ (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF,
+ (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF,
+ (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF,
+ (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF
+ }, 22)))
+ .build()).build());
assertEquals(
subs.build(), parser.parseSubobject(Unpooled.wrappedBuffer(ByteArray.cutBytes(IP6_PREFIX_BYTES, 2)), true));
final ByteBuf buff = Unpooled.buffer();
@Test
public void testXROSrlgSubobject() throws PCEPDeserializerException {
- final XROSRLGSubobjectParser parser = new XROSRLGSubobjectParser();
+ final XROSrlgSubobjectParser parser = new XROSrlgSubobjectParser();
final SubobjectBuilder subs = new SubobjectBuilder()
.setMandatory(true)
.setAttribute(Attribute.Srlg)
@Test
public void testXROPathKey32Subobject() throws PCEPDeserializerException {
final XROPathKey32SubobjectParser parser = new XROPathKey32SubobjectParser();
- final SubobjectBuilder subs = new SubobjectBuilder();
- subs.setMandatory(true);
- final PathKeyBuilder pBuilder = new PathKeyBuilder();
- pBuilder.setPceId(new PceId(new byte[] { (byte) 0x12, (byte) 0x34, (byte) 0x50, (byte) 0x00 }));
- pBuilder.setPathKey(new PathKey(Uint16.valueOf(4660)));
- subs.setSubobjectType(new PathKeyCaseBuilder().setPathKey(pBuilder.build()).build());
- assertEquals(subs.build(),
- parser.parseSubobject(Unpooled.wrappedBuffer(ByteArray.cutBytes(PATH_KEY32_BYTES, 2)), true));
+ final PathKeyBuilder pBuilder = new PathKeyBuilder()
+ .setPceId(new PceId(new byte[] { (byte) 0x12, (byte) 0x34, (byte) 0x50, (byte) 0x00 }))
+ .setPathKey(new PathKey(Uint16.valueOf(4660)));
+ final SubobjectBuilder subs = new SubobjectBuilder()
+ .setMandatory(true)
+ .setSubobjectType(new PathKeyCaseBuilder().setPathKey(pBuilder.build()).build());
+ assertEquals(
+ subs.build(),parser.parseSubobject(Unpooled.wrappedBuffer(ByteArray.cutBytes(PATH_KEY32_BYTES, 2)), true));
final ByteBuf buff = Unpooled.buffer();
parser.serializeSubobject(subs.build(), buff);
assertArrayEquals(PATH_KEY32_BYTES, ByteArray.getAllBytes(buff));
@Test
public void testXROPathKey128Subobject() throws PCEPDeserializerException {
final XROPathKey128SubobjectParser parser = new XROPathKey128SubobjectParser();
- final SubobjectBuilder subs = new SubobjectBuilder();
- subs.setMandatory(true);
- final PathKeyBuilder pBuilder = new PathKeyBuilder();
- pBuilder.setPceId(new PceId(new byte[] {
- (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78, (byte) 0x9A, (byte) 0xBC, (byte) 0xDE, (byte) 0x12,
- (byte) 0x34, (byte) 0x54, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00
- }));
- pBuilder.setPathKey(new PathKey(Uint16.valueOf(4660)));
- subs.setSubobjectType(new PathKeyCaseBuilder().setPathKey(pBuilder.build()).build());
- assertEquals(subs.build(),
+ final PathKeyBuilder pBuilder = new PathKeyBuilder()
+ .setPceId(new PceId(new byte[] {
+ (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78,
+ (byte) 0x9A, (byte) 0xBC, (byte) 0xDE, (byte) 0x12,
+ (byte) 0x34, (byte) 0x54, (byte) 0x00, (byte) 0x00,
+ (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00
+ }))
+ .setPathKey(new PathKey(Uint16.valueOf(4660)));
+ final SubobjectBuilder subs = new SubobjectBuilder()
+ .setMandatory(true)
+ .setSubobjectType(new PathKeyCaseBuilder().setPathKey(pBuilder.build()).build());
+ assertEquals(
+ subs.build(),
parser.parseSubobject(Unpooled.wrappedBuffer(ByteArray.cutBytes(PATH_KEY128_BYTES, 2)), true));
final ByteBuf buff = Unpooled.buffer();
XROPathKey128SubobjectParser.serializeSubobject(subs.build(), buff);