package brainslug.spring; import brainslug.flow.context.DefaultBrainslugContext; import brainslug.flow.context.Registry; import brainslug.flow.execution.instance.InstanceStore; import brainslug.flow.execution.node.task.CallDefinitionExecutor; import brainslug.flow.definition.DefinitionStore; import brainslug.flow.execution.FlowExecutor; import brainslug.flow.execution.async.*; import brainslug.flow.execution.expression.ExpressionEvaluator; import brainslug.flow.execution.token.TokenStore; import brainslug.flow.listener.ListenerManager; import org.springframework.context.ApplicationContext; import org.springframework.transaction.annotation.Transactional; @Transactional public class SpringBrainslugContext extends DefaultBrainslugContext { ApplicationContext applicationContext; public SpringBrainslugContext(ApplicationContext applicationContext, AsyncTriggerScheduler asyncTriggerScheduler, AsyncTriggerStore asyncTriggerStore, AsyncTriggerSchedulerOptions asyncTriggerSchedulerOptions, AsyncFlowStartScheduler asyncFlowStartScheduler, SchedulerOptions asyncFlowStartSchedulerOptions, DefinitionStore definitionStore, ListenerManager listenerManager, CallDefinitionExecutor callDefinitionExecutor, ExpressionEvaluator expressionEvaluator, Registry registry, FlowExecutor flowExecutor, TokenStore tokenStore, InstanceStore instanceStore) { super(asyncTriggerScheduler, asyncTriggerStore, asyncTriggerSchedulerOptions, asyncFlowStartScheduler, asyncFlowStartSchedulerOptions, definitionStore, listenerManager, callDefinitionExecutor, expressionEvaluator, registry, flowExecutor, tokenStore, instanceStore); this.applicationContext = applicationContext; } }