public EAPModels CollectClasses(string input, ref string err) { m_Repository = new EA.Repository(); try { m_Repository.OpenFile(input); } catch { err = err + "\nIt is not able to open EAP file. Check the instalation of EAP"; return(null); } eapModels = new EAPModels(); EAPModel model = null; EA.Package MyModel = (EA.Package)m_Repository.Models.GetAt(0); string packageAlias = MyModel.Packages.Count > 0 ? ((EA.Package)(MyModel.Packages.GetAt(0))).Alias : null; if (packageAlias == null || packageAlias == "") { model = new EAPModel(nameModel); eapModels.Models.Add(model); } for (short iPackage = 0; iPackage < MyModel.Packages.Count; iPackage++) { EA.Package package = (EA.Package)MyModel.Packages.GetAt(iPackage); MyModelCopy = package; DoPackage(package, false, model, true); } for (short iPackage = 0; iPackage < MyModel.Packages.Count; iPackage++) { EA.Package package = (EA.Package)MyModel.Packages.GetAt(iPackage); MyModelCopy = package; DoPackage(package, false, model, false); } FindAttributeEnumCode(); FixGroupClass(); m_Repository.CloseFile(); if (Validate) { //FindModelCodeIsNotEAP(); tw.Close(); } return(eapModels); }
public void StartTest() { string progId = "EA.Repository"; Type type = Type.GetTypeFromProgID(progId); EAAPI.Repository repository = Activator.CreateInstance(type) as EAAPI.Repository; try { string fileName = "TestModel1.eap"; bool openResult = repository.OpenFile(AssemblyDirectory + "/TestData/" + fileName); // root package guid: {45A143E0-D43A-4f51-ACA6-FF695EEE3256} if (openResult) { Console.WriteLine("Model open"); //EAAPI.Package rootModelPackage = repository.GetPackageByGuid("{45A143E0-D43A-4f51-ACA6-FF695EEE3256}"); EAAPI.Diagram diagram = repository.GetDiagramByGuid("{BF30DD09-E13E-451b-B210-786F93A74936}") as EAAPI.Diagram; SpecIF.DataModels.SpecIF specIF; EaUmlToSpecIfConverter converter; ISpecIfMetadataReader metadataReader = new SpecIfFileMetadataReader("d:\\work\\github\\SpecIF\\classDefinitions"); converter = new EaUmlToSpecIfConverter(repository, metadataReader); Resource resource = converter.ConvertDiagram(diagram); //specIF = converter.ConvertModelToSpecIF(rootModelPackage); //SpecIfFileReaderWriter.SaveSpecIfToFile(specIF, @"D:\speciftest\TestModel1.specif"); Console.WriteLine("Finished"); } } catch (Exception exception) { Console.WriteLine(exception); } finally { //Console.ReadLine(); repository.Exit(); } }
//Open all of the .eap file and load them into a json text file for upcoming sessions to use. public static List <EA.Repository> ParseEAProjects() { //Get the list of EA project files List <string> strListOfProjects = new List <string>(); strListOfProjects = GetListOfProjects(); List <EA.Repository> ListOfRepositories = new List <Repository>(); foreach (string strFilename in strListOfProjects) { try { EA.Repository m_Repository = new EA.Repository(); m_Repository.OpenFile(strFilename); ListOfRepositories.Add(m_Repository); } catch (Exception e) { string message = e.Message; } } return(ListOfRepositories); //Now let's store them for later use. //Create a json string // var EAjson = new JavaScriptSerializer().Serialize(ListOfRepositories); //If it exists, wipe it. // if (System.IO.File.Exists(pathForEAObject)) // { // System.IO.File.WriteAllText(pathForEAObject, string.Empty); // } //Write JSON to file // System.IO.File.WriteAllText(pathForEAObject, EAjson.ToString()); }
public void OpenRepository(String repositoryName) { eaRepository = new Repository(); eaRepository.OpenFile(repositoryName); }
public void OpenEARepository() { eaRepo = new EAAPI.RepositoryClass(); eaRepo.OpenFile(diagramConfig.Configuration.EARepository); }