diff --git a/src/Umbraco.Core/CoreBootManager.cs b/src/Umbraco.Core/CoreBootManager.cs index 502125f077..d31b7edeee 100644 --- a/src/Umbraco.Core/CoreBootManager.cs +++ b/src/Umbraco.Core/CoreBootManager.cs @@ -477,9 +477,8 @@ namespace Umbraco.Core ShortStringHelperResolver.Current = new ShortStringHelperResolver(Container, factory => new DefaultShortStringHelper(factory.GetInstance()).WithDefaultConfig()); - // fixme - could register collection with initial values? - Container.RegisterCollection(); - Container.GetInstance().Add(); + Container.RegisterBuilderCollection(); + Container.GetInstance().Append(); // by default, no factory is activated PublishedContentModelFactoryResolver.Current = new PublishedContentModelFactoryResolver(Container); diff --git a/src/Umbraco.Core/Current.cs b/src/Umbraco.Core/Current.cs index 84bd8fa9b5..2d43610b01 100644 --- a/src/Umbraco.Core/Current.cs +++ b/src/Umbraco.Core/Current.cs @@ -12,6 +12,6 @@ namespace Umbraco.Core public static IServiceContainer Container { get; set; } // ok to set - don't be stupid // cannot set - this is temp - public static IEnumerable UrlSegmentProviders => Container.GetInstance().Items; + public static IEnumerable UrlSegmentProviders => Container.GetInstance(); } } diff --git a/src/Umbraco.Core/Strings/UrlSegmentProviderCollection.cs b/src/Umbraco.Core/Strings/UrlSegmentProviderCollection.cs index 59cdc5d90b..1b34e3ef67 100644 --- a/src/Umbraco.Core/Strings/UrlSegmentProviderCollection.cs +++ b/src/Umbraco.Core/Strings/UrlSegmentProviderCollection.cs @@ -3,7 +3,7 @@ using Umbraco.Core.DependencyInjection; namespace Umbraco.Core.Strings { - public class UrlSegmentProviderCollection : InjectCollectionBase + public class UrlSegmentProviderCollection : BuilderCollectionBase { public UrlSegmentProviderCollection(IEnumerable items) : base(items) diff --git a/src/Umbraco.Core/Strings/UrlSegmentProviderCollectionBuilder.cs b/src/Umbraco.Core/Strings/UrlSegmentProviderCollectionBuilder.cs index 921aa6716a..93f59e35c6 100644 --- a/src/Umbraco.Core/Strings/UrlSegmentProviderCollectionBuilder.cs +++ b/src/Umbraco.Core/Strings/UrlSegmentProviderCollectionBuilder.cs @@ -4,12 +4,14 @@ using Umbraco.Core.DependencyInjection; namespace Umbraco.Core.Strings { - public class UrlSegmentProviderCollectionBuilder : InjectCollectionBuilderBase + public class UrlSegmentProviderCollectionBuilder : OrderedCollectionBuilderBase { public UrlSegmentProviderCollectionBuilder(IServiceContainer container) : base(container) { } + protected override UrlSegmentProviderCollectionBuilder This => this; + protected override UrlSegmentProviderCollection CreateCollection(IEnumerable items) { return new UrlSegmentProviderCollection(items); diff --git a/src/Umbraco.Tests/Cache/PublishedCache/PublishedMediaCacheTests.cs b/src/Umbraco.Tests/Cache/PublishedCache/PublishedMediaCacheTests.cs index 1bcad53440..275abcdbeb 100644 --- a/src/Umbraco.Tests/Cache/PublishedCache/PublishedMediaCacheTests.cs +++ b/src/Umbraco.Tests/Cache/PublishedCache/PublishedMediaCacheTests.cs @@ -33,8 +33,8 @@ namespace Umbraco.Tests.Cache.PublishedCache var container = new ServiceContainer(); container.EnableAnnotatedConstructorInjection(); - container.RegisterCollection(); - container.GetInstance().Add(); + container.RegisterBuilderCollection(); + container.GetInstance().Append(); PublishedContentModelFactoryResolver.Current = new PublishedContentModelFactoryResolver(); base.FreezeResolution(); diff --git a/src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs b/src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs index b04068cbb7..aea65ba47c 100644 --- a/src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs +++ b/src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs @@ -51,8 +51,8 @@ namespace Umbraco.Tests.PublishedContent var container = new ServiceContainer(); container.EnableAnnotatedConstructorInjection(); - container.RegisterCollection(); - container.GetInstance().Add(); + container.RegisterBuilderCollection(); + container.GetInstance().Append(); base.FreezeResolution(); }