internal void Initialize(NodeSelectionManager selectionManger, NodeConfiguration source, Func<NodeConfiguration> targetGetter, Action<NodeConfiguration> targetSetter) { this.selectionManger = selectionManger; this.source = source; this.targetGetter = targetGetter; this.targetSetter = targetSetter; }
public void SelectNode(NodeConfiguration selectedNode) { NodeConfiguration originalSelectedNode = SelectedNode; NodeSelectingEventArgs nodeSelectingEventArgs = new NodeSelectingEventArgs(originalSelectedNode, selectedNode); NodeSelecting(this, nodeSelectingEventArgs); if (nodeSelectingEventArgs.IsCancelled) { return; } if (selectedNode is ActionNodeConfiguration) { propertiesContainer.Child = new NodePropertiesEditors.ActionNodePropertiesEditor((ActionNodeConfiguration)selectedNode, this); } else if (selectedNode is CbrNodeConfiguration) { propertiesContainer.Child = new NodePropertiesEditors.CbrNodePropertiesEditor((CbrNodeConfiguration)selectedNode, this); } else if (selectedNode is TerminatorNodeConfiguration) { propertiesContainer.Child = new NodePropertiesEditors.TerminatorNodePropertiesEditor((TerminatorNodeConfiguration)selectedNode, this); } else if (selectedNode is EntryNodeConfiguration) { propertiesContainer.Child = new NodePropertiesEditors.EntryNodePropertiesEditor((EntryNodeConfiguration)selectedNode, this); } else { propertiesContainer.Child = null; } SelectedNode = selectedNode; NodeSelectedEventArgs nodeSelectedEventArgs = new NodeSelectedEventArgs(originalSelectedNode, selectedNode); NodeSelected(this, nodeSelectedEventArgs); }
internal void RenameNode(NodeConfiguration node, TextBox uiName) { string[] existingNames = MessageflowGraphPresenter.Messageflow.Nodes.Where(n => n != node).Select(n => n.Name).ToArray(); if (existingNames.Contains(uiName.Text)) { MessageBox.Show("Given name already exists. Please make sure that the node has a unique name.", "Node renaming", MessageBoxButton.OK, MessageBoxImage.Error); uiName.Text = node.Name; return; } node.Name = uiName.Text; }
/// <summary> /// Initializes an action node. /// </summary> /// <param name="configuration">ActionNodeConfiguration is expected /// </param> public override void InitializeCore(NodeConfiguration configuration) { Config = (ActionNodeConfiguration)configuration; foreach (ActionConfiguration actionConfig in Config.Actions) { ActionType actionType = ProcessorService.Configuration.GetActionType(actionConfig.ActionTypeName); IActionPlugin action = TypeUtils.CreateTypeInstance<IActionPlugin>(actionType.ClrTypeAndAssembly); ObjectConfigurator.Configurator.LoadConfiguration(action, actionConfig.Configuration); action.Initialize(ProcessorService); actions.Add(action); } }
public static CbrNodeConfiguration CreateCbr(string name, string testedMessage, NodeConfiguration defaultTarget, params CbrCase[] cases) { var testedMessageSelection = new TokenSelection( string.Format(@"/token/messages/message[@name='{0}']/*[1]", testedMessage)); var result = new CbrNodeConfiguration() { Name = name, TestedSelection = testedMessageSelection, DefaultTarget = defaultTarget }; foreach (CbrCase cbrCase in cases) { result.Branches.Add( new XrmUri(string.Format(@"//item[@name='{0}']", cbrCase.Schematron)), cbrCase.TargetNode); } return result; }
public static ActionNodeConfiguration CreateSender(string name, string inputMessage, string outputEndpoint, NodeConfiguration nextNode) { var configuration = XDocument.Parse( string.Format( @"<objectConfig> <item name='targetEndpointName'>{0}</item> <item name='messageSelection'>token/messages/message[@name='{1}']/*[1]</item> <item name='targetGatewayName'>gateway1</item> </objectConfig>", outputEndpoint, inputMessage)); return new ActionNodeConfiguration() { Name = name, NextNode = nextNode, Actions = { new ActionConfiguration("Message sender") { Configuration = new SerializableXDocument(configuration) } } }; }
public static ActionNodeConfiguration CreateTransformation(string name, string xslt, string inputMessage, string outputMessage, NodeConfiguration nextNode) { var configuration = XDocument.Parse( string.Format( @"<objectConfig> <item name='xlstUri'>//item[@name='{0}']</item> <item name='inputMessageSelection'>token/messages/message[@name='{1}']/*[1]</item> <item name='outputMessageName'>{2}</item> <item name='isXsltTrusted'>false</item> </objectConfig>", xslt, inputMessage, outputMessage)); return new ActionNodeConfiguration() { Name = name, NextNode = nextNode, Actions = { new ActionConfiguration("Xslt transformer") { Configuration = new SerializableXDocument(configuration) } } }; }
public void RemoveNode(NodeConfiguration nodeToRemove) { Nodes.Remove(nodeToRemove); foreach (NodeConfiguration node in Nodes) { if (node is ActionNodeConfiguration) { var actionNode = (ActionNodeConfiguration)node; if (actionNode.NextNode == nodeToRemove) { actionNode.NextNode = null; } } else if (node is CbrNodeConfiguration) { var cbrNode = (CbrNodeConfiguration)node; if (cbrNode.DefaultTarget == nodeToRemove) { cbrNode.DefaultTarget = null; } foreach (var key in cbrNode.Branches.Keys.ToArray()) { if (cbrNode.Branches[key] == nodeToRemove) { cbrNode.Branches.Remove(key); } } } } }
/// <summary> /// Initializes a CBR node. /// </summary> /// <param name="configuration">CbrNodeConfiguration is expected /// </param> public override void InitializeCore(NodeConfiguration configuration) { Config = (CbrNodeConfiguration)configuration; evaluator = new CbrEvaluator(Config, ProcessorService.GetXmlResource); }
public CbrCase(string schematron, NodeConfiguration targetNode) { Schematron = schematron; TargetNode = targetNode; }
public NodeSelectedEventArgs(NodeConfiguration originalSelectedNode, NodeConfiguration newSelectedNode) { OriginalSelectedNode = originalSelectedNode; NewSelectedNode = newSelectedNode; }
/// <summary> /// Initializes an action node. /// </summary> /// <param name="configuration">EntryNodeConfiguration is expected /// </param> public override void InitializeCore(NodeConfiguration configuration) { Config = (EntryNodeConfiguration)configuration; }
/// <summary> /// Initializes a concrete implementation of the node. /// </summary> /// <remarks>Indened to be overridden in the derived class.</remarks> /// <param name="configuration"></param> public abstract void InitializeCore(NodeConfiguration configuration);
/// <summary> /// Initializes the node. /// </summary> /// <remarks> /// This method has to be called before the node can be used! /// </remarks> /// <param name="configuration"></param> /// <param name="processor"></param> public void Initialize(NodeConfiguration configuration, ProcessorService processor) { Name = configuration.Name; ProcessorService = new ProcessorServiceForNode(processor, this); InitializeCore(configuration); }
public static EntryNodeConfiguration CreateEntry(string name, NodeConfiguration nextNode) { return new EntryNodeConfiguration() { Name = name, NextNode = nextNode }; }
/// <summary> /// Initializes a terminator node. /// </summary> /// <param name="configuration">TerminatorNodeConfiguration is expected /// </param> public override void InitializeCore(NodeConfiguration configuration) { Config = (TerminatorNodeConfiguration)configuration; }