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(); } }
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(); } } }