Пример #1
0
        public void TestFindByUri()
        {
            var workspace = new Workspace<IExtent>("data", "No annotation");

            var extent = new MofUriExtent("http://test/");
            var factory = new MofFactory();
            var element = factory.create(null);
            extent.elements().add(element);

            workspace.AddExtent(extent);

            var elementAsMofElement = (MofElement) element;
            var guid = elementAsMofElement.Id;

            // Now check, if everything is working
            var found = extent.element("http://test/#" + guid);
            Assert.That(found, Is.EqualTo(element));

            var anotherFound = workspace.FindElementByUri("http://test/#" + guid);
            Assert.That(anotherFound, Is.EqualTo(element));
        }
Пример #2
0
        /// <summary>
        /// Performs a full bootstrap by reading the uml classes 
        /// </summary>
        /// <param name="filePaths">Paths storing the uml</param>
        /// <param name="workspace">The workspace to which the extents will be aded</param>
        /// <param name="dataLayerLogic">The datalayerlogic being used to add the </param>
        /// <param name="dataLayer">The datalayer to which the new extents will be added</param>
        /// <returns></returns>
        public static Bootstrapper PerformFullBootstrap(FilePaths filePaths, Workspace<IExtent> workspace,
            IDataLayerLogic dataLayerLogic, IDataLayer dataLayer)
        {
            if (workspace == null) throw new ArgumentNullException(nameof(workspace));
            if (dataLayerLogic == null) throw new ArgumentNullException(nameof(dataLayerLogic));
            if (dataLayer == null) throw new ArgumentNullException(nameof(dataLayer));

            var strapper = PerformFullBootstrap(filePaths, dataLayerLogic, dataLayer);

            workspace.AddExtent(strapper.MofInfrastructure);
            workspace.AddExtent(strapper.UmlInfrastructure);
            workspace.AddExtent(strapper.PrimitiveInfrastructure);
            return strapper;
        }