/// <summary> /// Adds the node. /// </summary> /// <param name="id">The id.</param> /// <param name="metadata">The metadata.</param> public override void AddNode(String id, Metadata metadata, LoggerNameRoot loggerNameRoot) { // adds a node to the graph RunnableNode node = m_nodesFactory.CreateNode(id, metadata, loggerNameRoot, Library, ComponentsAppDomain, TerminateExperimentExecutionResetEvent); if (node is RunnableStartNode) { //allow set only once if (m_startNode != null) { throw new TraceLab.Core.Exceptions.InconsistentTemplateException("Template cannot have two start nodes defined."); } m_startNode = node; } if (node is RunnableEndNode) { //allow set only once if (m_endNode != null) { throw new TraceLab.Core.Exceptions.InconsistentTemplateException("Template cannot have two end nodes defined."); } m_endNode = node; } m_nodes.Add(node); }
/// <summary> /// Adds the next successor node. It also stores the node in the candidate nodes. /// </summary> /// <param name="node">The node.</param> public override void AddNextNode(IRunnableNode node) { base.AddNextNode(node); m_candidateNodes.Add(node); }