public EdgeGuard edgeGuardFromComboBox()
        {
            EdgeGuard edgeGuard = EdgeGuard.NONE;

            if (this.Text == "End (for each)")
            {
                edgeGuard = EdgeGuard.END;
            }
            else if (this.Text == "None")
            {
                edgeGuard = EdgeGuard.NONE;
            }
            else if (this.Text == "Success")
            {
                edgeGuard = EdgeGuard.SUCCESS;
            }
            else if (this.Text == "Failure")
            {
                edgeGuard = EdgeGuard.FAILURE;
            }
            else if (this.Text == "Each Time")
            {
                edgeGuard = EdgeGuard.EACH_TIME;
            }
            return(edgeGuard);
        }
 public void comboBoxFromEdgeGuard(EdgeGuard edgeGuard)
 {
     if (edgeGuard == EdgeGuard.NONE)
     {
         this.Text = "None";
     }
     else if (edgeGuard == EdgeGuard.SUCCESS)
     {
         this.Text = "Success";
     }
     else if (edgeGuard == EdgeGuard.FAILURE)
     {
         this.Text = "Failure";
     }
     else if (edgeGuard == EdgeGuard.END)
     {
         this.Text = "End (for each)";
     }
     else if (edgeGuard == EdgeGuard.EACH_TIME)
     {
         this.Text = "Each Time";
     }
 }
예제 #3
0
 public override void deserializeFromMocaTree(Serialization.MocaTree.MocaNode actNode)
 {
     this.GuardType = (EdgeGuard)Enum.Parse(typeof(EdgeGuard), actNode.getAttributeOrCreate("edgeGuard").Value.ToUpper());
     Guid           = actNode.getAttributeOrCreate(Main.GuidStringName).Value;
 }
예제 #4
0
        private void arrangeUnselectedConnectors(EA.Element newSdmContainer, EA.Diagram newSdmDiagram, EA.Element newStartNode, EA.Element selectedElement, int diagObjectBottom, int diagObjectLeft)
        {
            foreach (EA.Connector connector in selectedElement.Connectors)
            {
                if (!this.selectedElementIDs.Contains(connector.ClientID))
                {
                    ActivityEdge oldEdge = new ActivityEdge(sqlRepository, sqlRepository.GetConnectorByID(connector.ConnectorID));
                    oldEdge.loadTreeFromTaggedValue();
                    //rearrange connector target to new statement node
                    if (thisOvPattern != null)
                    {
                        connector.SupplierID = thisOvPattern.ElementID;
                    }
                    else
                    {
                        connector.SupplierID = sdmCallPattern.ElementID;
                    }
                    connector.Update();

                    //create new connection from new start node to selected Element
                    EA.Connector newConnection = newStartNode.Connectors.AddNew("", Main.EAControlFlowType) as EA.Connector;
                    newConnection.SupplierID = selectedElement.ElementID;
                    newConnection.Update();

                    ActivityEdge newEdge = new ActivityEdge(sqlRepository, sqlRepository.GetConnectorByID(newConnection.ConnectorID));
                    //newEdge.GuardType = oldEdge.GuardType;
                    newEdge.saveTreeToEATaggedValue(true);
                }
                else if (!this.selectedElementIDs.Contains(connector.SupplierID))
                {
                    ActivityEdge oldEdge = new ActivityEdge(sqlRepository, sqlRepository.GetConnectorByID(connector.ConnectorID));
                    oldEdge.loadTreeFromTaggedValue();
                    //rearrange target source to new statement node
                    connector.ClientID = sdmCallPattern.ElementID;
                    connector.Update();
                    EdgeGuard newGuard = oldEdge.GuardType;


                    oldEdge.GuardType = EdgeGuard.NONE;
                    oldEdge.saveTreeToEATaggedValue(true);

                    //create new stopnode for old outgoing edge from selected element
                    EA.Element newStopNode = newSdmContainer.Elements.AddNew("", Main.EAStateNodeType) as EA.Element;
                    newStopNode.Subtype = Main.EAStopNodeSubtype;
                    newStopNode.Update();

                    StopNode stopNode = new StopNode(sqlRepository, sqlRepository.GetElementByID(newStopNode.ElementID));
                    stopNode.saveTreeToEATaggedValue(true);

                    EA.DiagramObject stopNodeDiagramObject = newSdmDiagram.DiagramObjects.AddNew("", Main.EAStateNodeType) as EA.DiagramObject;
                    stopNodeDiagramObject.ElementID = newStopNode.ElementID;
                    stopNodeDiagramObject.top       = diagObjectBottom - 20;
                    stopNodeDiagramObject.bottom    = diagObjectBottom - 40;
                    stopNodeDiagramObject.left      = diagObjectLeft + 20;
                    stopNodeDiagramObject.right     = diagObjectLeft + 40;
                    stopNodeDiagramObject.Update();

                    EA.Connector newConnection = selectedElement.Connectors.AddNew("", Main.EAControlFlowType) as EA.Connector;
                    newConnection.SupplierID = newStopNode.ElementID;
                    newConnection.Update();

                    ActivityEdge newEdge = new ActivityEdge(sqlRepository, sqlRepository.GetConnectorByID(newConnection.ConnectorID));
                    newEdge.GuardType = newGuard;
                    newEdge.saveTreeToEATaggedValue(true);
                }
            }
        }