public override void doRuleQuickFix(SQLPackage eaPackage, SQLWrapperClasses.SQLRepository repository, int i, String errorMessage)
 {
     if (i == 0)
     {
         eaPackage.getRealPackage().Name = Regex.Replace(eaPackage.Name, " ", "");
         eaPackage.getRealPackage().Update();
     }
 }
        public EA.Package getOrCreatePackage(SQLPackage rootPackage, MocaNode packageNode)
        {
            String oldGuid = packageNode.getAttributeOrCreate(Main.GuidStringName).Value;

            EA.Package modelPackage = repository.GetPackageByGuid(oldGuid);
            if (modelPackage != null)
            {
                DeleteWithGuid(rootPackage, oldGuid);
                EA.Package parent = repository.GetPackageByID(modelPackage.ParentID);
                DeleteWithGuid(parent, oldGuid);
            }

            EA.Package rootPackageOriginal = rootPackage.getRealPackage();
            String     packageName         = packageNode.getAttributeOrCreate(MetamodelHelper.MoflonCustomNameTaggedValueName).Value;

            if (packageName == "")
            {
                packageName = packageNode.getAttributeOrCreate("name").Value;
            }

            modelPackage = rootPackageOriginal.Packages.AddNew(packageName, "") as EA.Package;
            if (rootPackageOriginal.ParentID == 0)
            {
                modelPackage.Flags = "isModel=1;VICON=3;";
            }
            modelPackage.Update();

            // import nsUri
            setTagValueIfPossibleForPackage(MetamodelHelper.MoflonCustomNsUriTaggedValueName, packageNode, modelPackage);

            // import export
            setTagValueIfPossibleForPackage(MetamodelHelper.MoflonExportTaggedValueName, packageNode, modelPackage);

            // import pluginID
            setTagValueIfPossibleForPackage(MetamodelHelper.MoflonCustomPluginIDTaggedValueName, packageNode, modelPackage);

            // import prefix
            setTagValueIfPossibleForPackage(MetamodelHelper.MoflonCustomNsPrefixTaggedValueName, packageNode, modelPackage);

            // import validated
            setTagValueIfPossibleForPackage(MetamodelHelper.MoflonValidatedTaggedValueName, packageNode, modelPackage);

            // import name
            setTagValueIfPossibleForPackage(MetamodelHelper.MoflonCustomNameTaggedValueName, packageNode, modelPackage);

            repository.Execute("update t_package set ea_guid = '" + oldGuid + "' where ea_guid = '" + modelPackage.PackageGUID + "'");
            repository.Execute("update t_object set ea_guid = '" + oldGuid + "' where ea_guid = '" + modelPackage.PackageGUID + "'");
            modelPackage = repository.GetPackageByGuid(oldGuid);

            return(modelPackage);
        }
        public EA.Element getOrCreateElement(SQLPackage parentPackage, MocaNode elementNode, String elementType)
        {
            String oldGuid = elementNode.getAttributeOrCreate(Main.GuidStringName).Value;

            EA.Element eclassElem = repository.GetElementByGuid(oldGuid);
            if (eclassElem == null)
            {
                EA.Package parentPackageOrig = parentPackage.getRealPackage();
                eclassElem = parentPackageOrig.Elements.AddNew(elementNode.getAttributeOrCreate("name").Value, elementType) as EA.Element;
                eclassElem.Update();
                if (oldGuid != "")
                {
                    repository.Execute("update t_object set ea_guid = '" + oldGuid + "' where ea_guid = '" + eclassElem.ElementGUID + "'");
                    eclassElem = repository.GetElementByGuid(oldGuid);
                }
            }
            return(eclassElem);
        }
        private void okButton_Click(object sender, EventArgs e)
        {
            if (this.selectedSourceMetamodel != null && this.selectedTargetMetamodel != null)
            {
                //create rule package
                if (newTGGProject.Packages.Count == 0)
                {
                    EA.Package rulesPackage = newTGGProject.getRealPackage().Packages.AddNew("Rules", TGGModelingMain.TggRulePackageStereotype) as EA.Package;
                    rulesPackage.Update();
                    TGGRulePackage rPackage = new TGGRulePackage(repository.GetPackageByID(rulesPackage.PackageID), repository);
                    rPackage.saveTreeToEATaggedValue(true);

                    EA.Diagram rulesDiagram = rulesPackage.Diagrams.AddNew("Rules", TGGModelingMain.TggRulesDiagramMetatype[0]) as EA.Diagram;
                    rulesDiagram.Update();
                    newTGGProject.Packages.Refresh();
                }

                Metamodel sourceMetamodel         = new Metamodel(repository, this.selectedSourceMetamodel);
                Metamodel targetMetamodel         = new Metamodel(repository, this.selectedTargetMetamodel);
                Metamodel correspondenceMetamodel = new Metamodel(repository, repository.GetPackageByID(newTGGProject.PackageID));

                Domain sourceDomain         = new Domain(sourceMetamodel, DomainType.SOURCE);
                Domain targetDomain         = new Domain(targetMetamodel, DomainType.TARGET);
                Domain correspondenceDomain = new Domain(correspondenceMetamodel, DomainType.CORRESPONDENCE);

                tgg.Metamodels.Clear();
                tgg.Domains.Clear();

                tgg.Metamodels.Add(sourceMetamodel);
                tgg.Metamodels.Add(targetMetamodel);
                tgg.Metamodels.Add(correspondenceMetamodel);

                tgg.Domains.Add(sourceDomain);
                tgg.Domains.Add(targetDomain);
                tgg.Domains.Add(correspondenceDomain);

                tgg.EaPackage.getRealPackage().Name = textBoxName.Text;

                tgg.saveTreeToEATaggedValue(true);
                Close();
            }
        }
Beispiel #5
0
 private static Boolean markPackageInProjectBrowser(SQLPackage package, SQLRepository repository)
 {
     EA.Package actPackage = package.getRealPackage();
     repository.ShowInProjectView(actPackage);
     return(true);
 }
        public void EA_OnPostNewDiagram(EA.Repository Repository, EA.EventProperties Info)
        {
            int           diagramID = int.Parse(Info.Get(0).Value.ToString());
            SQLRepository sqlRep    = new SQLRepository(Repository, false);

            EA.Diagram diagram         = Repository.GetDiagramByID(diagramID);
            String     diagramMetatype = diagram.MetaType;

            if (TGGModelingMain.TggSchemaDiagramMetatype.Contains(diagram.MetaType))
            {
                SQLPackage newTGGProject = sqlRep.GetPackageByID(diagram.PackageID);
                if (EAUtil.packageIsModel(newTGGProject, sqlRep) && newTGGProject.Diagrams.Count == 1 && newTGGProject.getRealPackage().StereotypeEx == "")
                {
                    NewTGGProjectDialog tggDialog = new NewTGGProjectDialog(sqlRep, newTGGProject);
                    tggDialog.ShowDialog();
                }
            }
        }