//public bool RepositoryIsOpen { get; set; }

        public SpecIfEaDataReader(EAAPI.Repository eaRepository, ISpecIfMetadataReader metadataReader)
        {
            _eaRepository   = eaRepository;
            _metadataReader = metadataReader;

            if (_eaUmlToSpecIfConverter == null)
            {
                _eaUmlToSpecIfConverter = new EaUmlToSpecIfConverter(eaRepository, metadataReader);
            }
        }
Example #2
0
        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();
            }
        }