state machine bugfix
This commit is contained in:
parent
02038847f2
commit
bb70598d0a
2 changed files with 201 additions and 240 deletions
|
|
@ -1,245 +1,206 @@
|
||||||
package ru.spcex.clearing.config.state_machine_1;
|
package ru.spcex.clearing.config.state_machine_1;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.function.Supplier;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
|
||||||
import org.springframework.statemachine.config.EnumStateMachineConfigurerAdapter;
|
import org.springframework.statemachine.config.EnumStateMachineConfigurerAdapter;
|
||||||
import org.springframework.statemachine.config.builders.StateMachineConfigurationConfigurer;
|
|
||||||
import org.springframework.statemachine.config.builders.StateMachineStateConfigurer;
|
|
||||||
import org.springframework.statemachine.config.builders.StateMachineTransitionConfigurer;
|
|
||||||
import org.springframework.statemachine.listener.StateMachineListenerAdapter;
|
|
||||||
import org.springframework.statemachine.state.State;
|
|
||||||
import ru.clearing.classes.statics.data.execution.ExecutionFond;
|
|
||||||
import ru.clearing.classes.statics.data.misc.Session;
|
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|
||||||
import ru.spcex.clearing.session.stage.TaskType;
|
import ru.spcex.clearing.session.stage.TaskType;
|
||||||
import ru.spcex.clearing.session.stage.impl.BalanceRevise;
|
|
||||||
import ru.spcex.clearing.session.stage.impl.DealsPrepare;
|
|
||||||
import ru.spcex.clearing.session.stage.impl.EndStageNotification;
|
|
||||||
import ru.spcex.clearing.session.stage.impl.FinishingSession;
|
|
||||||
import ru.spcex.clearing.session.stage.impl.FormingPaymentInstruction;
|
|
||||||
import ru.spcex.clearing.session.stage.impl.FormingRegistersOnOS;
|
|
||||||
import ru.spcex.clearing.session.stage.impl.InclusionObligations;
|
|
||||||
import ru.spcex.clearing.session.stage.impl.InspectionObligations;
|
|
||||||
import ru.spcex.clearing.session.stage.impl.ObligationAdmission;
|
|
||||||
import ru.spcex.clearing.session.stage.impl.RequirementsAndObligationCreation;
|
|
||||||
import ru.spcex.clearing.session.stage.impl.UnlockResources;
|
|
||||||
import ru.spcex.clearing.session.stage.task.DealsPreparePayload;
|
|
||||||
import ru.spcex.clearing.session.stage.task.FormingPaymentInstructionPayload;
|
|
||||||
import ru.spcex.clearing.session.stage.task.InclusionToPoolPayload;
|
|
||||||
import ru.spcex.clearing.session.stage.task.InspectionPoolPayload;
|
|
||||||
import ru.spcex.platform.classes.base.interfaces.ExecutionType;
|
|
||||||
import ru.spcex.platform.enumeration.Section;
|
|
||||||
import ru.spcex.platform.enumeration.SessionStatus;
|
|
||||||
import ru.spcex.platform.enumeration.SessionType;
|
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
|
||||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
|
||||||
|
|
||||||
//@Configuration("sessionStateMachineFactory")
|
//@Configuration("sessionStateMachineFactory")
|
||||||
//@EnableStateMachineFactory(name = "PrimaryBnSessionStateMachineFactory")
|
//@EnableStateMachineFactory(name = "PrimaryBnSessionStateMachineFactory")
|
||||||
public class StateBnConfig extends EnumStateMachineConfigurerAdapter<TaskType, SessionEvent> {
|
public class StateBnConfig extends EnumStateMachineConfigurerAdapter<TaskType, SessionEvent> {
|
||||||
private Logger log = LoggerFactory.getLogger(getClass());
|
// private Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
//
|
||||||
private final Imdg<Session> sessionImdg;
|
// private final Imdg<Session> sessionImdg;
|
||||||
/**
|
// /**
|
||||||
* адаптеры между ISessionStage старого образца к Spring State Machine
|
// * адаптеры между ISessionStage старого образца к Spring State Machine
|
||||||
*/
|
// */
|
||||||
private final StateActionAdapter balanceReviseAction;
|
// private final StateActionAdapter balanceReviseAction;
|
||||||
private final StateActionAdapter dealPrepareAction;
|
// private final StateActionAdapter dealPrepareAction;
|
||||||
private final StateActionAdapter requirementsAndObligationCreationAction;
|
// private final StateActionAdapter requirementsAndObligationCreationAction;
|
||||||
private final StateActionAdapter obligationAdmissionAction;
|
// private final StateActionAdapter obligationAdmissionAction;
|
||||||
private final StateActionAdapter inclusionToPoolAction;
|
// private final StateActionAdapter inclusionToPoolAction;
|
||||||
private final StateActionAdapter inspectionObligationsAction;
|
// private final StateActionAdapter inspectionObligationsAction;
|
||||||
private final StateActionAdapter formingRegistersOnOSAction;
|
// private final StateActionAdapter formingRegistersOnOSAction;
|
||||||
private final StateActionAdapter formingPaymentInstructionAction;
|
// private final StateActionAdapter formingPaymentInstructionAction;
|
||||||
|
//
|
||||||
public StateBnConfig(ImdgProvider imdgProvider,
|
// public StateBnConfig(ImdgProvider imdgProvider,
|
||||||
BalanceRevise balanceRevise,
|
// BalanceRevise balanceRevise,
|
||||||
DealsPrepare dealsPrepare,
|
// DealsPrepare dealsPrepare,
|
||||||
RequirementsAndObligationCreation requirementsAndObligationCreation,
|
// RequirementsAndObligationCreation requirementsAndObligationCreation,
|
||||||
ObligationAdmission obligationsAdmission,
|
// ObligationAdmission obligationsAdmission,
|
||||||
InclusionObligations inclusionObligations,
|
// InclusionObligations inclusionObligations,
|
||||||
InspectionObligations inspectionObligations,
|
// InspectionObligations inspectionObligations,
|
||||||
FormingRegistersOnOS formingRegistersOnOS,
|
// FormingRegistersOnOS formingRegistersOnOS,
|
||||||
FormingPaymentInstruction formingPaymentInstruction,
|
// FormingPaymentInstruction formingPaymentInstruction,
|
||||||
UnlockResources unlockResources,
|
// UnlockResources unlockResources,
|
||||||
FinishingSession finishingSession,
|
// FinishingSession finishingSession,
|
||||||
EndStageNotification endStageNotification,
|
// EndStageNotification endStageNotification,
|
||||||
@Qualifier("marketCodesForBn") Supplier<List<String>> marketCodes) {
|
// @Qualifier("marketCodesForBn") Supplier<List<String>> marketCodes) {
|
||||||
|
//
|
||||||
Imdg<ExecutionFond> executionFondImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionFond, ExecutionFond.class);
|
// Imdg<ExecutionFond> executionFondImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionFond, ExecutionFond.class);
|
||||||
this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class);
|
// this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class);
|
||||||
|
//
|
||||||
//настройка стадий
|
// //настройка стадий
|
||||||
dealsPrepare.searchForExecutions(ExecutionType.ExecutionFond);
|
// dealsPrepare.searchForExecutions(ExecutionType.ExecutionFond);
|
||||||
ImdgPredicateBuilder execFondPb = executionFondImdg.predicateBuilder();
|
// ImdgPredicateBuilder execFondPb = executionFondImdg.predicateBuilder();
|
||||||
dealsPrepare.addExecutionFondCondition(execFondPb.regex("settlementCode", "^B\\d{2}$"));
|
// dealsPrepare.addExecutionFondCondition(execFondPb.regex("settlementCode", "^B\\d{2}$"));
|
||||||
dealsPrepare.addExecutionFondCondition(execFondPb.in("market", marketCodes.get().toArray(new String[0])));
|
// dealsPrepare.addExecutionFondCondition(execFondPb.in("market", marketCodes.get().toArray(new String[0])));
|
||||||
inclusionObligations.setSessionType(SessionType.IPOB);
|
// inclusionObligations.setSessionType(SessionType.IPOB);
|
||||||
imdgProvider.waitAvailable();
|
// imdgProvider.waitAvailable();
|
||||||
|
//
|
||||||
//настройка адаптеров для State Machine
|
// //настройка адаптеров для State Machine
|
||||||
balanceReviseAction = new StateActionAdapter(balanceRevise);
|
// balanceReviseAction = new StateActionAdapter(balanceRevise);
|
||||||
|
//
|
||||||
dealPrepareAction = new StateActionAdapter(dealsPrepare);
|
// dealPrepareAction = new StateActionAdapter(dealsPrepare);
|
||||||
dealPrepareAction.setPayloadForStageGetter((extendedState) -> {
|
// dealPrepareAction.setPayloadForStageGetter((extendedState) -> {
|
||||||
DealsPreparePayload payload = new DealsPreparePayload();
|
// DealsPreparePayload payload = new DealsPreparePayload();
|
||||||
payload.setSessionId(extendedState.get(StageDataEnum.sessionId.name(), Long.class));
|
// payload.setSessionId(extendedState.get(StageDataEnum.sessionId.name(), Long.class));
|
||||||
return payload;
|
// return payload;
|
||||||
});
|
// });
|
||||||
dealPrepareAction.setSaveName(StageDataEnum.ExecutionList);
|
// dealPrepareAction.setSaveName(StageDataEnum.ExecutionList);
|
||||||
|
//
|
||||||
requirementsAndObligationCreationAction = new StateActionAdapter(requirementsAndObligationCreation);
|
// requirementsAndObligationCreationAction = new StateActionAdapter(requirementsAndObligationCreation);
|
||||||
requirementsAndObligationCreationAction.setPayloadForStageGetter((extendedState)
|
// requirementsAndObligationCreationAction.setPayloadForStageGetter((extendedState)
|
||||||
-> extendedState.get(StageDataEnum.ExecutionList.name(), List.class));
|
// -> extendedState.get(StageDataEnum.ExecutionList.name(), List.class));
|
||||||
|
//
|
||||||
obligationAdmissionAction = new StateActionAdapter(obligationsAdmission);
|
// obligationAdmissionAction = new StateActionAdapter(obligationsAdmission);
|
||||||
obligationAdmissionAction.setPayloadForStageGetter((extendedState) -> extendedState.get(StageDataEnum.sessionId.name(), Long.class));
|
// obligationAdmissionAction.setPayloadForStageGetter((extendedState) -> extendedState.get(StageDataEnum.sessionId.name(), Long.class));
|
||||||
|
//
|
||||||
inclusionToPoolAction = new StateActionAdapter(inclusionObligations);
|
// inclusionToPoolAction = new StateActionAdapter(inclusionObligations);
|
||||||
inclusionToPoolAction.setPayloadForStageGetter((extendedState) -> {
|
// inclusionToPoolAction.setPayloadForStageGetter((extendedState) -> {
|
||||||
InclusionToPoolPayload payload = new InclusionToPoolPayload();
|
// InclusionToPoolPayload payload = new InclusionToPoolPayload();
|
||||||
Session session = extendedState.get(StageDataEnum.session.name(), Session.class);
|
// Session session = extendedState.get(StageDataEnum.session.name(), Session.class);
|
||||||
Long sessionId = extendedState.get(StageDataEnum.sessionId.name(), Long.class);
|
// Long sessionId = extendedState.get(StageDataEnum.sessionId.name(), Long.class);
|
||||||
payload.setSessionType(session.getSessionType());
|
// payload.setSessionType(session.getSessionType());
|
||||||
payload.setSessionId(sessionId);
|
// payload.setSessionId(sessionId);
|
||||||
return payload;
|
// return payload;
|
||||||
});
|
// });
|
||||||
|
//
|
||||||
inspectionObligationsAction = new StateActionAdapter(inspectionObligations);
|
// inspectionObligationsAction = new StateActionAdapter(inspectionObligations);
|
||||||
inspectionObligationsAction.setPayloadForStageGetter((extendedState) -> {
|
// inspectionObligationsAction.setPayloadForStageGetter((extendedState) -> {
|
||||||
InspectionPoolPayload payload = new InspectionPoolPayload();
|
// InspectionPoolPayload payload = new InspectionPoolPayload();
|
||||||
Session session = extendedState.get(StageDataEnum.session.name(), Session.class);
|
// Session session = extendedState.get(StageDataEnum.session.name(), Session.class);
|
||||||
payload.setProcessedCompanyId(session.getCompanyId());
|
// payload.setProcessedCompanyId(session.getCompanyId());
|
||||||
return payload;
|
// return payload;
|
||||||
});
|
// });
|
||||||
|
//
|
||||||
formingRegistersOnOSAction = new StateActionAdapter(formingRegistersOnOS);
|
// formingRegistersOnOSAction = new StateActionAdapter(formingRegistersOnOS);
|
||||||
|
//
|
||||||
formingPaymentInstructionAction = new StateActionAdapter(formingPaymentInstruction);
|
// formingPaymentInstructionAction = new StateActionAdapter(formingPaymentInstruction);
|
||||||
formingPaymentInstructionAction.setPayloadForStageGetter((extendedState) -> {
|
// formingPaymentInstructionAction.setPayloadForStageGetter((extendedState) -> {
|
||||||
FormingPaymentInstructionPayload payload = new FormingPaymentInstructionPayload();
|
// FormingPaymentInstructionPayload payload = new FormingPaymentInstructionPayload();
|
||||||
payload.setSessionId(extendedState.get(StageDataEnum.sessionId.name(), Long.class));
|
// payload.setSessionId(extendedState.get(StageDataEnum.sessionId.name(), Long.class));
|
||||||
return payload;
|
// return payload;
|
||||||
});
|
// });
|
||||||
formingPaymentInstructionAction.setSaveName(StageDataEnum.PaymentInstructions);
|
// formingPaymentInstructionAction.setSaveName(StageDataEnum.PaymentInstructions);
|
||||||
// if (paymentResult != null && paymentResult.getStageResult().isEmpty()) {
|
// // if (paymentResult != null && paymentResult.getStageResult().isEmpty()) {
|
||||||
// runStage(TaskType.FormingPaymentInstruction, balanceRevise);
|
// // runStage(TaskType.FormingPaymentInstruction, balanceRevise);
|
||||||
//// finishPart(req);
|
// //// finishPart(req);
|
||||||
// }
|
// // }
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
@Override
|
// @Override
|
||||||
public void configure(StateMachineStateConfigurer<TaskType, SessionEvent> states) throws Exception {
|
// public void configure(StateMachineStateConfigurer<TaskType, SessionEvent> states) throws Exception {
|
||||||
states
|
// states
|
||||||
.withStates()
|
// .withStates()
|
||||||
.initial(TaskType.StartRevise, context -> {
|
// .initial(TaskType.StartRevise, context -> {
|
||||||
Session existActiveSession = sessionImdg.getFirstObjectByFieldValues(Map.of("workflowStatus", SessionStatus.ACTV.getKey()));
|
// Session existActiveSession = sessionImdg.getFirstObjectByFieldValues(Map.of("workflowStatus", SessionStatus.ACTV.getKey()));
|
||||||
if (existActiveSession != null) {
|
// if (existActiveSession != null) {
|
||||||
throw new RuntimeException("ActiveSessionIsPresent " + existActiveSession);
|
// throw new RuntimeException("ActiveSessionIsPresent " + existActiveSession);
|
||||||
}
|
// }
|
||||||
Session newSession = new Session();
|
// Session newSession = new Session();
|
||||||
newSession.setSection(Section.FOND.getKey());
|
// newSession.setSection(Section.FOND.getKey());
|
||||||
newSession.setSessionType(SessionType.IPOB.getKey());
|
// newSession.setSessionType(SessionType.IPOB.getKey());
|
||||||
newSession.setSessionStatus(TaskType.StartRevise.getKey());
|
// newSession.setSessionStatus(TaskType.StartRevise.getKey());
|
||||||
newSession.setWorkflowStatus(SessionStatus.ACTV.getKey());
|
// newSession.setWorkflowStatus(SessionStatus.ACTV.getKey());
|
||||||
newSession.setClearingDate(LocalDate.now());
|
// newSession.setClearingDate(LocalDate.now());
|
||||||
sessionImdg.insert(newSession);
|
// sessionImdg.insert(newSession);
|
||||||
log.info("started new session.id={}", newSession.getId());
|
// log.info("started new session.id={}", newSession.getId());
|
||||||
context.getExtendedState().getVariables().put(StageDataEnum.sessionId.name(), newSession.getId());
|
// context.getExtendedState().getVariables().put(StageDataEnum.sessionId.name(), newSession.getId());
|
||||||
context.getExtendedState().getVariables().put(StageDataEnum.session.name(), newSession);
|
// context.getExtendedState().getVariables().put(StageDataEnum.session.name(), newSession);
|
||||||
})
|
// })
|
||||||
.states(new HashSet<>(Arrays.asList(TaskType.StartRevise,
|
// .states(new HashSet<>(Arrays.asList(TaskType.StartRevise,
|
||||||
TaskType.ContinueRevise,
|
// TaskType.ContinueRevise,
|
||||||
TaskType.StartRevisePart1,
|
// TaskType.StartRevisePart1,
|
||||||
TaskType.DealsPrepare,
|
// TaskType.DealsPrepare,
|
||||||
TaskType.RequirementsAndObligationsCreate,
|
// TaskType.RequirementsAndObligationsCreate,
|
||||||
TaskType.ObligationsAdmission,
|
// TaskType.ObligationsAdmission,
|
||||||
TaskType.InclusionToPool,
|
// TaskType.InclusionToPool,
|
||||||
TaskType.InspectionObligations,
|
// TaskType.InspectionObligations,
|
||||||
TaskType.FormingRegistersOnOS,
|
// TaskType.FormingRegistersOnOS,
|
||||||
TaskType.FormingPaymentInstruction,
|
// TaskType.FormingPaymentInstruction,
|
||||||
// TaskType.UnlockResources,
|
//// TaskType.UnlockResources,
|
||||||
TaskType.AgainRevise
|
// TaskType.AgainRevise
|
||||||
// TaskType.FinishingSession,
|
//// TaskType.FinishingSession,
|
||||||
// TaskType.EndStageNotification
|
//// TaskType.EndStageNotification
|
||||||
)))
|
// )))
|
||||||
.end(TaskType.FormingPaymentInstruction)
|
// .end(TaskType.FormingPaymentInstruction)
|
||||||
;
|
// ;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
@Override
|
// @Override
|
||||||
public void configure(StateMachineTransitionConfigurer<TaskType, SessionEvent> transitions) throws Exception {
|
// public void configure(StateMachineTransitionConfigurer<TaskType, SessionEvent> transitions) throws Exception {
|
||||||
transitions.withExternal()
|
// transitions.withExternal()
|
||||||
.event(SessionEvent.Revise)
|
// .event(SessionEvent.Revise)
|
||||||
.source(TaskType.StartRevise).target(TaskType.ContinueRevise)
|
// .source(TaskType.StartRevise).target(TaskType.ContinueRevise)
|
||||||
.action(balanceReviseAction)
|
// .action(balanceReviseAction)
|
||||||
.and()
|
// .and()
|
||||||
.withExternal()
|
// .withExternal()
|
||||||
.event(SessionEvent.SdfReceived)
|
// .event(SessionEvent.SdfReceived)
|
||||||
.source(TaskType.ContinueRevise).target(TaskType.StartRevisePart1)
|
// .source(TaskType.ContinueRevise).target(TaskType.StartRevisePart1)
|
||||||
.action(context -> {
|
// .action(context -> {
|
||||||
log.info("SDF57 and SDF01 received, continue session");
|
// log.info("SDF57 and SDF01 received, continue session");
|
||||||
})
|
// })
|
||||||
.and()
|
// .and()
|
||||||
.withExternal()
|
// .withExternal()
|
||||||
.event(SessionEvent.Revise)
|
// .event(SessionEvent.Revise)
|
||||||
.source(TaskType.StartRevisePart1).target(TaskType.DealsPrepare)
|
// .source(TaskType.StartRevisePart1).target(TaskType.DealsPrepare)
|
||||||
.action(balanceReviseAction)
|
// .action(balanceReviseAction)
|
||||||
.and()
|
// .and()
|
||||||
.withExternal()
|
// .withExternal()
|
||||||
.source(TaskType.DealsPrepare).target(TaskType.RequirementsAndObligationsCreate)
|
// .source(TaskType.DealsPrepare).target(TaskType.RequirementsAndObligationsCreate)
|
||||||
.action(dealPrepareAction)
|
// .action(dealPrepareAction)
|
||||||
.and()
|
// .and()
|
||||||
.withExternal()
|
// .withExternal()
|
||||||
.source(TaskType.RequirementsAndObligationsCreate).target(TaskType.ObligationsAdmission)
|
// .source(TaskType.RequirementsAndObligationsCreate).target(TaskType.ObligationsAdmission)
|
||||||
.action(requirementsAndObligationCreationAction)
|
// .action(requirementsAndObligationCreationAction)
|
||||||
.and()
|
// .and()
|
||||||
.withExternal()
|
// .withExternal()
|
||||||
.source(TaskType.ObligationsAdmission).target(TaskType.InclusionToPool)
|
// .source(TaskType.ObligationsAdmission).target(TaskType.InclusionToPool)
|
||||||
.action(obligationAdmissionAction)
|
// .action(obligationAdmissionAction)
|
||||||
.and()
|
// .and()
|
||||||
.withExternal()
|
// .withExternal()
|
||||||
.source(TaskType.InclusionToPool).target(TaskType.InspectionObligations)
|
// .source(TaskType.InclusionToPool).target(TaskType.InspectionObligations)
|
||||||
.action(inclusionToPoolAction)
|
// .action(inclusionToPoolAction)
|
||||||
.and()
|
// .and()
|
||||||
.withExternal()
|
// .withExternal()
|
||||||
.source(TaskType.InspectionObligations).target(TaskType.FormingRegistersOnOS)
|
// .source(TaskType.InspectionObligations).target(TaskType.FormingRegistersOnOS)
|
||||||
.action(inspectionObligationsAction)
|
// .action(inspectionObligationsAction)
|
||||||
.and()
|
// .and()
|
||||||
.withExternal()
|
// .withExternal()
|
||||||
.source(TaskType.FormingRegistersOnOS).target(TaskType.FormingPaymentInstruction)
|
// .source(TaskType.FormingRegistersOnOS).target(TaskType.FormingPaymentInstruction)
|
||||||
.action(formingRegistersOnOSAction)
|
// .action(formingRegistersOnOSAction)
|
||||||
.and()
|
// .and()
|
||||||
.withExternal()
|
// .withExternal()
|
||||||
.source(TaskType.FormingPaymentInstruction).target(TaskType.AgainRevise)
|
// .source(TaskType.FormingPaymentInstruction).target(TaskType.AgainRevise)
|
||||||
.action(formingPaymentInstructionAction)
|
// .action(formingPaymentInstructionAction)
|
||||||
.and()
|
// .and()
|
||||||
.withExternal()
|
// .withExternal()
|
||||||
.event(SessionEvent.Revise)
|
// .event(SessionEvent.Revise)
|
||||||
.source(TaskType.AgainRevise).target(TaskType.AgainRevise)
|
// .source(TaskType.AgainRevise).target(TaskType.AgainRevise)
|
||||||
.action(balanceReviseAction);
|
// .action(balanceReviseAction);
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
@Override
|
// @Override
|
||||||
public void configure(StateMachineConfigurationConfigurer<TaskType, SessionEvent> config) throws Exception {
|
// public void configure(StateMachineConfigurationConfigurer<TaskType, SessionEvent> config) throws Exception {
|
||||||
StateMachineListenerAdapter<TaskType, SessionEvent> loggingChangeStateListener = new StateMachineListenerAdapter<>() {
|
// StateMachineListenerAdapter<TaskType, SessionEvent> loggingChangeStateListener = new StateMachineListenerAdapter<>() {
|
||||||
@Override
|
// @Override
|
||||||
public void stateEntered(State<TaskType, SessionEvent> state) {
|
// public void stateEntered(State<TaskType, SessionEvent> state) {
|
||||||
TaskType enteredState = state != null ? state.getId() : null;
|
// TaskType enteredState = state != null ? state.getId() : null;
|
||||||
log.info(String.format("State entered: %s", enteredState));
|
// log.info(String.format("State entered: %s", enteredState));
|
||||||
}
|
// }
|
||||||
};
|
// };
|
||||||
config.withConfiguration().listener(loggingChangeStateListener);
|
// config.withConfiguration().listener(loggingChangeStateListener);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -51,9 +51,9 @@ public class CreateSessionAction extends AbstractSessionActionForOkErrorHandling
|
||||||
newSession.setClearingDate(LocalDate.now());
|
newSession.setClearingDate(LocalDate.now());
|
||||||
sessionImdg.insert(newSession);
|
sessionImdg.insert(newSession);
|
||||||
log.info("started new session.id={}", newSession.getId());
|
log.info("started new session.id={}", newSession.getId());
|
||||||
context.getExtendedState().getVariables().put(DataEnum.sessionId.name(), newSession.getId());
|
context.getExtendedState().getVariables().put(DataEnum.sessionId, newSession.getId());
|
||||||
context.getExtendedState().getVariables().put(DataEnum.sessionType.name(), sessionType);
|
context.getExtendedState().getVariables().put(DataEnum.sessionType, sessionType);
|
||||||
context.getExtendedState().getVariables().put(DataEnum.section.name(), section);
|
context.getExtendedState().getVariables().put(DataEnum.section, section);
|
||||||
context.getExtendedState().getVariables().put(DataEnum.session.name(), newSession);
|
context.getExtendedState().getVariables().put(DataEnum.session, newSession);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue