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);
}
Aggregations