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()); } } }
@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); }
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(); }
/** * 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); } } }
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 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; }