private void CheckIfSagaStepBehaviorExists(WorkflowDefinition.Node toNode) { ISagaStepBehavior sagaStepBehavior = _sagaStepBehaviorFactory.GetSagaStepBehavior(toNode.BehaviorModuleKey, toNode.BehaviorKey, toNode.BehaviorVersion, toNode.BehaviorConfiguration, Name); if (sagaStepBehavior == null) { throw new WorkflowStartupException($"Workflow {Name}.{Version} cannot find SagaStepBehavior {toNode.BehaviorKey}.{toNode.BehaviorVersion}"); } }
public ISagaStepBehavior GetSagaStepBehaviorForNode(DoubleLinkedDirectedGraph <NodeData, EdgeData> .Node node) { ISagaStepBehavior sagaStepBehavior = _sagaStepBehaviorFactory.GetSagaStepBehavior(node.NodeData.BehaviorModuleKey, node.NodeData.BehaviorKey, node.NodeData.BehaviorVersion, node.NodeData.BehaviorConfiguration, Name); if (sagaStepBehavior == null) { throw new WorkflowRuntimeException($"Workflow {Name}.{Version} cannot find SagaStepBehavior {node.NodeData.BehaviorKey}.{node.NodeData.BehaviorVersion}"); } else { return(sagaStepBehavior); } }
/// <summary> /// Returns the SagaStepBehavior requested and null if /// </summary> /// <param name="behaviorName"></param> /// <param name="version"></param> /// <param name="behaviorConfiguration"></param> /// <returns></returns> public ISagaStepBehavior GetSagaStepBehavior(KeyString behaviorName, VersionNumber version, JsonValue behaviorConfiguration) { ISagaStepBehavior sagaStepBehavior = _pluginSagaStepBehaviorFactory.GetInstance(behaviorName, version); if (sagaStepBehavior != null) { if (!sagaStepBehavior.SetBehaviorConfiguration(behaviorConfiguration)) { throw new WorkflowRuntimeException($"The supplied behaviorConfiguration is not valid"); } } return(sagaStepBehavior); }