private void fillDiagrams() { int counter = 0; foreach (EA.Diagram diagram in DiagramsToBeFilled) { if (hasGui) { ImportWorker.ReportProgress(7, new ProgressObject(ProgressBarType.Current, "Fill Diagram", DiagramsToBeFilled.Count)); } else { Console.Out.WriteLine("SCALE:Fill Diagram '" + diagram.Name + "' %" + counter + "/" + DiagramsToBeFilled.Count + "#"); counter++; } if (diagram.StyleEx == "MDGDgm=eMoflon Ecore Diagrams::Ecore Diagram;") { EcoreImport.fillEcoreDiagram(diagram); } } }
private void importMetamodelNodes() { int counter = 0; foreach (MocaNode modelPackageNode in this.MocaTree.Children) { if (!hasGui || checkedMetamodelsToImport.Contains(modelPackageNode.getAttributeOrCreate("Moflon::Name").Value)) { if (modelPackageNode.Name == ECOREModelingMain.EPackageStereotype) { if (hasGui) { ImportWorker.ReportProgress(0, new ProgressObject(ProgressBarType.Current, modelPackageNode.getAttributeOrCreate("Moflon::Name").Value, checkedMetamodelsToImport.Count)); } else { Console.Out.WriteLine("SCALE:Import '" + modelPackageNode.getAttributeOrCreate("Moflon::Name").Value + "' %" + counter + "/" + checkedMetamodelsToImport.Count + "#"); counter++; } EcoreImport.importEPackageModel(modelPackageNode); } else if (modelPackageNode.Name == "TGG") { if (hasGui) { ImportWorker.ReportProgress(0, new ProgressObject(ProgressBarType.Current, modelPackageNode.getAttributeOrCreate("Moflon::Name").Value, checkedMetamodelsToImport.Count)); } else { Console.Out.WriteLine("SCALE:Import '" + modelPackageNode.getAttributeOrCreate("Moflon::Name").Value + "' %" + counter + "/" + checkedMetamodelsToImport.Count + "#"); counter++; } TggImport.importTGGPackageModel(modelPackageNode); } } } }
private void importConnectors() { int counter = 0; //first eReferences and ActivityEdges foreach (MocaNode refNode in ConnectorNodeToParent.Keys) { EA.Element parent = ConnectorNodeToParent[refNode]; if (refNode.Name == EClass.ReferencesChildNodeName) { if (hasGui) { ImportWorker.ReportProgress(1, new ProgressObject(ProgressBarType.Current, "Import EReference", ConnectorNodeToParent.Count)); } else { Console.Out.WriteLine("SCALE:Import EReference for '" + parent.Name + "' %" + counter + "/" + ConnectorNodeToParent.Count + "#"); counter++; } EcoreImport.importERef(sqlRep.GetElementByID(parent.ElementID), refNode); } /* else if (refNode.Name == "ActivityEdge") * { * if (hasGui) * ImportWorker.ReportProgress(1, new ProgressObject(ProgressBarType.Current, "Import ActivityEdge", ConnectorNodeToParent.Count)); * * SdmImport.importActivityEdge(sqlRep.GetElementByID(parent.ElementID), refNode); * } * * if (refNode.Name == SDMModelingMain.LinkVariableStereotype) * { * if (hasGui) * ImportWorker.ReportProgress(1, new ProgressObject(ProgressBarType.Current, "Import LinkVariable", ReferenceGuidToClientTarget.Count)); * * SdmImport.importLinkVariable(sqlRep.GetElementByID(parent.ElementID), refNode); * } * else if (refNode.Name == TGGModelingMain.TggLinkVariableStereotype) * { * if (hasGui) * ImportWorker.ReportProgress(1, new ProgressObject(ProgressBarType.Current, "Import TGGLinkVariable", ReferenceGuidToClientTarget.Count)); * * TggImport.importTGGLinkVariable(refNode, sqlRep.GetElementByID(parent.ElementID)); * }*/ } counter = 0; foreach (String refGuid in ReferenceGuidToClientTarget.Keys) { if (hasGui) { ImportWorker.ReportProgress(2, new ProgressObject(ProgressBarType.Current, "Save EReference and refresh Gui", ReferenceGuidToClientTarget.Count)); } else { Console.Out.WriteLine("SCALE:Save EReference and Refresh Gui for '" + refGuid + "' %" + counter + "/" + ReferenceGuidToClientTarget.Count + "#"); counter++; } if (ReferenceGuidToClientTarget.ContainsKey(refGuid) && ReferenceGuidToReference.ContainsKey(refGuid)) { EA.Connector con = ReferenceGuidToReference[refGuid]; con.Update(); MocaNode refsNode = ReferenceGuidToClientTarget[refGuid]; EReference eRef = new EReference(sqlRep.GetConnectorByID(con.ConnectorID), sqlRep); eRef.deserializeFromMocaTree(refsNode); if (con.Notes == "Switched") { cleanUpEA(con.ClientEnd, con.SupplierEnd, eRef); con.Notes = ""; con.Update(); eRef.switchEnds(); } else { cleanUpEA(con.SupplierEnd, con.ClientEnd, eRef); } con.Update(); eRef.setRealConnector(con); eRef.Update(); MocaTaggableElements.Add(eRef); } } }
private void doImport() { repository.Models.Refresh(); ImportBusy = true; repository.BatchAppend = true; if (hasGui) { ImportWorker.ReportProgress(0, new ProgressObject(ProgressBarType.Complete, "Import raw Objects", 6)); } else { Console.Out.WriteLine("INFO:Import Raw Objects#"); } importMetamodelNodes(); if (hasGui) { ImportWorker.ReportProgress(1, new ProgressObject(ProgressBarType.Complete, "Import raw Connectors")); } else { Console.Out.WriteLine("INFO:Import Raw Connector#"); } importConnectors(); if (hasGui) { ImportWorker.ReportProgress(2, new ProgressObject(ProgressBarType.Complete, "Import Inheritances")); } else { Console.Out.WriteLine("INFO:Import Inheritances#"); } EcoreImport.setInheritances(); if (hasGui) { ImportWorker.ReportProgress(3, new ProgressObject(ProgressBarType.Complete, "Set Classifiers")); } else { Console.Out.WriteLine("INFO:Import Set Classifiers#"); } setClassifierAttributes(); if (hasGui) { ImportWorker.ReportProgress(4, new ProgressObject(ProgressBarType.Complete, "Save Moca Fragment and refresh EA Gui")); } else { Console.Out.WriteLine("INFO:Save Moca Fragment and Refresh EA Gui#"); } saveMocaTagElements(); if (hasGui) { ImportWorker.ReportProgress(6, new ProgressObject(ProgressBarType.Complete, "Fill Diagrams")); } else { Console.Out.WriteLine("INFO:Fill Diagrams#"); } fillDiagrams(); ImportBusy = false; repository.BatchAppend = false; repository.RefreshModelView((repository.Models.GetAt(0) as EA.Package).PackageID); }