CurrencySession state machine again revise error fix
This commit is contained in:
parent
c1d8df629c
commit
1e8d56d5ca
1 changed files with 19 additions and 9 deletions
|
|
@ -39,8 +39,6 @@ import ru.spcex.clearing.session.state.action.UpdateWorkflowStatusAction;
|
|||
import ru.spcex.clearing.session.state.guard.ErroneousRegistriesPresentGuard;
|
||||
import ru.spcex.clearing.session.state.guard.PaymentsWereCreatedGuard;
|
||||
import ru.spcex.clearing.session.state.guard.PaymentsWereNotCreatedGuard;
|
||||
import ru.spcex.clearing.session.state.guard.SdfGuard;
|
||||
import ru.spcex.clearing.session.state.guard.SdfGuardExtractorAfterAgainRevise;
|
||||
import ru.spcex.clearing.session.state.guard.SdfGuardUtil;
|
||||
import ru.spcex.clearing.session.state.guard.SdfSetGuard;
|
||||
import ru.spcex.clearing.session.state.guard.StashedRegistriesPresentGuard;
|
||||
|
|
@ -177,13 +175,7 @@ public class CurrencySessionStateMachineConfig extends EnumStateMachineConfigure
|
|||
.and()
|
||||
.withExternal()
|
||||
.source(TaskType.InclusionToPool).target(TaskType.InspectionObligations)
|
||||
.action(inspectionObligationsV2Action)
|
||||
.and()
|
||||
.withExternal()
|
||||
.source(TaskType.PSEUDO_waitSdfAfterAgainRevise)
|
||||
.target(TaskType.AgainRevise)
|
||||
.guard(new SdfGuard(SdfGuardExtractorAfterAgainRevise.instance))
|
||||
.action(againRevise);
|
||||
.action(inspectionObligationsV2Action);
|
||||
|
||||
sourceObligationAdmission(transitions);
|
||||
sourcePseudoAfterOAError(transitions);
|
||||
|
|
@ -191,6 +183,7 @@ public class CurrencySessionStateMachineConfig extends EnumStateMachineConfigure
|
|||
sourceFormingPaymentInstruction(transitions);
|
||||
sourcePseudoWaitSdfAfterPaymentInstructions(transitions);
|
||||
sourceAgainRevise(transitions);
|
||||
sourcePseudoWaitAfterAgainRevise(transitions);
|
||||
sourceInspection(transitions);
|
||||
}
|
||||
|
||||
|
|
@ -300,6 +293,23 @@ public class CurrencySessionStateMachineConfig extends EnumStateMachineConfigure
|
|||
.guard(invert(reviseSuccessGuard));
|
||||
}
|
||||
|
||||
private void sourcePseudoWaitAfterAgainRevise(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||
EnumSet<SsnEvent> ssnEvents = SdfGuardUtil.afterAgainReviseError(SECTION);
|
||||
transitions
|
||||
.withExternal()
|
||||
.source(TaskType.PSEUDO_waitSdfAfterAgainRevise)
|
||||
.target(TaskType.AgainRevise)
|
||||
.guard(new SdfSetGuard(ssnEvents))
|
||||
.action(againRevise);
|
||||
for (var event : ssnEvents) {
|
||||
transitions
|
||||
.withInternal()
|
||||
.source(TaskType.PSEUDO_waitSdfAfterAgainRevise)
|
||||
.event(event)
|
||||
.action(SdfReceivedAction.instance);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void configure(StateMachineConfigurationConfigurer<TaskType, SsnEvent> config) throws Exception {
|
||||
StateMachineListenerAdapter<TaskType, SsnEvent> loggingChangeStateListener
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue