session state machine restore
This commit is contained in:
parent
6cce11d0ae
commit
aaddaa5633
11 changed files with 174 additions and 120 deletions
|
|
@ -149,6 +149,8 @@ public class CurrencySessionStateMachineConfig extends EnumStateMachineConfigure
|
||||||
TaskType.PSEUDO_waitSdfAfterPaymentInstructions,
|
TaskType.PSEUDO_waitSdfAfterPaymentInstructions,
|
||||||
TaskType.PSEUDO_waitAfterObligationAdmissionError,
|
TaskType.PSEUDO_waitAfterObligationAdmissionError,
|
||||||
TaskType.PSEUDO_waitSdfAfterAgainRevise,
|
TaskType.PSEUDO_waitSdfAfterAgainRevise,
|
||||||
|
TaskType.PSEUDO_waitAfterObligationAdmissionRestore,
|
||||||
|
TaskType.PSEUDO_waitAfterInspectionRestore,
|
||||||
TaskType.PSEUDO_waitAfterInspectionError
|
TaskType.PSEUDO_waitAfterInspectionError
|
||||||
)))
|
)))
|
||||||
.end(TaskType.FinishingSession);
|
.end(TaskType.FinishingSession);
|
||||||
|
|
@ -179,8 +181,8 @@ public class CurrencySessionStateMachineConfig extends EnumStateMachineConfigure
|
||||||
.action(inspectionObligationsV2Action);
|
.action(inspectionObligationsV2Action);
|
||||||
|
|
||||||
sourceObligationAdmission(transitions);
|
sourceObligationAdmission(transitions);
|
||||||
sourcePseudoAfterOAError(transitions);
|
sourcePseudoAfterOAPause(transitions);
|
||||||
sourcePseudoAfterIOError(transitions);
|
sourcePseudoAfterIOPause(transitions);
|
||||||
sourceFormingPaymentInstruction(transitions);
|
sourceFormingPaymentInstruction(transitions);
|
||||||
sourcePseudoWaitSdfAfterPaymentInstructions(transitions);
|
sourcePseudoWaitSdfAfterPaymentInstructions(transitions);
|
||||||
sourceAgainRevise(transitions);
|
sourceAgainRevise(transitions);
|
||||||
|
|
@ -217,21 +219,23 @@ public class CurrencySessionStateMachineConfig extends EnumStateMachineConfigure
|
||||||
.action(chain(obligationAdmissionContinueAction, inclusionToPoolAction));
|
.action(chain(obligationAdmissionContinueAction, inclusionToPoolAction));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourcePseudoAfterOAError(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourcePseudoAfterOAPause(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
transitions
|
transitions
|
||||||
//continue and repeat after ObligationAdmission
|
//continue and repeat after ObligationAdmission
|
||||||
.withExternal()
|
.withExternal()
|
||||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.InclusionToPool)
|
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.InclusionToPool)
|
||||||
.action(chain(activeWsAction, obligationAdmissionContinueAction, inclusionToPoolAction))
|
.action(chain(activeWsAction, obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||||
.event(SsnEvent.CONTINUE)
|
.event(SsnEvent.CONTINUE);
|
||||||
.and()
|
for (var taskType : List.of(TaskType.PSEUDO_waitAfterObligationAdmissionError, TaskType.PSEUDO_waitAfterObligationAdmissionRestore)) {
|
||||||
.withExternal()
|
transitions
|
||||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.ObligationsAdmission)
|
.withExternal()
|
||||||
|
.source(taskType).target(TaskType.ObligationsAdmission)
|
||||||
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
||||||
.event(SsnEvent.REPEAT);
|
.event(SsnEvent.REPEAT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourcePseudoAfterIOError(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourcePseudoAfterIOPause(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
transitions
|
transitions
|
||||||
//continue and repeat after InspectionObligations
|
//continue and repeat after InspectionObligations
|
||||||
.withExternal()
|
.withExternal()
|
||||||
|
|
@ -239,12 +243,14 @@ public class CurrencySessionStateMachineConfig extends EnumStateMachineConfigure
|
||||||
.action(activeWsAction)
|
.action(activeWsAction)
|
||||||
.action(saveRegistriesAfterInspectionAndContinueAction)
|
.action(saveRegistriesAfterInspectionAndContinueAction)
|
||||||
.action(formingPaymentInstructionAssetsAction)
|
.action(formingPaymentInstructionAssetsAction)
|
||||||
.event(SsnEvent.CONTINUE)
|
.event(SsnEvent.CONTINUE);
|
||||||
.and()
|
for (var taskType : List.of(TaskType.PSEUDO_waitAfterInspectionError, TaskType.PSEUDO_waitAfterInspectionRestore)) {
|
||||||
.withExternal()
|
transitions
|
||||||
.source(TaskType.PSEUDO_waitAfterInspectionError).target(TaskType.InspectionObligations)
|
.withExternal()
|
||||||
|
.source(taskType).target(TaskType.InspectionObligations)
|
||||||
.action(chain(activeWsAction, discardInspOblStash, inspectionObligationsV2Action))
|
.action(chain(activeWsAction, discardInspOblStash, inspectionObligationsV2Action))
|
||||||
.event(SsnEvent.REPEAT);
|
.event(SsnEvent.REPEAT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourceFormingPaymentInstruction(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourceFormingPaymentInstruction(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import java.time.LocalDate;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
@ -35,7 +36,6 @@ import ru.spcex.clearing.session.state.action.SaveRegistriesAfterInspectionAndCo
|
||||||
import ru.spcex.clearing.session.state.action.SaveRegistriesAndContinueAction;
|
import ru.spcex.clearing.session.state.action.SaveRegistriesAndContinueAction;
|
||||||
import ru.spcex.clearing.session.state.action.Sdf56Action;
|
import ru.spcex.clearing.session.state.action.Sdf56Action;
|
||||||
import ru.spcex.clearing.session.state.action.SdfReceivedAction;
|
import ru.spcex.clearing.session.state.action.SdfReceivedAction;
|
||||||
import ru.spcex.clearing.session.state.action.UpdateSessionStatusAction;
|
|
||||||
import ru.spcex.clearing.session.state.action.UpdateWorkflowStatusAction;
|
import ru.spcex.clearing.session.state.action.UpdateWorkflowStatusAction;
|
||||||
import ru.spcex.clearing.session.state.guard.ErroneousRegistriesPresentGuard;
|
import ru.spcex.clearing.session.state.guard.ErroneousRegistriesPresentGuard;
|
||||||
import ru.spcex.clearing.session.state.guard.PaymentsWereCreatedGuard;
|
import ru.spcex.clearing.session.state.guard.PaymentsWereCreatedGuard;
|
||||||
|
|
@ -77,7 +77,6 @@ public class FinalSessionStateMachineConfig
|
||||||
new DiscardRegistriesAction(DataEnum.obligationAdmissionStashedRgs);
|
new DiscardRegistriesAction(DataEnum.obligationAdmissionStashedRgs);
|
||||||
private final UpdateWorkflowStatusAction pauseWsAction;
|
private final UpdateWorkflowStatusAction pauseWsAction;
|
||||||
private final UpdateWorkflowStatusAction activeWsAction;
|
private final UpdateWorkflowStatusAction activeWsAction;
|
||||||
private final UpdateSessionStatusAction inspectionStatusAction;
|
|
||||||
private final DiscardRegistriesAction discardInspOblStash = new DiscardRegistriesAction(
|
private final DiscardRegistriesAction discardInspOblStash = new DiscardRegistriesAction(
|
||||||
DataEnum.inspectionObligationStashedRgs
|
DataEnum.inspectionObligationStashedRgs
|
||||||
);
|
);
|
||||||
|
|
@ -108,7 +107,7 @@ public class FinalSessionStateMachineConfig
|
||||||
SaveRegistriesAndContinueAction obligationAdmissionContinueAction,
|
SaveRegistriesAndContinueAction obligationAdmissionContinueAction,
|
||||||
SaveRegistriesAfterInspectionAndContinueAction saveRegistriesAfterInspectionAndContinueAction,
|
SaveRegistriesAfterInspectionAndContinueAction saveRegistriesAfterInspectionAndContinueAction,
|
||||||
@Qualifier("pauseWorkflowStatusAction") UpdateWorkflowStatusAction pauseWsAction,
|
@Qualifier("pauseWorkflowStatusAction") UpdateWorkflowStatusAction pauseWsAction,
|
||||||
@Qualifier("activeWorkflowStatusAction") UpdateWorkflowStatusAction activeWsAction, UpdateSessionStatusAction inspectionStatusAction
|
@Qualifier("activeWorkflowStatusAction") UpdateWorkflowStatusAction activeWsAction
|
||||||
) {
|
) {
|
||||||
this.sendSdf56Action = sendSdf56Action;
|
this.sendSdf56Action = sendSdf56Action;
|
||||||
this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class);
|
this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class);
|
||||||
|
|
@ -116,7 +115,6 @@ public class FinalSessionStateMachineConfig
|
||||||
this.saveRegistriesAfterInspectionAndContinueAction = saveRegistriesAfterInspectionAndContinueAction;
|
this.saveRegistriesAfterInspectionAndContinueAction = saveRegistriesAfterInspectionAndContinueAction;
|
||||||
this.pauseWsAction = pauseWsAction;
|
this.pauseWsAction = pauseWsAction;
|
||||||
this.activeWsAction = activeWsAction;
|
this.activeWsAction = activeWsAction;
|
||||||
this.inspectionStatusAction = inspectionStatusAction.status(TaskType.InspectionObligations);
|
|
||||||
Imdg<Registry> rgsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class);
|
Imdg<Registry> rgsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class);
|
||||||
this.reviseStage1Action = reviseStage1Action;
|
this.reviseStage1Action = reviseStage1Action;
|
||||||
this.dealsPrepareAction = dealsPrepareAction;
|
this.dealsPrepareAction = dealsPrepareAction;
|
||||||
|
|
@ -165,9 +163,12 @@ public class FinalSessionStateMachineConfig
|
||||||
TaskType.FinishingSession,
|
TaskType.FinishingSession,
|
||||||
TaskType.PSEUDO_waitSdfAfterPaymentInstructions,
|
TaskType.PSEUDO_waitSdfAfterPaymentInstructions,
|
||||||
TaskType.PSEUDO_waitAfterObligationAdmissionError,
|
TaskType.PSEUDO_waitAfterObligationAdmissionError,
|
||||||
TaskType.PSEUDO_InspectionObligationDepositReturn,
|
TaskType.InspectionObligationDepositReturn,
|
||||||
TaskType.PSEUDO_waitAfterInspectionError,
|
TaskType.PSEUDO_waitAfterInspectionError,
|
||||||
TaskType.PSEUDO_waitAfterInspectionDepositReturnError
|
TaskType.PSEUDO_waitAfterInspectionDepositReturnError,
|
||||||
|
TaskType.PSEUDO_waitAfterObligationAdmissionRestore,
|
||||||
|
TaskType.PSEUDO_waitAfterInspectionRestore,
|
||||||
|
TaskType.PSEUDO_waitAfterInspectionDepositReturnRestore
|
||||||
)))
|
)))
|
||||||
.end(TaskType.FinishingSession);
|
.end(TaskType.FinishingSession);
|
||||||
}
|
}
|
||||||
|
|
@ -194,16 +195,16 @@ public class FinalSessionStateMachineConfig
|
||||||
.action(obligationAdmissionAction)
|
.action(obligationAdmissionAction)
|
||||||
.and()
|
.and()
|
||||||
.withExternal()
|
.withExternal()
|
||||||
.source(TaskType.InclusionToPool).target(TaskType.PSEUDO_InspectionObligationDepositReturn)
|
.source(TaskType.InclusionToPool).target(TaskType.InspectionObligationDepositReturn)
|
||||||
//нужно сменить статус ручками, т.к. псевдо состояние
|
//нужно сменить статус ручками, т.к. псевдо состояние
|
||||||
.action(chain(inspectionStatusAction, inspOblDepositReturnAction));
|
.action(inspOblDepositReturnAction);
|
||||||
|
|
||||||
sourceObligationAdmission(transitions);
|
sourceObligationAdmission(transitions);
|
||||||
sourcePseudoAfterOAError(transitions);
|
sourcePseudoAfterOAPause(transitions);
|
||||||
sourceIODepositReturn(transitions);
|
sourceIODepositReturn(transitions);
|
||||||
sourceIODepositReturnError(transitions);
|
sourceIODepositReturnPause(transitions);
|
||||||
sourceIO(transitions);
|
sourceIO(transitions);
|
||||||
sourceIOError(transitions);
|
sourceIOPause(transitions);
|
||||||
sourceFormingPaymentInstruction(transitions);
|
sourceFormingPaymentInstruction(transitions);
|
||||||
sourcePseudoWaitSdfAfterPaymentInstructions(transitions);
|
sourcePseudoWaitSdfAfterPaymentInstructions(transitions);
|
||||||
}
|
}
|
||||||
|
|
@ -225,20 +226,20 @@ public class FinalSessionStateMachineConfig
|
||||||
private void sourceIODepositReturn(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourceIODepositReturn(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
transitions
|
transitions
|
||||||
.withExternal()
|
.withExternal()
|
||||||
.source(TaskType.PSEUDO_InspectionObligationDepositReturn)
|
.source(TaskType.InspectionObligationDepositReturn)
|
||||||
.target(TaskType.PSEUDO_waitAfterInspectionDepositReturnError)
|
.target(TaskType.PSEUDO_waitAfterInspectionDepositReturnError)
|
||||||
.guard(inspErrGuard)
|
.guard(inspErrGuard)
|
||||||
.action(pauseWsAction)
|
.action(pauseWsAction)
|
||||||
.and()
|
.and()
|
||||||
.withExternal()
|
.withExternal()
|
||||||
.source(TaskType.PSEUDO_InspectionObligationDepositReturn)
|
.source(TaskType.InspectionObligationDepositReturn)
|
||||||
.target(TaskType.InspectionObligations)
|
.target(TaskType.InspectionObligations)
|
||||||
.guard(invert(inspErrGuard))
|
.guard(invert(inspErrGuard))
|
||||||
.action(saveRegistriesAfterInspectionAndContinueAction)
|
.action(saveRegistriesAfterInspectionAndContinueAction)
|
||||||
.action(inspectionObligationsV2Action);
|
.action(inspectionObligationsV2Action);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourceIODepositReturnError(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourceIODepositReturnPause(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
transitions
|
transitions
|
||||||
//continue and repeat after InspectionObligations
|
//continue and repeat after InspectionObligations
|
||||||
.withExternal()
|
.withExternal()
|
||||||
|
|
@ -246,12 +247,14 @@ public class FinalSessionStateMachineConfig
|
||||||
.action(activeWsAction)
|
.action(activeWsAction)
|
||||||
.action(saveRegistriesAfterInspectionAndContinueAction)
|
.action(saveRegistriesAfterInspectionAndContinueAction)
|
||||||
.action(inspectionObligationsV2Action)
|
.action(inspectionObligationsV2Action)
|
||||||
.event(SsnEvent.CONTINUE)
|
.event(SsnEvent.CONTINUE);
|
||||||
.and()
|
for (var taskType : List.of(TaskType.PSEUDO_waitAfterInspectionDepositReturnError, TaskType.PSEUDO_waitAfterInspectionDepositReturnRestore)) {
|
||||||
.withExternal()
|
transitions
|
||||||
.source(TaskType.PSEUDO_waitAfterInspectionDepositReturnError).target(TaskType.PSEUDO_InspectionObligationDepositReturn)
|
.withExternal()
|
||||||
|
.source(taskType).target(TaskType.InspectionObligationDepositReturn)
|
||||||
.action(chain(activeWsAction, discardInspOblStash, inspOblDepositReturnAction))
|
.action(chain(activeWsAction, discardInspOblStash, inspOblDepositReturnAction))
|
||||||
.event(SsnEvent.REPEAT);
|
.event(SsnEvent.REPEAT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourceIO(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourceIO(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
|
|
@ -270,7 +273,7 @@ public class FinalSessionStateMachineConfig
|
||||||
.action(formingPaymentInstructionAssetsAction);
|
.action(formingPaymentInstructionAssetsAction);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourceIOError(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourceIOPause(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
transitions
|
transitions
|
||||||
//continue and repeat after InspectionObligations
|
//continue and repeat after InspectionObligations
|
||||||
.withExternal()
|
.withExternal()
|
||||||
|
|
@ -279,26 +282,30 @@ public class FinalSessionStateMachineConfig
|
||||||
.action(saveRegistriesAfterInspectionAndContinueAction)
|
.action(saveRegistriesAfterInspectionAndContinueAction)
|
||||||
.action(formingPaymentInstructionReturnMkrAction)
|
.action(formingPaymentInstructionReturnMkrAction)
|
||||||
.action(formingPaymentInstructionAssetsAction)
|
.action(formingPaymentInstructionAssetsAction)
|
||||||
.event(SsnEvent.CONTINUE)
|
.event(SsnEvent.CONTINUE);
|
||||||
.and()
|
for (var taskType : List.of(TaskType.PSEUDO_waitAfterInspectionError, TaskType.PSEUDO_waitAfterInspectionRestore)) {
|
||||||
.withExternal()
|
transitions
|
||||||
.source(TaskType.PSEUDO_waitAfterInspectionError).target(TaskType.InspectionObligations)
|
.withExternal()
|
||||||
|
.source(taskType).target(TaskType.InspectionObligations)
|
||||||
.action(chain(activeWsAction, discardInspOblStash, inspectionObligationsV2Action))
|
.action(chain(activeWsAction, discardInspOblStash, inspectionObligationsV2Action))
|
||||||
.event(SsnEvent.REPEAT);
|
.event(SsnEvent.REPEAT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void sourcePseudoAfterOAError(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourcePseudoAfterOAPause(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
transitions
|
transitions
|
||||||
.withExternal()
|
.withExternal()
|
||||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.InclusionToPool)
|
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.InclusionToPool)
|
||||||
.action(chain(activeWsAction, obligationAdmissionContinueAction, inclusionToPoolAction))
|
.action(chain(activeWsAction, obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||||
.event(SsnEvent.CONTINUE)
|
.event(SsnEvent.CONTINUE);
|
||||||
.and()
|
for (var taskType : List.of(TaskType.PSEUDO_waitAfterObligationAdmissionError, TaskType.PSEUDO_waitAfterObligationAdmissionRestore)) {
|
||||||
.withExternal()
|
transitions
|
||||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.ObligationsAdmission)
|
.withExternal()
|
||||||
|
.source(taskType).target(TaskType.ObligationsAdmission)
|
||||||
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
||||||
.event(SsnEvent.REPEAT);
|
.event(SsnEvent.REPEAT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourceFormingPaymentInstruction(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourceFormingPaymentInstruction(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import java.time.LocalDate;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
@ -155,7 +156,8 @@ public class IntermediateMkrSessionStateMachineConfig
|
||||||
TaskType.FinishingSession,
|
TaskType.FinishingSession,
|
||||||
TaskType.PSEUDO_waitSdfAfterPaymentInstructions,
|
TaskType.PSEUDO_waitSdfAfterPaymentInstructions,
|
||||||
TaskType.PSEUDO_waitAfterObligationAdmissionError,
|
TaskType.PSEUDO_waitAfterObligationAdmissionError,
|
||||||
TaskType.PSEUDO_waitSdfAfterAgainRevise
|
TaskType.PSEUDO_waitSdfAfterAgainRevise,
|
||||||
|
TaskType.PSEUDO_waitAfterObligationAdmissionRestore
|
||||||
)))
|
)))
|
||||||
.end(TaskType.FinishingSession);
|
.end(TaskType.FinishingSession);
|
||||||
}
|
}
|
||||||
|
|
@ -186,7 +188,7 @@ public class IntermediateMkrSessionStateMachineConfig
|
||||||
.action(inspectionObligationsV2Action);
|
.action(inspectionObligationsV2Action);
|
||||||
|
|
||||||
sourceObligationAdmission(transitions);
|
sourceObligationAdmission(transitions);
|
||||||
sourcePseudoAfterOAError(transitions);
|
sourcePseudoAfterOAPause(transitions);
|
||||||
sourceFormingPaymentInstructions(transitions);
|
sourceFormingPaymentInstructions(transitions);
|
||||||
sourcePseudoWaitSdfAfterPaymentInstructions(transitions);
|
sourcePseudoWaitSdfAfterPaymentInstructions(transitions);
|
||||||
sourceAgainRevise(transitions);
|
sourceAgainRevise(transitions);
|
||||||
|
|
@ -216,18 +218,20 @@ public class IntermediateMkrSessionStateMachineConfig
|
||||||
.action(chain(obligationAdmissionContinueAction, inclusionToPoolAction));
|
.action(chain(obligationAdmissionContinueAction, inclusionToPoolAction));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourcePseudoAfterOAError(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourcePseudoAfterOAPause(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
transitions
|
transitions
|
||||||
//continue and repeat after ObligationAdmission
|
//continue and repeat after ObligationAdmission
|
||||||
.withExternal()
|
.withExternal()
|
||||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.InclusionToPool)
|
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.InclusionToPool)
|
||||||
.action(chain(activeWsAction, obligationAdmissionContinueAction, inclusionToPoolAction))
|
.action(chain(activeWsAction, obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||||
.event(SsnEvent.CONTINUE)
|
.event(SsnEvent.CONTINUE);
|
||||||
.and()
|
for (var taskType : List.of(TaskType.PSEUDO_waitAfterObligationAdmissionError, TaskType.PSEUDO_waitAfterObligationAdmissionRestore)) {
|
||||||
.withExternal()
|
transitions
|
||||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.ObligationsAdmission)
|
.withExternal()
|
||||||
|
.source(taskType).target(TaskType.ObligationsAdmission)
|
||||||
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
||||||
.event(SsnEvent.REPEAT);
|
.event(SsnEvent.REPEAT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourceFormingPaymentInstructions(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourceFormingPaymentInstructions(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
|
|
|
||||||
|
|
@ -135,7 +135,9 @@ public class PaymSessionStateMachineConfig extends EnumStateMachineConfigurerAda
|
||||||
TaskType.FinishingSession,
|
TaskType.FinishingSession,
|
||||||
TaskType.PSEUDO_waitAfterObligationAdmissionError,
|
TaskType.PSEUDO_waitAfterObligationAdmissionError,
|
||||||
TaskType.AgainRevise,
|
TaskType.AgainRevise,
|
||||||
TaskType.PSEUDO_waitAfterInspectionError
|
TaskType.PSEUDO_waitAfterInspectionError,
|
||||||
|
TaskType.PSEUDO_waitAfterObligationAdmissionRestore,
|
||||||
|
TaskType.PSEUDO_waitAfterInspectionRestore
|
||||||
)))
|
)))
|
||||||
.end(TaskType.FinishingSession);
|
.end(TaskType.FinishingSession);
|
||||||
}
|
}
|
||||||
|
|
@ -175,8 +177,8 @@ public class PaymSessionStateMachineConfig extends EnumStateMachineConfigurerAda
|
||||||
.guard(reviseSuccessGuard);
|
.guard(reviseSuccessGuard);
|
||||||
|
|
||||||
sourceObligationAdmission(transitions);
|
sourceObligationAdmission(transitions);
|
||||||
sourcePseudoAfterOAError(transitions);
|
sourcePseudoAfterOAPause(transitions);
|
||||||
sourcePseudoAfterIOError(transitions);
|
sourcePseudoAfterIOPause(transitions);
|
||||||
sourceInspection(transitions);
|
sourceInspection(transitions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -209,21 +211,23 @@ public class PaymSessionStateMachineConfig extends EnumStateMachineConfigurerAda
|
||||||
.action(formingPaymentInstructionAssetsAction);
|
.action(formingPaymentInstructionAssetsAction);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourcePseudoAfterOAError(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourcePseudoAfterOAPause(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
transitions
|
transitions
|
||||||
//continue and repeat after ObligationAdmission
|
//continue and repeat after ObligationAdmission
|
||||||
.withExternal()
|
.withExternal()
|
||||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.InclusionToPool)
|
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.InclusionToPool)
|
||||||
.action(chain(activeWsAction, obligationAdmissionContinueAction, inclusionToPoolAction))
|
.action(chain(activeWsAction, obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||||
.event(SsnEvent.CONTINUE)
|
.event(SsnEvent.CONTINUE);
|
||||||
.and()
|
for (var taskType : List.of(TaskType.PSEUDO_waitAfterObligationAdmissionError, TaskType.PSEUDO_waitAfterObligationAdmissionRestore)) {
|
||||||
.withExternal()
|
transitions
|
||||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.ObligationsAdmission)
|
.withExternal()
|
||||||
|
.source(taskType).target(TaskType.ObligationsAdmission)
|
||||||
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
||||||
.event(SsnEvent.REPEAT);
|
.event(SsnEvent.REPEAT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourcePseudoAfterIOError(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourcePseudoAfterIOPause(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
transitions
|
transitions
|
||||||
//continue and repeat after InspectionObligations
|
//continue and repeat after InspectionObligations
|
||||||
.withExternal()
|
.withExternal()
|
||||||
|
|
@ -231,12 +235,14 @@ public class PaymSessionStateMachineConfig extends EnumStateMachineConfigurerAda
|
||||||
.action(activeWsAction)
|
.action(activeWsAction)
|
||||||
.action(saveRegistriesAfterInspectionAndContinueAction)
|
.action(saveRegistriesAfterInspectionAndContinueAction)
|
||||||
.action(formingPaymentInstructionAssetsAction)
|
.action(formingPaymentInstructionAssetsAction)
|
||||||
.event(SsnEvent.CONTINUE)
|
.event(SsnEvent.CONTINUE);
|
||||||
.and()
|
for (var taskType : List.of(TaskType.PSEUDO_waitAfterInspectionError, TaskType.PSEUDO_waitAfterInspectionRestore)) {
|
||||||
.withExternal()
|
transitions
|
||||||
.source(TaskType.PSEUDO_waitAfterInspectionError).target(TaskType.InspectionObligations)
|
.withExternal()
|
||||||
|
.source(taskType).target(TaskType.InspectionObligations)
|
||||||
.action(chain(activeWsAction, discardInspOblStash, inspectionObligationsV2Action))
|
.action(chain(activeWsAction, discardInspOblStash, inspectionObligationsV2Action))
|
||||||
.event(SsnEvent.REPEAT);
|
.event(SsnEvent.REPEAT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -109,7 +109,8 @@ public class PrepSessionStateMachineConfig extends EnumStateMachineConfigurerAda
|
||||||
TaskType.RequirementsAndObligationsCreate,
|
TaskType.RequirementsAndObligationsCreate,
|
||||||
TaskType.ObligationsAdmission,
|
TaskType.ObligationsAdmission,
|
||||||
TaskType.PSEUDO_waitAfterObligationAdmissionError,
|
TaskType.PSEUDO_waitAfterObligationAdmissionError,
|
||||||
TaskType.PSEUDO_end
|
TaskType.PSEUDO_end,
|
||||||
|
TaskType.PSEUDO_waitAfterObligationAdmissionRestore
|
||||||
)))
|
)))
|
||||||
.end(TaskType.PSEUDO_end);
|
.end(TaskType.PSEUDO_end);
|
||||||
}
|
}
|
||||||
|
|
@ -130,7 +131,7 @@ public class PrepSessionStateMachineConfig extends EnumStateMachineConfigurerAda
|
||||||
.action(obligationAdmissionAction)
|
.action(obligationAdmissionAction)
|
||||||
.and();
|
.and();
|
||||||
sourceObligationAdmission(transitions);
|
sourceObligationAdmission(transitions);
|
||||||
sourcePseudoAfterOAError(transitions);
|
sourcePseudoAfterOAPause(transitions);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourceObligationAdmission(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourceObligationAdmission(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
|
|
@ -147,17 +148,19 @@ public class PrepSessionStateMachineConfig extends EnumStateMachineConfigurerAda
|
||||||
.action(chain(obligationAdmissionContinueAction, endSession));
|
.action(chain(obligationAdmissionContinueAction, endSession));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourcePseudoAfterOAError(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourcePseudoAfterOAPause(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
transitions
|
transitions
|
||||||
.withExternal()
|
.withExternal()
|
||||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.PSEUDO_end)
|
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.PSEUDO_end)
|
||||||
.action(chain(activeWsAction, obligationAdmissionContinueAction, endSession))
|
.action(chain(activeWsAction, obligationAdmissionContinueAction, endSession))
|
||||||
.event(SsnEvent.CONTINUE)
|
.event(SsnEvent.CONTINUE);
|
||||||
.and()
|
for (var taskType : List.of(TaskType.PSEUDO_waitAfterObligationAdmissionError, TaskType.PSEUDO_waitAfterObligationAdmissionRestore)) {
|
||||||
.withExternal()
|
transitions
|
||||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.ObligationsAdmission)
|
.withExternal()
|
||||||
|
.source(taskType).target(TaskType.ObligationsAdmission)
|
||||||
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
||||||
.event(SsnEvent.REPEAT);
|
.event(SsnEvent.REPEAT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -157,7 +157,9 @@ public class PrimaryAuctionB0SessionStateMachineConfig
|
||||||
TaskType.PSEUDO_waitSdfAfterPaymentInstructions,
|
TaskType.PSEUDO_waitSdfAfterPaymentInstructions,
|
||||||
TaskType.PSEUDO_waitAfterObligationAdmissionError,
|
TaskType.PSEUDO_waitAfterObligationAdmissionError,
|
||||||
TaskType.PSEUDO_waitSdfAfterAgainRevise,
|
TaskType.PSEUDO_waitSdfAfterAgainRevise,
|
||||||
TaskType.PSEUDO_waitAfterInspectionError
|
TaskType.PSEUDO_waitAfterInspectionError,
|
||||||
|
TaskType.PSEUDO_waitAfterObligationAdmissionRestore,
|
||||||
|
TaskType.PSEUDO_waitAfterInspectionRestore
|
||||||
)))
|
)))
|
||||||
.end(TaskType.FinishingSession);
|
.end(TaskType.FinishingSession);
|
||||||
}
|
}
|
||||||
|
|
@ -187,8 +189,8 @@ public class PrimaryAuctionB0SessionStateMachineConfig
|
||||||
.source(TaskType.InclusionToPool).target(TaskType.InspectionObligations)
|
.source(TaskType.InclusionToPool).target(TaskType.InspectionObligations)
|
||||||
.action(inspectionObligationsV2Action);
|
.action(inspectionObligationsV2Action);
|
||||||
sourceObligationAdmission(transitions);
|
sourceObligationAdmission(transitions);
|
||||||
sourcePseudoAfterOAError(transitions);
|
sourcePseudoAfterOAPause(transitions);
|
||||||
sourcePseudoAfterIOError(transitions);
|
sourcePseudoAfterIOPause(transitions);
|
||||||
sourceFormingPaymentInstruction(transitions);
|
sourceFormingPaymentInstruction(transitions);
|
||||||
sourcePseudoWaitSdfAfterPaymentInstructions(transitions);
|
sourcePseudoWaitSdfAfterPaymentInstructions(transitions);
|
||||||
sourceAgainRevise(transitions);
|
sourceAgainRevise(transitions);
|
||||||
|
|
@ -226,21 +228,23 @@ public class PrimaryAuctionB0SessionStateMachineConfig
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void sourcePseudoAfterOAError(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourcePseudoAfterOAPause(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
transitions
|
transitions
|
||||||
//continue and repeat after ObligationAdmission
|
//continue and repeat after ObligationAdmission
|
||||||
.withExternal()
|
.withExternal()
|
||||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.InclusionToPool)
|
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.InclusionToPool)
|
||||||
.action(chain(activeWsAction, obligationAdmissionContinueAction, inclusionToPoolAction))
|
.action(chain(activeWsAction, obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||||
.event(SsnEvent.CONTINUE)
|
.event(SsnEvent.CONTINUE);
|
||||||
.and()
|
for (var taskType : List.of(TaskType.PSEUDO_waitAfterObligationAdmissionError, TaskType.PSEUDO_waitAfterObligationAdmissionRestore)) {
|
||||||
.withExternal()
|
transitions
|
||||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.ObligationsAdmission)
|
.withExternal()
|
||||||
|
.source(taskType).target(TaskType.ObligationsAdmission)
|
||||||
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
||||||
.event(SsnEvent.REPEAT);
|
.event(SsnEvent.REPEAT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourcePseudoAfterIOError(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourcePseudoAfterIOPause(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
transitions
|
transitions
|
||||||
//continue and repeat after InspectionObligations
|
//continue and repeat after InspectionObligations
|
||||||
.withExternal()
|
.withExternal()
|
||||||
|
|
@ -248,12 +252,15 @@ public class PrimaryAuctionB0SessionStateMachineConfig
|
||||||
.action(activeWsAction)
|
.action(activeWsAction)
|
||||||
.action(saveRegistriesAfterInspectionAndContinueAction)
|
.action(saveRegistriesAfterInspectionAndContinueAction)
|
||||||
.action(formingPaymentInstructionSecuritiesAction)
|
.action(formingPaymentInstructionSecuritiesAction)
|
||||||
.event(SsnEvent.CONTINUE)
|
.event(SsnEvent.CONTINUE);
|
||||||
.and()
|
for (var taskType : List.of(TaskType.PSEUDO_waitAfterInspectionError, TaskType.PSEUDO_waitAfterInspectionRestore)) {
|
||||||
.withExternal()
|
transitions
|
||||||
.source(TaskType.PSEUDO_waitAfterInspectionError).target(TaskType.InspectionObligations)
|
.withExternal()
|
||||||
|
.source(taskType)
|
||||||
|
.target(TaskType.InspectionObligations)
|
||||||
.action(chain(activeWsAction, discardInspOblStash, inspectionObligationsV2Action))
|
.action(chain(activeWsAction, discardInspOblStash, inspectionObligationsV2Action))
|
||||||
.event(SsnEvent.REPEAT);
|
.event(SsnEvent.REPEAT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourceFormingPaymentInstruction(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourceFormingPaymentInstruction(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
|
|
|
||||||
|
|
@ -151,7 +151,9 @@ public class PrimaryAuctionBnSessionStateMachineConfig
|
||||||
TaskType.FinishingSession,
|
TaskType.FinishingSession,
|
||||||
TaskType.PSEUDO_waitSdfAfterPaymentInstructions,
|
TaskType.PSEUDO_waitSdfAfterPaymentInstructions,
|
||||||
TaskType.PSEUDO_waitAfterObligationAdmissionError,
|
TaskType.PSEUDO_waitAfterObligationAdmissionError,
|
||||||
TaskType.PSEUDO_waitAfterInspectionError
|
TaskType.PSEUDO_waitAfterInspectionError,
|
||||||
|
TaskType.PSEUDO_waitAfterObligationAdmissionRestore,
|
||||||
|
TaskType.PSEUDO_waitAfterInspectionRestore
|
||||||
)))
|
)))
|
||||||
.end(TaskType.FinishingSession);
|
.end(TaskType.FinishingSession);
|
||||||
}
|
}
|
||||||
|
|
@ -182,8 +184,8 @@ public class PrimaryAuctionBnSessionStateMachineConfig
|
||||||
.action(inspectionObligationsV2Action);
|
.action(inspectionObligationsV2Action);
|
||||||
|
|
||||||
sourceObligationAdmission(transitions);
|
sourceObligationAdmission(transitions);
|
||||||
sourcePseudoAfterOAError(transitions);
|
sourcePseudoAfterOAPause(transitions);
|
||||||
sourcePseudoAfterIOError(transitions);
|
sourcePseudoAfterIOPause(transitions);
|
||||||
sourceFormingPaymentInstruction(transitions);
|
sourceFormingPaymentInstruction(transitions);
|
||||||
sourcePseudoWaitSdfAfterPaymentInstructions(transitions);
|
sourcePseudoWaitSdfAfterPaymentInstructions(transitions);
|
||||||
sourceInspection(transitions);
|
sourceInspection(transitions);
|
||||||
|
|
@ -218,21 +220,23 @@ public class PrimaryAuctionBnSessionStateMachineConfig
|
||||||
.action(formingPaymentInstructionSecuritiesAction);
|
.action(formingPaymentInstructionSecuritiesAction);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourcePseudoAfterOAError(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourcePseudoAfterOAPause(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
transitions
|
transitions
|
||||||
//continue and repeat after ObligationAdmission
|
//continue and repeat after ObligationAdmission
|
||||||
.withExternal()
|
.withExternal()
|
||||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.InclusionToPool)
|
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.InclusionToPool)
|
||||||
.action(chain(activeWsAction, obligationAdmissionContinueAction, inclusionToPoolAction))
|
.action(chain(activeWsAction, obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||||
.event(SsnEvent.CONTINUE)
|
.event(SsnEvent.CONTINUE);
|
||||||
.and()
|
for (var taskType : List.of(TaskType.PSEUDO_waitAfterObligationAdmissionError, TaskType.PSEUDO_waitAfterObligationAdmissionRestore)) {
|
||||||
.withExternal()
|
transitions
|
||||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.ObligationsAdmission)
|
.withExternal()
|
||||||
|
.source(taskType).target(TaskType.ObligationsAdmission)
|
||||||
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
||||||
.event(SsnEvent.REPEAT);
|
.event(SsnEvent.REPEAT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourcePseudoAfterIOError(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourcePseudoAfterIOPause(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
transitions
|
transitions
|
||||||
//continue and repeat after InspectionObligations
|
//continue and repeat after InspectionObligations
|
||||||
.withExternal()
|
.withExternal()
|
||||||
|
|
@ -240,12 +244,14 @@ public class PrimaryAuctionBnSessionStateMachineConfig
|
||||||
.action(activeWsAction)
|
.action(activeWsAction)
|
||||||
.action(saveRegistriesAfterInspectionAndContinueAction)
|
.action(saveRegistriesAfterInspectionAndContinueAction)
|
||||||
.action(formingPaymentInstructionSecuritiesAction)
|
.action(formingPaymentInstructionSecuritiesAction)
|
||||||
.event(SsnEvent.CONTINUE)
|
.event(SsnEvent.CONTINUE);
|
||||||
.and()
|
for (var taskType : List.of(TaskType.PSEUDO_waitAfterInspectionError, TaskType.PSEUDO_waitAfterInspectionRestore)) {
|
||||||
.withExternal()
|
transitions
|
||||||
.source(TaskType.PSEUDO_waitAfterInspectionError).target(TaskType.InspectionObligations)
|
.withExternal()
|
||||||
|
.source(taskType).target(TaskType.InspectionObligations)
|
||||||
.action(chain(activeWsAction, discardInspOblStash, inspectionObligationsV2Action))
|
.action(chain(activeWsAction, discardInspOblStash, inspectionObligationsV2Action))
|
||||||
.event(SsnEvent.REPEAT);
|
.event(SsnEvent.REPEAT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourceFormingPaymentInstruction(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourceFormingPaymentInstruction(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
|
|
|
||||||
|
|
@ -158,7 +158,9 @@ public class PrimaryAuctionT0SessionStateMachineConfig
|
||||||
TaskType.PSEUDO_waitSdfAfterPaymentInstructions,
|
TaskType.PSEUDO_waitSdfAfterPaymentInstructions,
|
||||||
TaskType.PSEUDO_waitAfterObligationAdmissionError,
|
TaskType.PSEUDO_waitAfterObligationAdmissionError,
|
||||||
TaskType.PSEUDO_waitSdfAfterAgainRevise,
|
TaskType.PSEUDO_waitSdfAfterAgainRevise,
|
||||||
TaskType.PSEUDO_waitAfterInspectionError
|
TaskType.PSEUDO_waitAfterInspectionError,
|
||||||
|
TaskType.PSEUDO_waitAfterObligationAdmissionRestore,
|
||||||
|
TaskType.PSEUDO_waitAfterInspectionRestore
|
||||||
)))
|
)))
|
||||||
.end(TaskType.FinishingSession);
|
.end(TaskType.FinishingSession);
|
||||||
}
|
}
|
||||||
|
|
@ -189,8 +191,8 @@ public class PrimaryAuctionT0SessionStateMachineConfig
|
||||||
.action(inspectionObligationsV2Action);
|
.action(inspectionObligationsV2Action);
|
||||||
|
|
||||||
sourceObligationAdmission(transitions);
|
sourceObligationAdmission(transitions);
|
||||||
sourcePseudoAfterOAError(transitions);
|
sourcePseudoAfterOAPause(transitions);
|
||||||
sourcePseudoAfterIOError(transitions);
|
sourcePseudoAfterIOPause(transitions);
|
||||||
sourceFormingPaymentInstruction(transitions);
|
sourceFormingPaymentInstruction(transitions);
|
||||||
sourcePseudoWaitSdfAfterPaymentInstructions(transitions);
|
sourcePseudoWaitSdfAfterPaymentInstructions(transitions);
|
||||||
sourceAgainRevise(transitions);
|
sourceAgainRevise(transitions);
|
||||||
|
|
@ -227,21 +229,23 @@ public class PrimaryAuctionT0SessionStateMachineConfig
|
||||||
.action(formingPaymentInstructionSecuritiesAction);
|
.action(formingPaymentInstructionSecuritiesAction);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourcePseudoAfterOAError(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourcePseudoAfterOAPause(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
transitions
|
transitions
|
||||||
//continue and repeat after ObligationAdmission
|
//continue and repeat after ObligationAdmission
|
||||||
.withExternal()
|
.withExternal()
|
||||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.InclusionToPool)
|
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.InclusionToPool)
|
||||||
.action(chain(activeWsAction, obligationAdmissionContinueAction, inclusionToPoolAction))
|
.action(chain(activeWsAction, obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||||
.event(SsnEvent.CONTINUE)
|
.event(SsnEvent.CONTINUE);
|
||||||
.and()
|
for (var taskType : List.of(TaskType.PSEUDO_waitAfterObligationAdmissionError, TaskType.PSEUDO_waitAfterObligationAdmissionRestore)) {
|
||||||
.withExternal()
|
transitions
|
||||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.ObligationsAdmission)
|
.withExternal()
|
||||||
|
.source(taskType).target(TaskType.ObligationsAdmission)
|
||||||
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
||||||
.event(SsnEvent.REPEAT);
|
.event(SsnEvent.REPEAT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourcePseudoAfterIOError(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourcePseudoAfterIOPause(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
transitions
|
transitions
|
||||||
//continue and repeat after InspectionObligations
|
//continue and repeat after InspectionObligations
|
||||||
.withExternal()
|
.withExternal()
|
||||||
|
|
@ -249,12 +253,14 @@ public class PrimaryAuctionT0SessionStateMachineConfig
|
||||||
.action(activeWsAction)
|
.action(activeWsAction)
|
||||||
.action(saveRegistriesAfterInspectionAndContinueAction)
|
.action(saveRegistriesAfterInspectionAndContinueAction)
|
||||||
.action(formingPaymentInstructionSecuritiesAction)
|
.action(formingPaymentInstructionSecuritiesAction)
|
||||||
.event(SsnEvent.CONTINUE)
|
.event(SsnEvent.CONTINUE);
|
||||||
.and()
|
for (var taskType : List.of(TaskType.PSEUDO_waitAfterInspectionError, TaskType.PSEUDO_waitAfterInspectionRestore)) {
|
||||||
.withExternal()
|
transitions
|
||||||
.source(TaskType.PSEUDO_waitAfterInspectionError).target(TaskType.InspectionObligations)
|
.withExternal()
|
||||||
|
.source(taskType).target(TaskType.InspectionObligations)
|
||||||
.action(chain(activeWsAction, discardInspOblStash, inspectionObligationsV2Action))
|
.action(chain(activeWsAction, discardInspOblStash, inspectionObligationsV2Action))
|
||||||
.event(SsnEvent.REPEAT);
|
.event(SsnEvent.REPEAT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourceFormingPaymentInstruction(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourceFormingPaymentInstruction(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
|
|
|
||||||
|
|
@ -169,7 +169,9 @@ public class UnitedSessionStateMachineConfig
|
||||||
TaskType.PSEUDO_waitAfterObligationAdmissionError,
|
TaskType.PSEUDO_waitAfterObligationAdmissionError,
|
||||||
TaskType.AgainRevise,
|
TaskType.AgainRevise,
|
||||||
TaskType.PSEUDO_waitSdfAfterAgainRevise,
|
TaskType.PSEUDO_waitSdfAfterAgainRevise,
|
||||||
TaskType.PSEUDO_waitAfterInspectionError
|
TaskType.PSEUDO_waitAfterInspectionError,
|
||||||
|
TaskType.PSEUDO_waitAfterObligationAdmissionRestore,
|
||||||
|
TaskType.PSEUDO_waitAfterInspectionRestore
|
||||||
)))
|
)))
|
||||||
.end(TaskType.FinishingSession);
|
.end(TaskType.FinishingSession);
|
||||||
}
|
}
|
||||||
|
|
@ -203,8 +205,8 @@ public class UnitedSessionStateMachineConfig
|
||||||
.source(TaskType.InclusionToPool).target(TaskType.InspectionObligations)
|
.source(TaskType.InclusionToPool).target(TaskType.InspectionObligations)
|
||||||
.action(inspectionObligationsV2Action);
|
.action(inspectionObligationsV2Action);
|
||||||
sourceObligationAdmission(transitions);
|
sourceObligationAdmission(transitions);
|
||||||
sourcePseudoAfterOAError(transitions);
|
sourcePseudoAfterOAPause(transitions);
|
||||||
sourcePseudoAfterIOError(transitions);
|
sourcePseudoAfterIOPause(transitions);
|
||||||
sourceFormingPaymentInstruction(transitions);
|
sourceFormingPaymentInstruction(transitions);
|
||||||
sourceAgainRevise(transitions);
|
sourceAgainRevise(transitions);
|
||||||
sourcePseudoWaitAfterAgainRevise(transitions);
|
sourcePseudoWaitAfterAgainRevise(transitions);
|
||||||
|
|
@ -258,21 +260,23 @@ public class UnitedSessionStateMachineConfig
|
||||||
.action(formingPaymentInstructionAssetsAction);
|
.action(formingPaymentInstructionAssetsAction);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourcePseudoAfterOAError(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourcePseudoAfterOAPause(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
transitions
|
transitions
|
||||||
//continue and repeat after ObligationAdmission
|
//continue and repeat after ObligationAdmission
|
||||||
.withExternal()
|
.withExternal()
|
||||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.InclusionToPool)
|
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.InclusionToPool)
|
||||||
.action(chain(activeWsAction, obligationAdmissionContinueAction, inclusionToPoolAction))
|
.action(chain(activeWsAction, obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||||
.event(SsnEvent.CONTINUE)
|
.event(SsnEvent.CONTINUE);
|
||||||
.and()
|
for (var taskType : List.of(TaskType.PSEUDO_waitAfterObligationAdmissionError, TaskType.PSEUDO_waitAfterObligationAdmissionRestore)) {
|
||||||
.withExternal()
|
transitions
|
||||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.ObligationsAdmission)
|
.withExternal()
|
||||||
|
.source(taskType).target(TaskType.ObligationsAdmission)
|
||||||
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
||||||
.event(SsnEvent.REPEAT);
|
.event(SsnEvent.REPEAT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourcePseudoAfterIOError(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourcePseudoAfterIOPause(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
transitions
|
transitions
|
||||||
//continue and repeat after InspectionObligations
|
//continue and repeat after InspectionObligations
|
||||||
.withExternal()
|
.withExternal()
|
||||||
|
|
@ -280,12 +284,14 @@ public class UnitedSessionStateMachineConfig
|
||||||
.action(activeWsAction)
|
.action(activeWsAction)
|
||||||
.action(saveRegistriesAfterInspectionAndContinueAction)
|
.action(saveRegistriesAfterInspectionAndContinueAction)
|
||||||
.action(formingPaymentInstructionAssetsAction)
|
.action(formingPaymentInstructionAssetsAction)
|
||||||
.event(SsnEvent.CONTINUE)
|
.event(SsnEvent.CONTINUE);
|
||||||
.and()
|
for (var taskType : List.of(TaskType.PSEUDO_waitAfterInspectionError, TaskType.PSEUDO_waitAfterInspectionRestore)) {
|
||||||
.withExternal()
|
transitions
|
||||||
.source(TaskType.PSEUDO_waitAfterInspectionError).target(TaskType.InspectionObligations)
|
.withExternal()
|
||||||
|
.source(taskType).target(TaskType.InspectionObligations)
|
||||||
.action(chain(activeWsAction, discardInspOblStash, inspectionObligationsV2Action))
|
.action(chain(activeWsAction, discardInspOblStash, inspectionObligationsV2Action))
|
||||||
.event(SsnEvent.REPEAT);
|
.event(SsnEvent.REPEAT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourceFormingPaymentInstruction(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourceFormingPaymentInstruction(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
|
|
|
||||||
|
|
@ -62,8 +62,9 @@ public enum TaskType implements IEnumKey {
|
||||||
PSEUDO_waitAfterObligationAdmissionRestore("PSEUDO_waitAfterObligationAdmissionRestore"),
|
PSEUDO_waitAfterObligationAdmissionRestore("PSEUDO_waitAfterObligationAdmissionRestore"),
|
||||||
PSEUDO_waitAfterInspectionError("PSEUDO_waitAfterInspectionError"),
|
PSEUDO_waitAfterInspectionError("PSEUDO_waitAfterInspectionError"),
|
||||||
PSEUDO_waitAfterInspectionRestore("PSEUDO_waitAfterInspectionRestore"),
|
PSEUDO_waitAfterInspectionRestore("PSEUDO_waitAfterInspectionRestore"),
|
||||||
|
PSEUDO_waitAfterInspectionDepositReturnRestore("PSEUDO_waitAfterInspectionDepositReturnRestore"),
|
||||||
PSEUDO_waitAfterInspectionDepositReturnError("PSEUDO_waitAfterInspectionDepositReturnError"),
|
PSEUDO_waitAfterInspectionDepositReturnError("PSEUDO_waitAfterInspectionDepositReturnError"),
|
||||||
PSEUDO_InspectionObligationDepositReturn("PSEUDO_InspectionObligationDepositReturn"),
|
InspectionObligationDepositReturn("C5_0"),
|
||||||
PSEUDO_end("PSEUDO_end"),
|
PSEUDO_end("PSEUDO_end"),
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,7 @@ public class RestoreSessionService {
|
||||||
switch (status) {
|
switch (status) {
|
||||||
case ObligationsAdmission -> restoredState = TaskType.PSEUDO_waitAfterObligationAdmissionRestore;
|
case ObligationsAdmission -> restoredState = TaskType.PSEUDO_waitAfterObligationAdmissionRestore;
|
||||||
case InspectionObligations -> restoredState = TaskType.PSEUDO_waitAfterInspectionRestore;
|
case InspectionObligations -> restoredState = TaskType.PSEUDO_waitAfterInspectionRestore;
|
||||||
|
case InspectionObligationDepositReturn -> restoredState = TaskType.PSEUDO_waitAfterInspectionDepositReturnRestore;
|
||||||
default -> throw new IllegalStateException(
|
default -> throw new IllegalStateException(
|
||||||
"Unexpected value: session.id=%d status %s".formatted(session.getId(), status)
|
"Unexpected value: session.id=%d status %s".formatted(session.getId(), status)
|
||||||
);
|
);
|
||||||
|
|
@ -57,6 +58,7 @@ public class RestoreSessionService {
|
||||||
TaskType status = IEnumKey.getEnumByKey(TaskType.class, session.getSessionStatus());
|
TaskType status = IEnumKey.getEnumByKey(TaskType.class, session.getSessionStatus());
|
||||||
boolean statusOk = IEnumKey.contains(status,
|
boolean statusOk = IEnumKey.contains(status,
|
||||||
TaskType.ObligationsAdmission,
|
TaskType.ObligationsAdmission,
|
||||||
|
TaskType.InspectionObligationDepositReturn,
|
||||||
TaskType.InspectionObligations);
|
TaskType.InspectionObligations);
|
||||||
if (!statusOk) {
|
if (!statusOk) {
|
||||||
throw new IllegalStateException(
|
throw new IllegalStateException(
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue