Пример #1
0
        public void TestEAMock()
        {
            EAMetaModel meta = new EAMetaModel();

            EARepository rep = EARepository.Repository;

            EAElement metaAPI = new EAElement();

            metaAPI.Name = "API";

            EAElement api = new EAElement();

            api.Name         = "api";
            api.Type         = "Class";
            api.Stereotype   = "stereotype";
            api.ClassifierID = metaAPI.ElementID;

            api.RunState = "runstate";

            EAElement resource = new EAElement();

            resource.Name = "/resource";

            EA.Collection connectors = api.Connectors;
            object        con        = connectors.AddNew("", RoundTripAddIn.RoundTripAddInClass.EA_TYPE_ASSOCIATION);

            EAConnector c = (EAConnector)con;

            c.ClientID   = api.ElementID;
            c.SupplierID = resource.ElementID;

            c.SupplierEnd.Role = "SupplierRole";

            Assert.AreEqual(1, api.Connectors.Count);


            EAElement metaAPI2 = (EAElement)rep.GetElementByID(metaAPI.ElementID);

            Assert.AreEqual(metaAPI.ElementID, metaAPI2.ElementID);

            EAElement api2      = (EAElement)rep.GetElementByID(c.ClientID);
            EAElement resource2 = (EAElement)rep.GetElementByID(c.SupplierID);

            Assert.AreEqual(api.ElementID, api2.ElementID);
            Assert.AreEqual(resource.ElementID, resource2.ElementID);

            Assert.IsNotNull(c.SupplierEnd);
            Assert.IsNotNull(c.SupplierEnd.Role);
        }
Пример #2
0
        /// <summary>
        /// Функция записывает в эанные ElementData идентификаторы коннекторов (на основе обработки ConnectorData)
        /// </summary>
        private static void SyncElementConnectorData()
        {
            foreach (ElementData elementData in ElementData.Values)
            {
                elementData._ConnectorDataIDs = null;
            }

            foreach (ConnectorData connectorData  in ConnectorData.Values)
            {
                ElementData sourceElementData;
                if (ElementData.ContainsKey(connectorData.SourceElementID))
                {
                    sourceElementData = ElementData[connectorData.SourceElementID];
                }
                else // небиблиотечный элемент
                {
                    EA.Element element = EARepository.GetElementByID(connectorData.SourceElementID);
                    sourceElementData = new ElementData(element);
                }
                if (sourceElementData._ConnectorDataIDs == null)
                {
                    sourceElementData._ConnectorDataIDs = new List <int>();
                }
                sourceElementData._ConnectorDataIDs.Add(connectorData.ConnectorID);


                ElementData targetElementData;
                if (ElementData.ContainsKey(connectorData.TargetElementID))
                {
                    targetElementData = ElementData[connectorData.TargetElementID];
                }
                else
                {
                    EA.Element element = EARepository.GetElementByID(connectorData.TargetElementID);
                    targetElementData = new ElementData(element);
                }
                if (targetElementData._ConnectorDataIDs == null)
                {
                    targetElementData._ConnectorDataIDs = new List <int>();
                }
                targetElementData._ConnectorDataIDs.Add(connectorData.ConnectorID);
            }
        }