Search in sources :

Example 1 with MessageId

use of io.spine.core.MessageId in project core-java by SpineEventEngine.

the class EntityLifecycle method onCorruptedState.

public void onCorruptedState(BatchDispatchOutcome outcome) {
    var outcomes = outcome.getOutcomeList();
    var lastSuccessful = MessageId.getDefaultInstance();
    MessageId erroneous = null;
    Error error = null;
    var interruptedCount = 0;
    for (var dispatchOutcome : outcomes) {
        if (dispatchOutcome.hasSuccess()) {
            lastSuccessful = dispatchOutcome.getPropagatedSignal();
        } else if (dispatchOutcome.hasError()) {
            erroneous = dispatchOutcome.getPropagatedSignal();
            error = dispatchOutcome.getError();
        } else {
            interruptedCount++;
        }
    }
    if (error == null) {
        error = Error.getDefaultInstance();
    }
    if (erroneous == null) {
        erroneous = MessageId.getDefaultInstance();
    }
    var event = AggregateHistoryCorrupted.newBuilder().setEntity(entityId).setEntityType(typeName).setLastSuccessfulEvent(lastSuccessful).setErroneousEvent(erroneous).setError(error).setInterruptedEvents(interruptedCount).vBuild();
    postEvent(event);
}
Also used : Error(io.spine.base.Error) CommandValidationError(io.spine.core.CommandValidationError) ValidationError(io.spine.validate.ValidationError) EventValidationError(io.spine.core.EventValidationError) MessageId(io.spine.core.MessageId)

Aggregations

Error (io.spine.base.Error)1 CommandValidationError (io.spine.core.CommandValidationError)1 EventValidationError (io.spine.core.EventValidationError)1 MessageId (io.spine.core.MessageId)1 ValidationError (io.spine.validate.ValidationError)1