public class SrPcInitiateMessageParser extends CInitiated00PCInitiateMessageParser {
- public SrPcInitiateMessageParser(ObjectRegistry registry) {
+ public SrPcInitiateMessageParser(final ObjectRegistry registry) {
super(registry);
}
@Override
- protected void serializeRequest(Requests req, ByteBuf buffer) {
- if(isSegmentRoutingPath(req.getSrp())) {
- serializeObject(req.getSrp(), buffer);
- if(req.getLsp() != null) {
- serializeObject(req.getLsp(), buffer);
- }
- final Ero srEro = req.getEro();
- if(srEro != null) {
- serializeObject(srEro, buffer);
- }
+ protected void serializeRequest(final Requests req, final ByteBuf buffer) {
+ if (SrEroUtil.isSegmentRoutingPath(req.getEro())) {
+ serializeObject(SrEroUtil.addSRPathSetupTypeTlv(req.getSrp()), buffer);
+ serializeObject(req.getLsp(), buffer);
+ serializeObject(req.getEro(), buffer);
} else {
super.serializeRequest(req, buffer);
}
}
@Override
- protected Requests getValidRequest(List<Object> objects) {
+ protected Requests getValidRequest(final List<Object> objects) {
final Srp srp = (Srp) objects.get(0);
- if(isSegmentRoutingPath(srp)) {
+ if (isSegmentRoutingPath(srp)) {
final RequestsBuilder builder = new RequestsBuilder();
builder.setSrp(srp);
objects.remove(0);
objects.remove(0);
final Object obj = objects.get(0);
- if(obj != null) {
- if(obj instanceof Ero) {
- builder.setEro((Ero)obj);
- objects.remove(0);
- }
+ if (obj instanceof Ero) {
+ builder.setEro((Ero) obj);
+ objects.remove(0);
}
return builder.build();
}
}
private boolean isSegmentRoutingPath(final Srp srp) {
- if(srp != null && srp.getTlvs() != null) {
- return SrEroUtil.isPst(srp.getTlvs().getAugmentation(Tlvs5.class)) || SrEroUtil.isPst(srp.getTlvs().getAugmentation(Tlvs7.class));
+ if (srp != null && srp.getTlvs() != null) {
+ return SrEroUtil.isPst(srp.getTlvs().getAugmentation(Tlvs5.class))
+ || SrEroUtil.isPst(srp.getTlvs().getAugmentation(Tlvs7.class));
}
return false;
}