public PcerrMessage build() { return new PcerrMessageImpl(this); }
public PcerrMessageBuilder addAugmentation(java.lang.Class<? extends Augmentation<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcerr.message.PcerrMessage>> augmentationType, Augmentation<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcerr.message.PcerrMessage> augmentation) { if (augmentation == null) { return removeAugmentation(augmentationType); } if (!(this.augmentation instanceof HashMap)) { this.augmentation = new HashMap<>(); } this.augmentation.put(augmentationType, augmentation); return this; }
/** * If needed, subclasses can override this method. */ protected void serializeCases(final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.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) { serializeObject(r.getRp(), buffer); } } }
public static Message createErrorMsg(final PCEPErrors e, final Optional<Rp> rp) { final PcerrMessageBuilder msgBuilder = new PcerrMessageBuilder(); if (rp.isPresent()) { new RequestCaseBuilder().setRequest(new RequestBuilder().setRps(Collections.singletonList(new RpsBuilder().setRp( rp.get()).build())).build()).build(); } return new PcerrBuilder().setPcerrMessage( msgBuilder.setErrors(Arrays.asList(new ErrorsBuilder().setErrorObject( new ErrorObjectBuilder().setType(e.getErrorType()).setValue( e.getErrorValue()).build()).build())).build()).build(); }
public static Message createErrorMessage(final PCEPErrors e, final Open t) { final PcerrBuilder errMessageBuilder = new PcerrBuilder(); final ErrorObject err = new ErrorObjectBuilder().setType(e.getErrorType()).setValue(e.getErrorValue()).build(); if (t == null) { return errMessageBuilder.setPcerrMessage( new PcerrMessageBuilder().setErrors(Arrays.asList(new ErrorsBuilder().setErrorObject(err).build())).build()).build(); } else { final ErrorType type = new SessionCaseBuilder().setSession(new SessionBuilder().setOpen(t).build()).build(); return errMessageBuilder.setPcerrMessage( new PcerrMessageBuilder().setErrors(Arrays.asList(new ErrorsBuilder().setErrorObject(err).build())).setErrorType(type).build()).build(); } } }
if (obj instanceof Rp) { final Rp o = ((Rp) obj); requestParameters.add(new RpsBuilder().setRp(o).build()); return State.RP_IN; if (obj instanceof ErrorObject) { final ErrorObject o = (ErrorObject) obj; errorObjects.add(new ErrorsBuilder().setErrorObject(o).build()); return State.ERROR_IN; b.setErrorType(new SessionCaseBuilder().setSession(new SessionBuilder().setOpen((Open) obj).build()).build()); return State.OPEN_IN; if (obj instanceof ErrorObject) { final ErrorObject o = (ErrorObject) obj; errorObjects.add(new ErrorsBuilder().setErrorObject(o).build()); return State.ERROR;
public static Pcerr createErrorMsg(@Nonnull final PCEPErrors e, @Nonnull final long srpId) { final PcerrMessageBuilder msgBuilder = new PcerrMessageBuilder(); return new PcerrBuilder().setPcerrMessage( msgBuilder .setErrorType( new StatefulCaseBuilder().setStateful( new StatefulBuilder().setSrps( Lists.newArrayList(new SrpsBuilder().setSrp( new SrpBuilder().setProcessingRule(false).setIgnore(false) .setOperationId(new SrpIdNumber(srpId)).build()) .build())).build()).build()) .setErrors( Arrays.asList(new ErrorsBuilder().setErrorObject( new ErrorObjectBuilder().setType(e.getErrorType()).setValue(e.getErrorValue()) .build()).build())).build()).build(); }
@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.rev131005.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()) { serializeObject(e.getErrorObject(), buffer); } if (err.getErrorType() instanceof SessionCase) { serializeObject(((SessionCase) err.getErrorType()).getSession().getOpen(), buffer); } MessageUtil.formatMessage(TYPE, buffer, out); }
if (!Objects.equals(_errorType, other.getErrorType())) { return false; if (!Objects.equals(_errors, other.getErrors())) { return false; if (!Objects.equals(_version, other.getVersion())) { return false; if (!e.getValue().equals(other.getAugmentation(e.getKey()))) { return false;
public PcerrMessageBuilder(PcerrMessage base) { this._errorType = base.getErrorType(); this._errors = base.getErrors(); this._version = base.getVersion(); if (base instanceof PcerrMessageImpl) { PcerrMessageImpl impl = (PcerrMessageImpl) base; if (!impl.augmentation.isEmpty()) { this.augmentation = new HashMap<>(impl.augmentation); } } else if (base instanceof AugmentationHolder) { @SuppressWarnings("unchecked") AugmentationHolder<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcerr.message.PcerrMessage> casted =(AugmentationHolder<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcerr.message.PcerrMessage>) base; if (!casted.augmentations().isEmpty()) { this.augmentation = new HashMap<>(casted.augmentations()); } } }
private boolean handleErrorMessage(final PcerrMessage message) { final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcerr.message.PcerrMessage errMsg = message.getPcerrMessage(); if (errMsg.getErrorType() instanceof StatefulCase) { final StatefulCase stat = (StatefulCase)errMsg.getErrorType(); for (final Srps srps : stat.getStateful().getSrps()) { final SrpIdNumber id = srps.getSrp().getOperationId(); if (id.getValue() != 0) { final PCEPRequest req = removeRequest(id); if (req != null) { req.done(OperationResults.createFailed(errMsg.getErrors())); } else { LOG.warn("Request ID {} not found in outstanding DB", id); } } } } else { LOG.warn("Unhandled PCErr message {}.", errMsg); return true; } return false; }
private static ErrorObject getErrorObject(final Message msg) { Preconditions.checkNotNull(msg); final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcerr.message.PcerrMessage errMsg = ((PcerrMessage) msg).getPcerrMessage(); return errMsg.getErrors().get(errMsg.getErrors().size() - 1).getErrorObject(); }
private PcerrMessageImpl(PcerrMessageBuilder base) { this._errorType = base.getErrorType(); this._errors = base.getErrors(); this._version = base.getVersion(); switch (base.augmentation.size()) { case 0: this.augmentation = Collections.emptyMap(); break; case 1: final Map.Entry<java.lang.Class<? extends Augmentation<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcerr.message.PcerrMessage>>, Augmentation<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcerr.message.PcerrMessage>> e = base.augmentation.entrySet().iterator().next(); this.augmentation = Collections.<java.lang.Class<? extends Augmentation<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcerr.message.PcerrMessage>>, Augmentation<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcerr.message.PcerrMessage>>singletonMap(e.getKey(), e.getValue()); break; default : this.augmentation = new HashMap<>(base.augmentation); } }
final PcerrMessageBuilder b = new PcerrMessageBuilder(); errorObjects.add(new ErrorsBuilder().setErrorObject(o).build()); state = State.ERROR_IN; } else if (obj instanceof Rp) { return null; requestParameters.add(new RpsBuilder().setRp(o).build()); state = State.RP_IN; obj = objects.get(0); if (obj instanceof UnknownObject) { return new PcerrBuilder().setPcerrMessage(b.setErrors(((UnknownObject) obj).getErrors()).build()).build(); b.setErrorType(new RequestCaseBuilder().setRequest(new RequestBuilder().setRps(requestParameters).build()).build()); return new PcerrBuilder().setPcerrMessage(b.setErrors(errorObjects).build()).build();
private boolean handleMessagePcerr(final Message msg) { final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcerr.message.PcerrMessage err = ((Pcerr) msg).getPcerrMessage(); if (err.getErrorType() == null) { final ErrorObject obj = err.getErrors().get(0).getErrorObject(); LOG.warn("Unexpected error received from PCC: type {} value {}", obj.getType(), obj.getValue()); negotiationFailed(new IllegalStateException("Unexpected error received from PCC.")); this.state = State.IDLE; return true; } this.localPrefs = getRevisedProposal(((SessionCase) err.getErrorType()).getSession().getOpen()); if (this.localPrefs == null) { sendErrorMessage(PCEPErrors.PCERR_NON_ACC_SESSION_CHAR); negotiationFailed(new IllegalStateException("Peer suggested unacceptable retry proposal")); this.state = State.FINISHED; return true; } this.sendMessage(new OpenBuilder().setOpenMessage(new OpenMessageBuilder().setOpen(this.localPrefs).build()).build()); if (!this.remoteOK) { this.state = State.OPEN_WAIT; } scheduleFailTimer(); return true; }