Exemple #1
0
        public static SQLConnector getRelatedEReference(LinkVariable lv)
        {
            SQLRepository repository          = lv.Repository;
            SQLConnector  referencedReference = repository.GetConnectorByGuid(lv.linkDialogueEntry.CorrespondingConnectorGuid);

            if (referencedReference == null && lv.linkDialogueEntry.CorrespondingConnectorGuid != "")
            {
                try
                {
                    referencedReference = repository.GetConnectorByID(int.Parse(lv.linkDialogueEntry.CorrespondingConnectorGuid));
                }
                catch
                {
                }
            }
            if (referencedReference == null)
            {
                SQLConnectorTag guidOfRef = EAEcoreAddin.Util.EAUtil.findTaggedValue(lv.LinkVariableEA, "idOfReference");
                if (guidOfRef != null)
                {
                    referencedReference = repository.GetConnectorByGuid(guidOfRef.Value);
                    if (referencedReference == null)
                    {
                        try
                        {
                            referencedReference = repository.GetConnectorByID(int.Parse(guidOfRef.Value));
                        }
                        catch
                        {
                        }
                    }
                }
            }
            return(referencedReference);
        }
        public void processTggEReference(SQLConnector eaReference, String clientOrSupplier)
        {
            SQLConnectorTag mocaTreeTag = EAEcoreAddin.Util.EAUtil.findTaggedValue(eaReference, Main.MoflonExportTreeTaggedValueName);

            MocaNode referenceEndNode = new MocaNode();

            referenceEndNode.deserializeFromXmlTree(MocaTreeUtil.stringToXmlDocument(mocaTreeTag.Notes).DocumentElement.FirstChild as XmlElement);

            SQLElement eTypeElement = null;

            if (clientOrSupplier == "Client")
            {
                referenceEndNode = referenceEndNode.getChildNodeWithName(EReference.ClientReferenceChildNodeName).Children[0];
                eTypeElement     = repository.GetElementByID(eaReference.ClientID);
            }
            else if (clientOrSupplier == "Supplier")
            {
                referenceEndNode = referenceEndNode.getChildNodeWithName(EReference.SupplierReferenceChildNodeName).Children[0];
                eTypeElement     = repository.GetElementByID(eaReference.SupplierID);
            }

            ExportMain.computeAndAddToDependencies(repository, eTypeElement);

            this.currentNode.appendChildNode(referenceEndNode);
        }
        public static String getOppositeTextOfReference(SQLConnector con)
        {
            SQLConnectorTag oppositetextOfRefTag = EAUtil.findTaggedValue(con, "textOfReferenceOpposite");

            if (oppositetextOfRefTag != null)
            {
                return(oppositetextOfRefTag.Value);
            }
            return("");
        }
        public void processActivityEdge(SQLConnector activityEdgeEAElement)
        {
            SQLConnectorTag mocaTreeTag = EAEcoreAddin.Util.EAUtil.findTaggedValue(activityEdgeEAElement, Main.MoflonExportTreeTaggedValueName);

            ActivityEdge aEdge = new ActivityEdge(repository, activityEdgeEAElement);
            Boolean      valid = aEdge.loadTreeFromTaggedValue();
            MocaNode     activityEdgeMocaNode = new MocaNode();

            activityEdgeMocaNode.deserializeFromXmlTree(MocaTreeUtil.stringToXmlDocument(mocaTreeTag.Notes).DocumentElement.FirstChild as XmlElement);

            aEdge.addAttributesDuringExport(activityEdgeMocaNode);

            this.currentNode.appendChildNode(activityEdgeMocaNode);
        }
        public override List <string> doRule(SQLWrapperClasses.SQLConnector eaConnector, SQLWrapperClasses.SQLRepository repository)
        {
            var result = new List <String>();

            if (eaConnector.Stereotype == SDMModelingMain.LinkVariableStereotype || eaConnector.Stereotype == TGGModelingMain.TggLinkVariableStereotype)
            {
                SQLConnectorTag tag = EAUtil.findTaggedValue(eaConnector, ObjectVariable.BindingSemanticsTaggedValueName);
                if (tag != null && tag.Value.ToLower() == "optional")
                {
                    result.Add("Optional ist not supported anymore");
                }
            }
            return(result);
        }
        public void processTggLinkVariable(SQLConnector linkVariable)
        {
            SQLConnectorTag mocaTreeTag = EAEcoreAddin.Util.EAUtil.findTaggedValue(linkVariable, Main.MoflonExportTreeTaggedValueName);

            TGGLinkVariable lv    = new TGGLinkVariable(linkVariable, repository);
            Boolean         valid = lv.loadTreeFromTaggedValue();

            MocaNode linkVariableMocaNode = new MocaNode();

            linkVariableMocaNode.deserializeFromXmlTree(MocaTreeUtil.stringToXmlDocument(mocaTreeTag.Notes).DocumentElement.FirstChild as XmlElement);

            lv.addAttributesDuringExport(linkVariableMocaNode);

            this.currentNode.appendChildNode(linkVariableMocaNode);
        }
        public static String getIdOfReference(SQLConnector con, SQLRepository rep)
        {
            SQLConnectorTag idOfRefTag = EAUtil.findTaggedValue(con, "idOfReference");

            if (idOfRefTag != null)
            {
                int possibleId = 0;
                if (int.TryParse(idOfRefTag.Value, out possibleId))
                {
                    try
                    {
                        SQLConnector refCon = rep.GetConnectorByID(possibleId);
                        return(refCon.ConnectorGUID);
                    }
                    catch
                    {
                        return("");
                    }
                }
                return(idOfRefTag.Value);
            }
            return("");
        }