Esempio n. 1
0
        public void Should_resolve_component_names()
        {
            var component = new Component(SetupMock <IComponentDependenciesFactory>());

            component.Name = "AbcDef";
            _nameManager.Register(component);

            Assert.AreEqual(component, _nameManager.ResolveComponent("AbcDef"));
            Assert.AreEqual(component, _nameManager.ResolveComponent("abcdef"));
            Assert.AreEqual(component, _nameManager.ResolveComponent("ABCDEF"));

            Assert.Throws <NameResolutionFailureException>(() => _nameManager.ResolveComponent("Xyz"));

            Assert.Throws <NameResolutionFailureException>(() => _nameManager.ResolveDataProvider("AbcDef"));
            Assert.Throws <NameResolutionFailureException>(() => _nameManager.ResolveLayout("AbcDef"));
            Assert.Throws <NameResolutionFailureException>(() => _nameManager.ResolveModule("AbcDef"));
            Assert.Throws <NameResolutionFailureException>(() => _nameManager.ResolvePackage("AbcDef"));
            Assert.Throws <NameResolutionFailureException>(() => _nameManager.ResolvePage("AbcDef"));
            Assert.Throws <NameResolutionFailureException>(() => _nameManager.ResolveRegion("AbcDef"));
            Assert.Throws <NameResolutionFailureException>(() => _nameManager.ResolveService("AbcDef"));
        }
Esempio n. 2
0
        private void ResolveZoneNames(ZoneSet zoneSet, INameManager nameManager)
        {
            if (zoneSet == null || zoneSet.Zones == null)
            {
                return;
            }

            foreach (var region in zoneSet.Zones)
            {
                if (region.Region == null)
                {
                    if (region.RegionElementName == null)
                    {
                        if (region.ZoneName != null)
                        {
                            object element;
                            if (_regionElements.TryGetValue(region.ZoneName, out element))
                            {
                                region.RegionElementName = element as string;
                                region.Region            = element as IRegion;
                            }
                        }
                    }
                    if (region.RegionElementName != null && region.Region == null)
                    {
                        region.Region = nameManager.ResolveRegion(region.RegionElementName, _layout.Package);
                    }
                }

                if (region.Region == null && region.ZoneName != null)
                {
                    region.Region = new LayoutZoneRegion(_regionDependenciesFactory);
                }

                if (region.ZoneName != null)
                {
                    _layout.PopulateZone(region.ZoneName, region.Region);
                }

                if (region.ChildZones != null)
                {
                    ResolveZoneNames(region.ChildZones, nameManager);
                }
            }
        }
        private void ResolveRegionNames(RegionSet regionSet, INameManager nameManager)
        {
            if (regionSet == null || regionSet.Regions == null)
            {
                return;
            }

            foreach (var region in regionSet.Regions)
            {
                if (region.Region == null)
                {
                    if (region.RegionElementName == null)
                    {
                        if (region.RegionName != null)
                        {
                            object element;
                            if (_regionElements.TryGetValue(region.RegionName, out element))
                            {
                                region.RegionElementName = element as string;
                                region.Region            = element as IRegion;
                            }
                        }
                    }
                    if (region.RegionElementName != null && region.Region == null)
                    {
                        region.Region = nameManager.ResolveRegion(region.RegionElementName, _layout.Package);
                    }
                }

                if (region.Region == null && region.RegionName != null)
                {
                    region.Region = new RegionComponent(_regionDependenciesFactory);
                }

                if (region.RegionName != null)
                {
                    _layout.PopulateRegion(region.RegionName, region.Region);
                }

                if (region.ChildRegions != null)
                {
                    ResolveRegionNames(region.ChildRegions, nameManager);
                }
            }
        }