diff --git a/Remotion/Core/Core/Configuration/ServiceLocation/IServiceLocationConfiguration.cs b/Remotion/Core/Core/Configuration/ServiceLocation/IServiceLocationConfiguration.obsolete.cs similarity index 70% rename from Remotion/Core/Core/Configuration/ServiceLocation/IServiceLocationConfiguration.cs rename to Remotion/Core/Core/Configuration/ServiceLocation/IServiceLocationConfiguration.obsolete.cs index 3ba56e0288..ec023e6c28 100644 --- a/Remotion/Core/Core/Configuration/ServiceLocation/IServiceLocationConfiguration.cs +++ b/Remotion/Core/Core/Configuration/ServiceLocation/IServiceLocationConfiguration.obsolete.cs @@ -19,13 +19,10 @@ namespace Remotion.Configuration.ServiceLocation { + [Obsolete("Use IoC bootstrapping to resolve the IServiceLocatorProvider (Version 6.0.0)", true)] public interface IServiceLocationConfiguration { - /// - /// Creates an instance as indicated by . If no - /// is set, an instance of is returned. - /// - /// An new instance. + [Obsolete("Use IoC bootstrapping to resolve the IServiceLocatorProvider (Version 6.0.0)", true)] IServiceLocatorProvider CreateServiceLocatorProvider (); } } diff --git a/Remotion/Core/Core/Configuration/ServiceLocation/ServiceLocationConfiguration.cs b/Remotion/Core/Core/Configuration/ServiceLocation/ServiceLocationConfiguration.cs deleted file mode 100644 index d961f06975..0000000000 --- a/Remotion/Core/Core/Configuration/ServiceLocation/ServiceLocationConfiguration.cs +++ /dev/null @@ -1,89 +0,0 @@ -// This file is part of the re-motion Core Framework (www.re-motion.org) -// Copyright (c) rubicon IT GmbH, www.rubicon.eu -// -// The re-motion Core Framework is free software; you can redistribute it -// and/or modify it under the terms of the GNU Lesser General Public License -// as published by the Free Software Foundation; either version 2.1 of the -// License, or (at your option) any later version. -// -// re-motion is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with re-motion; if not, see http://www.gnu.org/licenses. -// -using System; -using System.Configuration; -using Remotion.ServiceLocation; - -namespace Remotion.Configuration.ServiceLocation -{ - /// - /// Configures the service location performed by . - /// - public sealed class ServiceLocationConfiguration : ConfigurationSection, IServiceLocationConfiguration - { - private static readonly DoubleCheckedLockingContainer s_current = - new DoubleCheckedLockingContainer(GetServiceLocationConfiguration); - - /// - /// Gets the current instance. This is used by - /// to retrieve an instance if no specific - /// was configured via . - /// - /// The current . - public static IServiceLocationConfiguration Current - { - get { return s_current.Value; } - } - - /// - /// Sets the instance. - /// - /// The new configuration to set as the configuration. - public static void SetCurrent (IServiceLocationConfiguration? configuration) - { - s_current.Value = configuration!; - } - - private static ServiceLocationConfiguration GetServiceLocationConfiguration () - { - return (ServiceLocationConfiguration)(ConfigurationWrapper.Current.GetSection("remotion.serviceLocation", false) ?? new ServiceLocationConfiguration()); - } - - /// - /// Initializes a new default instance of the class. To load the configuration from a config file, - /// use instead. - /// - public ServiceLocationConfiguration () - { - var xmlnsProperty = new ConfigurationProperty("xmlns", typeof(string), null, ConfigurationPropertyOptions.None); - Properties.Add(xmlnsProperty); - } - - /// - /// Gets a describing the custom to be used. This provider defines - /// the to be used by if no custom was - /// configured using . - /// - /// A describing the custom type to be used. - [ConfigurationProperty("serviceLocatorProvider", IsRequired = false)] - public TypeElement ServiceLocatorProvider - { - get { return (TypeElement)this["serviceLocatorProvider"]; } - } - - /// - /// Creates an instance as indicated by . If no - /// is set, an instance of is returned. - /// - /// An new instance. - public IServiceLocatorProvider CreateServiceLocatorProvider () - { - // TODO RM-7432: CreateInstance should not be nullable - return ServiceLocatorProvider.CreateInstance()!; - } - } -} diff --git a/Remotion/Core/UnitTests/Configuration/ServiceLocation/FakeServiceLocatorProvider.cs b/Remotion/Core/Core/Configuration/ServiceLocation/ServiceLocationConfiguration.obsolete.cs similarity index 58% rename from Remotion/Core/UnitTests/Configuration/ServiceLocation/FakeServiceLocatorProvider.cs rename to Remotion/Core/Core/Configuration/ServiceLocation/ServiceLocationConfiguration.obsolete.cs index 20db0a8b66..2c4ace21ab 100644 --- a/Remotion/Core/UnitTests/Configuration/ServiceLocation/FakeServiceLocatorProvider.cs +++ b/Remotion/Core/Core/Configuration/ServiceLocation/ServiceLocationConfiguration.obsolete.cs @@ -1,4 +1,4 @@ -// This file is part of the re-motion Core Framework (www.re-motion.org) +// This file is part of the re-motion Core Framework (www.re-motion.org) // Copyright (c) rubicon IT GmbH, www.rubicon.eu // // The re-motion Core Framework is free software; you can redistribute it @@ -15,16 +15,18 @@ // along with re-motion; if not, see http://www.gnu.org/licenses. // using System; -using System.Collections.ObjectModel; -using Remotion.ServiceLocation; -namespace Remotion.UnitTests.Configuration.ServiceLocation +namespace Remotion.Configuration.ServiceLocation { - public class FakeServiceLocatorProvider : IServiceLocatorProvider + [Obsolete("Use IoC bootstrapping to resolve the IServiceLocatorProvider (Version 6.0.0)", true)] + + public static class ServiceLocationConfiguration { - public IServiceLocator GetServiceLocator (ReadOnlyCollection bootstrapConfiguration) + [Obsolete("Use IoC bootstrapping to resolve the IServiceLocatorProvider (Version 6.0.0)", true)] + + public static IServiceLocationConfiguration Current { - throw new NotImplementedException(); + get => throw new NotSupportedException("Use IoC bootstrapping to resolve the IServiceLocatorProvider (Version 6.0.0)"); } } } diff --git a/Remotion/Core/Core/Configuration/TypeDiscovery/TypeDiscoveryConfiguration.cs b/Remotion/Core/Core/Configuration/TypeDiscovery/TypeDiscoveryConfiguration.cs index 28c994b28a..939b0a232b 100644 --- a/Remotion/Core/Core/Configuration/TypeDiscovery/TypeDiscoveryConfiguration.cs +++ b/Remotion/Core/Core/Configuration/TypeDiscovery/TypeDiscoveryConfiguration.cs @@ -70,35 +70,7 @@ public TypeDiscoveryConfiguration () } /// - /// Gets or sets the to be used for type discovery. - /// - /// The to be used for type discovery. - [ConfigurationProperty("mode", DefaultValue = TypeDiscoveryMode.Automatic, IsRequired = false)] - public TypeDiscoveryMode Mode - { - get { return (TypeDiscoveryMode)this["mode"]; } - set { this["mode"] = value; } - } - - /// - /// Gets a describing the custom to be used. This is only relevant - /// if is set to . In this mode, an - /// is created, and an instance of the specified type is - /// employed for finding the root assemblies used for type discovery. The given type must have a default constructor. - /// - /// A describing the custom type to be used. - [ConfigurationProperty("customRootAssemblyFinder", IsRequired = false)] - public TypeElement CustomRootAssemblyFinder - { - get { return (TypeElement)this["customRootAssemblyFinder"]; } - } - - /// - /// Gets a describing specific root assemblies to be used. This is only relevant - /// if is set to . In this mode, an - /// is created, and the given root assemblies are employed for type discovery. - /// Note that even if an assembly is specified as a root assembly, the default filtering rules () - /// still apply even for that assembly. + /// Gets a describing specific root assemblies to be used. /// /// A describing specific root assemblies to be used. [ConfigurationProperty("specificRootAssemblies", IsRequired = false)] @@ -106,117 +78,5 @@ public RootAssembliesElement SpecificRootAssemblies { get { return (RootAssembliesElement)this["specificRootAssemblies"]; } } - - /// - /// Gets a describing the custom to be used. This is only relevant - /// if is set to . In this mode, an - /// instance of the specified type is - /// employed for type discovery. The given type must have a default constructor. - /// - /// A describing the custom type to be used. - [ConfigurationProperty("customTypeDiscoveryService", IsRequired = false)] - public TypeElement CustomTypeDiscoveryService - { - get { return (TypeElement)this["customTypeDiscoveryService"]; } - } - - /// - /// Creates an instance as indicated by . - /// - /// A new that discovers types as indicated by . - public ITypeDiscoveryService CreateTypeDiscoveryService () - { - switch (Mode) - { - case TypeDiscoveryMode.CustomRootAssemblyFinder: - return CreateServiceWithCustomRootAssemblyFinder(); - case TypeDiscoveryMode.SpecificRootAssemblies: - return CreateServiceWithSpecificRootAssemblies(); - case TypeDiscoveryMode.CustomTypeDiscoveryService: - return CreateCustomService(); - default: - return CreateServiceWithAutomaticDiscovery(); - } - } - - private ITypeDiscoveryService CreateServiceWithCustomRootAssemblyFinder () - { - if (CustomRootAssemblyFinder.Type == null) - { - string message = string.Format( - "In CustomRootAssemblyFinder mode, a custom root assembly finder must be specified in the type discovery configuration. {0}", - GetConfigurationBodyErrorMessage( - "CustomRootAssemblyFinder", - "")); - throw new ConfigurationErrorsException(message); - } - - // TODO RM-7788: The return value of Activator.CreateInstance should be checked for null. - var customRootAssemblyFinder = (IRootAssemblyFinder)Activator.CreateInstance(CustomRootAssemblyFinder.Type)!; - return CreateServiceWithAssemblyFinder(customRootAssemblyFinder); - } - - private ITypeDiscoveryService CreateServiceWithSpecificRootAssemblies () - { - var assemblyLoader = CreateAllAssemblyLoader(); - var rootAssemblyFinder = SpecificRootAssemblies.CreateRootAssemblyFinder(assemblyLoader); - return CreateServiceWithAssemblyFinder(rootAssemblyFinder); - } - - private ITypeDiscoveryService CreateCustomService () - { - if (CustomTypeDiscoveryService.Type == null) - { - string message = string.Format( - "In CustomTypeDiscoveryService mode, a custom type discovery service must be specified in the type discovery configuration. {0}", - GetConfigurationBodyErrorMessage( - "CustomTypeDiscoveryService", - "")); - throw new ConfigurationErrorsException(message); - } - - // TODO RM-7788: The return value of Activator.CreateInstance should be checked for null. - return (ITypeDiscoveryService)Activator.CreateInstance(CustomTypeDiscoveryService.Type)!; - } - - private ITypeDiscoveryService CreateServiceWithAutomaticDiscovery () - { - var assemblyLoader = CreateApplicationAssemblyLoader(); - var searchPathRootAssemblyFinder = SearchPathRootAssemblyFinder.CreateForCurrentAppDomain(false, assemblyLoader); - return CreateServiceWithAssemblyFinder(searchPathRootAssemblyFinder); - } - - private ITypeDiscoveryService CreateServiceWithAssemblyFinder (IRootAssemblyFinder customRootAssemblyFinder) - { - var filteringAssemblyLoader = CreateApplicationAssemblyLoader(); - var assemblyFinder = new CachingAssemblyFinderDecorator(new AssemblyFinder(customRootAssemblyFinder, filteringAssemblyLoader)); - return new AssemblyFinderTypeDiscoveryService(assemblyFinder); - } - - private string GetConfigurationBodyErrorMessage (string modeValue, string modeSpecificBodyElement) - { - var message = Environment.NewLine + Environment.NewLine - + "Example configuration: " + Environment.NewLine - + "" + Environment.NewLine - + "" + Environment.NewLine - + " " + Environment.NewLine - + "
" + Environment.NewLine - + " " + Environment.NewLine - + " " + Environment.NewLine - + " " + modeSpecificBodyElement + Environment.NewLine - + " " + Environment.NewLine - + ""; - return message; - } - - private IAssemblyLoader CreateApplicationAssemblyLoader () - { - return new FilteringAssemblyLoader(ApplicationAssemblyLoaderFilter.Instance); - } - - private IAssemblyLoader CreateAllAssemblyLoader () - { - return new FilteringAssemblyLoader(new LoadAllAssemblyLoaderFilter()); - } } } diff --git a/Remotion/Core/Core/Configuration/TypeDiscovery/TypeDiscoveryMode.cs b/Remotion/Core/Core/Configuration/TypeDiscovery/TypeDiscoveryMode.cs index 3fd0ad5ccb..73285eb0cb 100644 --- a/Remotion/Core/Core/Configuration/TypeDiscovery/TypeDiscoveryMode.cs +++ b/Remotion/Core/Core/Configuration/TypeDiscovery/TypeDiscoveryMode.cs @@ -15,8 +15,6 @@ // along with re-motion; if not, see http://www.gnu.org/licenses. // using System; -using System.ComponentModel.Design; -using Remotion.Reflection.TypeDiscovery.AssemblyFinding; namespace Remotion.Configuration.TypeDiscovery { @@ -30,22 +28,18 @@ public enum TypeDiscoveryMode /// and their referenced assemblies. /// Automatic, - /// - /// Chooses a custom which searches for root assemblies. The types are discovered from those assemblies. - /// Whether types from referenced assemblies are also included is defined by the . - /// See . - /// + + [Obsolete("Register the custom implementation of IRootAssemblyFinder via the SafeServiceLocator.BootstrapConfiguration. (Version 6.0.0)", true)] CustomRootAssemblyFinder, + /// /// Chooses a number of specific root assemblies. The types are discovered from those assemblies. Whether types from referenced assemblies are /// also included is defined by the user. /// See . /// SpecificRootAssemblies, - /// - /// Chooses a custom implementation. The types are discovered by that service. - /// See . - /// + + [Obsolete("Register the custom implementation of ITypeDiscoveryService via the SafeServiceLocator.BootstrapConfiguration. (Version 6.0.0)", true)] CustomTypeDiscoveryService } } diff --git a/Remotion/Core/Core/Configuration/TypeResolution/TypeResolutionConfiguration.cs b/Remotion/Core/Core/Configuration/TypeResolution/TypeResolutionConfiguration.cs deleted file mode 100644 index 0b47a6bf82..0000000000 --- a/Remotion/Core/Core/Configuration/TypeResolution/TypeResolutionConfiguration.cs +++ /dev/null @@ -1,76 +0,0 @@ -// This file is part of the re-motion Core Framework (www.re-motion.org) -// Copyright (c) rubicon IT GmbH, www.rubicon.eu -// -// The re-motion Core Framework is free software; you can redistribute it -// and/or modify it under the terms of the GNU Lesser General Public License -// as published by the Free Software Foundation; either version 2.1 of the -// License, or (at your option) any later version. -// -// re-motion is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with re-motion; if not, see http://www.gnu.org/licenses. -// -using System; -using System.ComponentModel.Design; -using System.Configuration; -using Remotion.Configuration.TypeDiscovery; -using Remotion.Reflection; -using Remotion.Reflection.TypeResolution; -using Remotion.Utilities; - -namespace Remotion.Configuration.TypeResolution -{ - /// - /// Configures the type discovery performed by . - /// - /// This configuration should be aligned with . See https://www.re-motion.org/jira/browse/RM-6413 - public sealed class TypeResolutionConfiguration : ConfigurationSection - { - private static readonly DoubleCheckedLockingContainer s_current = - new DoubleCheckedLockingContainer(GetTypeResolutionConfiguration); - - /// - /// Gets the current instance. This is used by - /// to retrieve a instance - /// if no is available. - /// - /// The current . - public static TypeResolutionConfiguration Current - { - get { return s_current.Value; } - } - - /// - /// Sets the instance. - /// - /// The new configuration to set as the configuration. - public static void SetCurrent (TypeResolutionConfiguration configuration) - { - s_current.Value = configuration; - } - - private static TypeResolutionConfiguration GetTypeResolutionConfiguration () - { - // return (TypeResolutionConfiguration) ConfigurationWrapper.Current.GetSection ("remotion.typeResolution", false) ?? new TypeResolutionConfiguration(); - return new TypeResolutionConfiguration(new DefaultTypeResolutionService()); - } - - private readonly ITypeResolutionService _typeResolutionService; - - public TypeResolutionConfiguration (ITypeResolutionService typeResolutionService) - { - ArgumentUtility.CheckNotNull("typeResolutionService", typeResolutionService); - - _typeResolutionService = typeResolutionService; - } - - public ITypeResolutionService CreateTypeResolutionService () - { - return _typeResolutionService; - } - } -} diff --git a/Remotion/Core/Core/Reflection/ContextAwareTypeUtility.cs b/Remotion/Core/Core/Reflection/ContextAwareTypeUtility.cs index 6243256218..9117bb9807 100644 --- a/Remotion/Core/Core/Reflection/ContextAwareTypeUtility.cs +++ b/Remotion/Core/Core/Reflection/ContextAwareTypeUtility.cs @@ -16,9 +16,7 @@ // using System; using System.ComponentModel.Design; -using System.Threading; -using Remotion.Configuration.TypeDiscovery; -using Remotion.Configuration.TypeResolution; +using Remotion.ServiceLocation; namespace Remotion.Reflection { @@ -29,46 +27,26 @@ namespace Remotion.Reflection /// public static class ContextAwareTypeUtility { - /// Workaround to allow reflection to reset the fields since setting a static readonly field is not supported in .NET 3.0 and later. - private class Fields - { - public readonly Lazy DefaultTypeDiscoveryService = - new Lazy( - () => TypeDiscoveryConfiguration.Current.CreateTypeDiscoveryService(), - LazyThreadSafetyMode.ExecutionAndPublication); - - public readonly Lazy DefaultTypeResolutionService = - new Lazy( - () => TypeResolutionConfiguration.Current.CreateTypeResolutionService(), - LazyThreadSafetyMode.ExecutionAndPublication); - } - - private static readonly Fields s_fields = new Fields(); - /// - /// Gets the current context-specific . If an is available, - /// the designer's is returned. Otherwise, the - /// is used to create a new when the property is first retrieved. That instance is stored for later uses. + /// Gets the current context-specific . /// - /// The current context-specific . + [Obsolete("Retrieve via the application's IoC container, e.g. SafeServiceLocator.Current.GetInstance(). (Version 6.0.0)")] public static ITypeDiscoveryService GetTypeDiscoveryService () { // Here you could choose to get the ITypeDiscoveryService from IDesignerHost.GetService (typeof (ITypeDiscoveryService)) instead of the resolved one. - return s_fields.DefaultTypeDiscoveryService.Value; + return SafeServiceLocator.Current.GetInstance(); } /// - /// Gets the current context-specific . If an is available, - /// the designer's is returned. Otherwise, the - /// is used to create a new when the property is first retrieved. That instance is stored for later uses. + /// Gets the from the . /// - /// The current context-specific . + [Obsolete("Retrieve via the application's IoC container, e.g. SafeServiceLocator.Current.GetInstance(). (Version 6.0.0)")] public static ITypeResolutionService GetTypeResolutionService () { // Here you could choose to get the ITypeResolutionService from IDesignerHost.GetService (typeof (ITypeResolutionService)) instead of the resolved one. - return s_fields.DefaultTypeResolutionService.Value; + return SafeServiceLocator.Current.GetInstance(); } } } diff --git a/Remotion/Core/Core/Reflection/TypeDiscovery/AssemblyFinderTypeDiscoveryService.cs b/Remotion/Core/Core/Reflection/TypeDiscovery/AssemblyFinderTypeDiscoveryService.cs index f03c1a7b8e..3c373fc4c9 100644 --- a/Remotion/Core/Core/Reflection/TypeDiscovery/AssemblyFinderTypeDiscoveryService.cs +++ b/Remotion/Core/Core/Reflection/TypeDiscovery/AssemblyFinderTypeDiscoveryService.cs @@ -22,7 +22,6 @@ using System.ComponentModel.Design; using System.Linq; using System.Reflection; -using Remotion.Configuration.TypeDiscovery; using Remotion.Logging; using Remotion.Reflection.TypeDiscovery.AssemblyFinding; using Remotion.Utilities; @@ -31,8 +30,7 @@ namespace Remotion.Reflection.TypeDiscovery { /// /// Provides an implementation of the interface that uses an to - /// retrieve types. This class is created by in the default configuration and - /// is therefore the default provided by + /// retrieve types. This class is the default provided by /// in the standard context. /// public sealed class AssemblyFinderTypeDiscoveryService : ITypeDiscoveryService diff --git a/Remotion/Core/Core/Reflection/TypeDiscovery/AssemblyFinding/AppContextBasedRootAssemblyFinder.cs b/Remotion/Core/Core/Reflection/TypeDiscovery/AssemblyFinding/AppContextBasedRootAssemblyFinder.cs new file mode 100644 index 0000000000..7340fe649f --- /dev/null +++ b/Remotion/Core/Core/Reflection/TypeDiscovery/AssemblyFinding/AppContextBasedRootAssemblyFinder.cs @@ -0,0 +1,52 @@ +// This file is part of the re-motion Core Framework (www.re-motion.org) +// Copyright (c) rubicon IT GmbH, www.rubicon.eu +// +// The re-motion Core Framework is free software; you can redistribute it +// and/or modify it under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation; either version 2.1 of the +// License, or (at your option) any later version. +// +// re-motion is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with re-motion; if not, see http://www.gnu.org/licenses. +// +using System.Collections.Generic; +using Remotion.Reflection.TypeDiscovery.AssemblyLoading; +using Remotion.Utilities; + +namespace Remotion.Reflection.TypeDiscovery.AssemblyFinding +{ + /// + /// Wraps based on the .. + /// + public class AppContextBasedRootAssemblyFinder : IRootAssemblyFinder + { + public IAssemblyLoader AssemblyLoader { get; } + public IAppContextProvider AppContextProvider { get; } + + public AppContextBasedRootAssemblyFinder (IAssemblyLoader assemblyLoader, IAppContextProvider appContextProvider) + { + ArgumentUtility.CheckNotNull("assemblyLoader", assemblyLoader); + ArgumentUtility.CheckNotNull("appContextProvider", appContextProvider); + + AssemblyLoader = assemblyLoader; + AppContextProvider = appContextProvider; + } + + public IEnumerable FindRootAssemblies () + { + var rootAssemblyFinder = new SearchPathRootAssemblyFinder( + baseDirectory: AppContextProvider.BaseDirectory, + relativeSearchPath: null, + considerDynamicDirectory: false, + dynamicDirectory: null, + AssemblyLoader); + + return rootAssemblyFinder.FindRootAssemblies(); + } + } +} diff --git a/Remotion/Core/Core/Reflection/TypeDiscovery/AssemblyFinding/CurrentAppDomainBasedRootAssemblyFinder.cs b/Remotion/Core/Core/Reflection/TypeDiscovery/AssemblyFinding/CurrentAppDomainBasedRootAssemblyFinder.cs new file mode 100644 index 0000000000..bb51060caf --- /dev/null +++ b/Remotion/Core/Core/Reflection/TypeDiscovery/AssemblyFinding/CurrentAppDomainBasedRootAssemblyFinder.cs @@ -0,0 +1,47 @@ +// This file is part of the re-motion Core Framework (www.re-motion.org) +// Copyright (c) rubicon IT GmbH, www.rubicon.eu +// +// The re-motion Core Framework is free software; you can redistribute it +// and/or modify it under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation; either version 2.1 of the +// License, or (at your option) any later version. +// +// re-motion is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with re-motion; if not, see http://www.gnu.org/licenses. +// +#if NETFRAMEWORK + +using System; +using System.Collections.Generic; +using Remotion.Reflection.TypeDiscovery.AssemblyLoading; +using Remotion.Utilities; + +namespace Remotion.Reflection.TypeDiscovery.AssemblyFinding +{ + /// + /// Wraps the initialization of based on .. + /// + public class CurrentAppDomainBasedRootAssemblyFinder : IRootAssemblyFinder + { + public IAssemblyLoader AssemblyLoader { get; } + + public CurrentAppDomainBasedRootAssemblyFinder (IAssemblyLoader assemblyLoader) + { + ArgumentUtility.CheckNotNull("assemblyLoader", assemblyLoader); + AssemblyLoader = assemblyLoader; + } + + public IEnumerable FindRootAssemblies () + { + var rootAssemblyFinder = SearchPathRootAssemblyFinder.CreateForCurrentAppDomain(false, AssemblyLoader); + return rootAssemblyFinder.FindRootAssemblies(); + } + } +} + +#endif diff --git a/Remotion/Core/Core/Schemas/ServiceLocationConfiguration.xsd b/Remotion/Core/Core/Schemas/ServiceLocationConfiguration.xsd deleted file mode 100644 index 1d936bbbce..0000000000 --- a/Remotion/Core/Core/Schemas/ServiceLocationConfiguration.xsd +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Remotion/Core/Core/Schemas/TypeDiscoveryConfiguration.xsd b/Remotion/Core/Core/Schemas/TypeDiscoveryConfiguration.xsd index a5b6140496..4bc7d8f111 100644 --- a/Remotion/Core/Core/Schemas/TypeDiscoveryConfiguration.xsd +++ b/Remotion/Core/Core/Schemas/TypeDiscoveryConfiguration.xsd @@ -43,28 +43,7 @@ - - - - - - - - - - - - - - - - - - - - - @@ -74,29 +53,4 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/Remotion/Core/Core/ServiceLocation/BootstrapServiceConfiguration.cs b/Remotion/Core/Core/ServiceLocation/BootstrapServiceConfiguration.cs index cb37c257a1..b3f9c8b87e 100644 --- a/Remotion/Core/Core/ServiceLocation/BootstrapServiceConfiguration.cs +++ b/Remotion/Core/Core/ServiceLocation/BootstrapServiceConfiguration.cs @@ -16,6 +16,12 @@ // using System; using System.Collections.Generic; +using System.ComponentModel.Design; +using Remotion.Logging; +using Remotion.Reflection.TypeDiscovery; +using Remotion.Reflection.TypeDiscovery.AssemblyFinding; +using Remotion.Reflection.TypeDiscovery.AssemblyLoading; +using Remotion.Reflection.TypeResolution; using Remotion.Utilities; namespace Remotion.ServiceLocation @@ -27,28 +33,38 @@ namespace Remotion.ServiceLocation public class BootstrapServiceConfiguration : IBootstrapServiceConfiguration { private readonly object _lock = new object(); - private readonly List _registrations = new List(); - - private DefaultServiceLocator _bootstrapServiceLocator = DefaultServiceLocator.Create(); + private readonly Dictionary _registrations = new(); public BootstrapServiceConfiguration () { + // Logging + RegisterInstanceAsSingleton(() => new Log4NetLogManager()); - } + // Type resolution + RegisterImplementationAsSingleton(); - public IServiceLocator BootstrapServiceLocator - { - get { return _bootstrapServiceLocator; } + // Type discovery + RegisterInstanceAsSingleton(() => ApplicationAssemblyLoaderFilter.Instance); + RegisterImplementationAsSingleton(); + RegisterImplementationAsSingleton(); +#if NETFRAMEWORK + RegisterImplementationAsSingleton(); +#else + RegisterImplementationAsSingleton(); +#endif + RegisterDecoratedImplementationAsSingleton(); + RegisterImplementationAsSingleton(); + + // Service Location + RegisterImplementationAsSingleton(); + RegisterImplementationAsSingleton(); } - public ServiceConfigurationEntry[] Registrations + public IReadOnlyCollection GetRegistrations () { - get + lock (_lock) { - lock (_lock) - { - return _registrations.ToArray(); - } + return _registrations.Values; } } @@ -58,26 +74,48 @@ public void Register (ServiceConfigurationEntry entry) lock (_lock) { - _bootstrapServiceLocator.Register(entry); - _registrations.Add(entry); + _registrations[entry.ServiceType] = entry; } } - public void Register (Type serviceType, Type implementationType, LifetimeKind lifetime) + private void RegisterImplementationAsSingleton () + where TService : class + where TImplementation : class, TService { - ArgumentUtility.CheckNotNull("serviceType", serviceType); - ArgumentUtility.CheckNotNull("implementationType", implementationType); + lock (_lock) + { + _registrations.Add( + typeof(TService), + new ServiceConfigurationEntry(typeof(TService), new ServiceImplementationInfo(typeof(TImplementation), LifetimeKind.Singleton, RegistrationType.Single))); + } + } - var entry = new ServiceConfigurationEntry(serviceType, new ServiceImplementationInfo(implementationType, lifetime)); - Register(entry); + private void RegisterDecoratedImplementationAsSingleton () + where TService : class + where TImplementation : class, TService + where TDecorator : class, TService + { + lock (_lock) + { + _registrations.Add( + typeof(TService), + new ServiceConfigurationEntry( + typeof(TService), + new ServiceImplementationInfo(typeof(TImplementation), LifetimeKind.Singleton, RegistrationType.Single), + new ServiceImplementationInfo(typeof(TDecorator), LifetimeKind.InstancePerDependency, RegistrationType.Decorator))); + } } - public void Reset () + private void RegisterInstanceAsSingleton (Func factory) + where TService : class + where TImplementation : class, TService { lock (_lock) { - _bootstrapServiceLocator = DefaultServiceLocator.Create(); - _registrations.Clear(); + var singleton = new Lazy(factory); + _registrations.Add( + typeof(TService), + new ServiceConfigurationEntry(typeof(TService), ServiceImplementationInfo.CreateSingle(() => singleton.Value, LifetimeKind.Singleton))); } } } diff --git a/Remotion/Core/Core/ServiceLocation/BootstrapServiceConfigurationDiscoveryService.cs b/Remotion/Core/Core/ServiceLocation/BootstrapServiceConfigurationDiscoveryService.cs new file mode 100644 index 0000000000..117278e928 --- /dev/null +++ b/Remotion/Core/Core/ServiceLocation/BootstrapServiceConfigurationDiscoveryService.cs @@ -0,0 +1,57 @@ +// This file is part of the re-motion Core Framework (www.re-motion.org) +// Copyright (c) rubicon IT GmbH, www.rubicon.eu +// +// The re-motion Core Framework is free software; you can redistribute it +// and/or modify it under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation; either version 2.1 of the +// License, or (at your option) any later version. +// +// re-motion is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with re-motion; if not, see http://www.gnu.org/licenses. +// +using System; +using System.Collections.Generic; +using System.Reflection; +using Remotion.Reflection; + +namespace Remotion.ServiceLocation +{ + /// + /// Implementation of the used only to satisfy a mandatory parameter requirement + /// when instantiating the in a bootstrapping context. + /// + public class BootstrapServiceConfigurationDiscoveryService : IServiceConfigurationDiscoveryService + { + public BootstrapServiceConfigurationDiscoveryService () + { + } + + public IEnumerable GetDefaultConfiguration () + { + throw new NotSupportedException($"The {nameof(BootstrapServiceConfigurationDiscoveryService)} does not support the automatic composition of the service configuration."); + } + + public IEnumerable GetDefaultConfiguration (IEnumerable serviceTypes) + { + throw new NotSupportedException($"The {nameof(BootstrapServiceConfigurationDiscoveryService)} does not support the automatic composition of the service configuration."); + } + + public IEnumerable GetDefaultConfiguration (IEnumerable assemblies) + { + throw new NotSupportedException($"The {nameof(BootstrapServiceConfigurationDiscoveryService)} does not support the automatic composition of the service configuration."); + } + + public ServiceConfigurationEntry GetDefaultConfiguration (Type serviceType) + { + throw new NotSupportedException( + $"The {nameof(BootstrapServiceConfigurationDiscoveryService)} does not support the automatic composition of the service configuration for a type. " + + $"Register the requested type '{serviceType.GetFullNameSafe()}' via {nameof(SafeServiceLocator)}.{nameof(SafeServiceLocator.BootstrapConfiguration)} " + + $"before resolving an instance of the type."); + } + } +} diff --git a/Remotion/Core/Core/ServiceLocation/BootstrapServiceConfigurationExtensions.cs b/Remotion/Core/Core/ServiceLocation/BootstrapServiceConfigurationExtensions.cs new file mode 100644 index 0000000000..2c6e63b595 --- /dev/null +++ b/Remotion/Core/Core/ServiceLocation/BootstrapServiceConfigurationExtensions.cs @@ -0,0 +1,87 @@ +// This file is part of the re-motion Core Framework (www.re-motion.org) +// Copyright (c) rubicon IT GmbH, www.rubicon.eu +// +// The re-motion Core Framework is free software; you can redistribute it +// and/or modify it under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation; either version 2.1 of the +// License, or (at your option) any later version. +// +// re-motion is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with re-motion; if not, see http://www.gnu.org/licenses. +// +using System; +using Remotion.Configuration.TypeDiscovery; +using Remotion.Reflection.TypeDiscovery.AssemblyFinding; +using Remotion.Reflection.TypeDiscovery.AssemblyLoading; +using Remotion.Utilities; + +namespace Remotion.ServiceLocation +{ + /// + /// Extension methods for . + /// + public static class BootstrapServiceConfigurationExtensions + { + /// + /// Registers an entry with the given instances and a .. + /// + /// The for which the registration is performed. + /// The service type. This is a type for which instances are requested from a service locator. + /// The concrete implementation of the service type. + public static void Register (this IBootstrapServiceConfiguration bootstrapServiceConfiguration, Type serviceType, Type implementationType) + { + ArgumentUtility.CheckNotNull("bootstrapServiceConfiguration", bootstrapServiceConfiguration); + ArgumentUtility.CheckNotNull("serviceType", serviceType); + ArgumentUtility.CheckNotNull("implementationType", implementationType); + ArgumentUtility.CheckNotNullAndTypeIsAssignableFrom("implementationType", implementationType, serviceType); + + bootstrapServiceConfiguration.Register( + new ServiceConfigurationEntry( + serviceType, + new ServiceImplementationInfo( + implementationType, + LifetimeKind.Singleton, + RegistrationType.Single))); + } + + /// + /// Registers an entry with the given instances and a .. + /// + /// The service type to register the factories for. + /// The for which the registration is performed. + /// The instance to return when resolving for the . + public static void Register (this IBootstrapServiceConfiguration bootstrapServiceConfiguration, TService instance) + where TService : class + { + ArgumentUtility.CheckNotNull("bootstrapServiceConfiguration", bootstrapServiceConfiguration); + ArgumentUtility.CheckNotNull("instance", instance); + + bootstrapServiceConfiguration.Register( + new ServiceConfigurationEntry( + typeof(TService), + ServiceImplementationInfo.CreateSingle(() => instance, LifetimeKind.Singleton))); + } + + /// + /// The given root assemblies are employed for type discovery. + /// + /// + public static void RegisterSpecificRootAssemblies (this IBootstrapServiceConfiguration bootstrapServiceConfiguration) + { + ArgumentUtility.CheckNotNull("bootstrapServiceConfiguration", bootstrapServiceConfiguration); + + var assemblyLoader = new FilteringAssemblyLoader(new LoadAllAssemblyLoaderFilter()); + var specificRootAssemblies = TypeDiscoveryConfiguration.Current.SpecificRootAssemblies; + var namedFinder = specificRootAssemblies.ByName.CreateRootAssemblyFinder(assemblyLoader); + var filePatternFinder = specificRootAssemblies.ByFile.CreateRootAssemblyFinder(assemblyLoader); + var rootAssemblyFinder = new CompositeRootAssemblyFinder(new IRootAssemblyFinder[] { namedFinder, filePatternFinder }); + + bootstrapServiceConfiguration.Register(rootAssemblyFinder); + } + } +} diff --git a/Remotion/Core/Core/ServiceLocation/DefaultServiceConfigurationDiscoveryService.cs b/Remotion/Core/Core/ServiceLocation/DefaultServiceConfigurationDiscoveryService.cs index eb3f8fb1a1..a739d9808a 100644 --- a/Remotion/Core/Core/ServiceLocation/DefaultServiceConfigurationDiscoveryService.cs +++ b/Remotion/Core/Core/ServiceLocation/DefaultServiceConfigurationDiscoveryService.cs @@ -50,9 +50,10 @@ public class DefaultServiceConfigurationDiscoveryService : IServiceConfiguration private readonly bool _excludeGlobalTypesForDefaultConfiguration = !AssemblyTypeCache.IsGacAssembly(typeof(ImplementationForAttribute).Assembly); + [Obsolete("Use the constructor instead, and pass ContextAwareTypeUtility.GetTypeDiscoveryService() as parameter. (Version 6.0.0)", true)] public static DefaultServiceConfigurationDiscoveryService Create () { - return new DefaultServiceConfigurationDiscoveryService(ContextAwareTypeUtility.GetTypeDiscoveryService()); + throw new NotSupportedException("Use the constructor instead, and pass ContextAwareTypeUtility.GetTypeDiscoveryService() as parameter. (Version 6.0.0)"); } public DefaultServiceConfigurationDiscoveryService (ITypeDiscoveryService typeDiscoveryService) diff --git a/Remotion/Core/Core/ServiceLocation/DefaultServiceLocator.Registration.cs b/Remotion/Core/Core/ServiceLocation/DefaultServiceLocator.Registration.cs index 611cd6b3ba..c98bc1a1da 100644 --- a/Remotion/Core/Core/ServiceLocation/DefaultServiceLocator.Registration.cs +++ b/Remotion/Core/Core/ServiceLocation/DefaultServiceLocator.Registration.cs @@ -85,7 +85,7 @@ private Registration GetOrCreateRegistrationWithActivationException (Type servic private Registration CreateRegistrationFromType (Type serviceType) { - var serviceConfigurationEntry = _serviceConfigurationDiscoveryService.GetDefaultConfiguration(serviceType); + var serviceConfigurationEntry = ServiceConfigurationDiscoveryService.GetDefaultConfiguration(serviceType); return CreateRegistration(serviceConfigurationEntry); } diff --git a/Remotion/Core/Core/ServiceLocation/DefaultServiceLocator.cs b/Remotion/Core/Core/ServiceLocation/DefaultServiceLocator.cs index cf407bb430..000168c34a 100644 --- a/Remotion/Core/Core/ServiceLocation/DefaultServiceLocator.cs +++ b/Remotion/Core/Core/ServiceLocation/DefaultServiceLocator.cs @@ -16,8 +16,9 @@ // using System; using System.Collections.Generic; +using System.ComponentModel.Design; using System.Linq; -using Remotion.Logging; +using Remotion.Reflection; using Remotion.Utilities; namespace Remotion.ServiceLocation @@ -61,23 +62,34 @@ namespace Remotion.ServiceLocation /// public sealed partial class DefaultServiceLocator : IServiceLocator { - private readonly IServiceConfigurationDiscoveryService _serviceConfigurationDiscoveryService; + [Obsolete("Use DefaultServiceLocator.CreateWithBootstrappedServices() instead. (Version 6.0.0)")] + public static DefaultServiceLocator Create () => CreateWithBootstrappedServices(); - public static DefaultServiceLocator Create () + public static DefaultServiceLocator CreateWithBootstrappedServices () { - return new DefaultServiceLocator(DefaultServiceConfigurationDiscoveryService.Create()); + var bootstrapServiceLocatorEntries = SafeServiceLocator.BootstrapConfiguration.GetRegistrations(); + + var provider = new DefaultServiceLocatorProvider(new BootstrapServiceConfigurationDiscoveryService()); + var bootstrapServiceLocator = provider.GetServiceLocator(bootstrapServiceLocatorEntries); + var typeDiscoveryService = bootstrapServiceLocator.GetInstance(); + + var defaultServiceLocator = new DefaultServiceLocator(new DefaultServiceConfigurationDiscoveryService(typeDiscoveryService)); + foreach (var serviceConfigurationEntry in bootstrapServiceLocatorEntries) + defaultServiceLocator.Register(serviceConfigurationEntry); + + return defaultServiceLocator; } + public IServiceConfigurationDiscoveryService ServiceConfigurationDiscoveryService { get; } + public DefaultServiceLocator (IServiceConfigurationDiscoveryService serviceConfigurationDiscoveryService) { ArgumentUtility.CheckNotNull("serviceConfigurationDiscoveryService", serviceConfigurationDiscoveryService); - _serviceConfigurationDiscoveryService = serviceConfigurationDiscoveryService; + ServiceConfigurationDiscoveryService = serviceConfigurationDiscoveryService; // Optimized for memory allocations _createRegistrationFromTypeFunc = CreateRegistrationFromType; - - Register(new ServiceConfigurationEntry(typeof(ILogManager), new ServiceImplementationInfo(typeof(Log4NetLogManager), LifetimeKind.Singleton))); } /// @@ -203,7 +215,10 @@ public IEnumerable GetAllInstances () if (registration.CompoundFactory != null) return InvokeInstanceFactoryWithActivationException(registration.CompoundFactory, serviceType); - if (registration.SingleFactory == null && registration.MultipleFactories.Any()) + if (registration.SingleFactory != null) + return InvokeInstanceFactoryWithActivationException(registration.SingleFactory, serviceType); + + if (registration.SingleFactory == null && registration.MultipleFactories.Count > 0) { throw new ActivationException( string.Format( @@ -211,9 +226,6 @@ public IEnumerable GetAllInstances () serviceType)); } - if (registration.SingleFactory != null) - return InvokeInstanceFactoryWithActivationException(registration.SingleFactory, serviceType); - return null; } diff --git a/Remotion/Core/Core/ServiceLocation/DefaultServiceLocatorProvider.cs b/Remotion/Core/Core/ServiceLocation/DefaultServiceLocatorProvider.cs index e28f7c2fb8..2f8447681e 100644 --- a/Remotion/Core/Core/ServiceLocation/DefaultServiceLocatorProvider.cs +++ b/Remotion/Core/Core/ServiceLocation/DefaultServiceLocatorProvider.cs @@ -15,7 +15,7 @@ // along with re-motion; if not, see http://www.gnu.org/licenses. // using System; -using System.Collections.ObjectModel; +using System.Collections.Generic; using Remotion.Utilities; namespace Remotion.ServiceLocation @@ -23,17 +23,25 @@ namespace Remotion.ServiceLocation /// /// Implements by providing instances of . /// + /// public class DefaultServiceLocatorProvider : IServiceLocatorProvider { - public DefaultServiceLocatorProvider () + public const int Position = 0; + + public IServiceConfigurationDiscoveryService ServiceConfigurationDiscoveryService { get; } + + public DefaultServiceLocatorProvider (IServiceConfigurationDiscoveryService serviceConfigurationDiscoveryService) { + ArgumentUtility.CheckNotNull("serviceConfigurationDiscoveryService", serviceConfigurationDiscoveryService); + + ServiceConfigurationDiscoveryService = serviceConfigurationDiscoveryService; } - public IServiceLocator GetServiceLocator (ReadOnlyCollection serviceConfigurationEntries) + public IServiceLocator GetServiceLocator (IReadOnlyCollection serviceConfigurationEntries) { ArgumentUtility.CheckNotNull("serviceConfigurationEntries", serviceConfigurationEntries); - var defaultServiceLocator = DefaultServiceLocator.Create(); + var defaultServiceLocator = new DefaultServiceLocator(ServiceConfigurationDiscoveryService); foreach (var serviceConfigurationEntry in serviceConfigurationEntries) defaultServiceLocator.Register(serviceConfigurationEntry); diff --git a/Remotion/Core/Core/ServiceLocation/IBootstrapServiceConfiguration.cs b/Remotion/Core/Core/ServiceLocation/IBootstrapServiceConfiguration.cs index 18c1338aa5..72288d85a4 100644 --- a/Remotion/Core/Core/ServiceLocation/IBootstrapServiceConfiguration.cs +++ b/Remotion/Core/Core/ServiceLocation/IBootstrapServiceConfiguration.cs @@ -15,6 +15,7 @@ // along with re-motion; if not, see http://www.gnu.org/licenses. // using System; +using System.Collections.Generic; namespace Remotion.ServiceLocation { @@ -27,25 +28,12 @@ public interface IBootstrapServiceConfiguration /// /// Returns the instances registered so far. /// - ServiceConfigurationEntry[] Registrations { get; } + IReadOnlyCollection GetRegistrations (); /// /// Registers the given with this . /// /// The to be registered. void Register (ServiceConfigurationEntry entry); - - /// - /// Registers an entry with the given instances and . - /// - /// The service type. This is a type for which instances are requested from a service locator. - /// The concrete implementation of the service type. - /// The lifetime of the instances of . - void Register (Type serviceType, Type implementationType, LifetimeKind lifetime); - - /// - /// Removes all registered data. - /// - void Reset (); } } diff --git a/Remotion/Core/Core/ServiceLocation/IServiceLocatorProvider.cs b/Remotion/Core/Core/ServiceLocation/IServiceLocatorProvider.cs index ce2b1f6bf6..d967cd458d 100644 --- a/Remotion/Core/Core/ServiceLocation/IServiceLocatorProvider.cs +++ b/Remotion/Core/Core/ServiceLocation/IServiceLocatorProvider.cs @@ -15,7 +15,7 @@ // along with re-motion; if not, see http://www.gnu.org/licenses. // using System; -using System.Collections.ObjectModel; +using System.Collections.Generic; namespace Remotion.ServiceLocation { @@ -34,6 +34,6 @@ public interface IServiceLocatorProvider /// for the boostrapping service locator. /// /// An instance of . - IServiceLocator GetServiceLocator (ReadOnlyCollection bootstrapConfiguration); + IServiceLocator GetServiceLocator (IReadOnlyCollection bootstrapConfiguration); } } diff --git a/Remotion/Core/Core/ServiceLocation/SafeServiceLocator.cs b/Remotion/Core/Core/ServiceLocation/SafeServiceLocator.cs index b0c5f75a42..420552f4b4 100644 --- a/Remotion/Core/Core/ServiceLocation/SafeServiceLocator.cs +++ b/Remotion/Core/Core/ServiceLocation/SafeServiceLocator.cs @@ -51,13 +51,14 @@ namespace Remotion.ServiceLocation /// public static class SafeServiceLocator { - private static readonly BootstrapServiceConfiguration s_bootstrapServiceConfiguration = new BootstrapServiceConfiguration(); + /// Workaround to allow reflection to reset the fields since setting a static readonly field is not supported in .NET 3.0 and later. + private class Fields + { + public readonly BootstrapServiceConfiguration BootstrapConfiguration = new(); + public readonly DoubleCheckedLockingContainer DefaultServiceLocator = new(GetDefaultServiceLocator); + } - // This is a DoubleCheckedLockingContainer rather than a static field (maybe wrapped in a nested class to improve laziness) because we want - // any exceptions thrown by GetDefaultServiceLocator to bubble up to the caller normally. (Exceptions during static field initialization get - // wrapped in a TypeInitializationException.) - private static readonly DoubleCheckedLockingContainer s_defaultServiceLocator = - new DoubleCheckedLockingContainer(GetDefaultServiceLocator); + private static readonly Fields s_fields = new(); /// /// Gets the currently configured . @@ -75,10 +76,10 @@ public static IServiceLocator Current get { if (ServiceLocator.IsLocationProviderSet) - return ServiceLocator.Current ?? s_defaultServiceLocator.Value; + return ServiceLocator.Current ?? s_fields.DefaultServiceLocator.Value; - ServiceLocator.SetLocatorProvider(() => s_defaultServiceLocator.Value); - return s_defaultServiceLocator.Value; + ServiceLocator.SetLocatorProvider(() => s_fields.DefaultServiceLocator.Value); + return s_fields.DefaultServiceLocator.Value; } } @@ -100,17 +101,21 @@ public static IServiceLocator Current /// public static IBootstrapServiceConfiguration BootstrapConfiguration { - get { return s_bootstrapServiceConfiguration; } + get { return s_fields.BootstrapConfiguration; } } private static IServiceLocator GetDefaultServiceLocator () { + var bootstrapServiceLocatorEntries = s_fields.BootstrapConfiguration.GetRegistrations(); + // Temporarily set the bootstrapper to allow for reentrancy to SafeServiceLocator.Current. // Since we're called from s_defaultServiceLocator.Value's getter, we can be sure that our return value will overwrite the bootstrapper. - s_defaultServiceLocator.Value = s_bootstrapServiceConfiguration.BootstrapServiceLocator; + var bootstrapServiceLocatorProvider = new DefaultServiceLocatorProvider(new BootstrapServiceConfigurationDiscoveryService()); + var bootstrapServiceLocator = bootstrapServiceLocatorProvider.GetServiceLocator(bootstrapServiceLocatorEntries); + s_fields.DefaultServiceLocator.Value = bootstrapServiceLocator; - var serviceLocatorProvider = ServiceLocationConfiguration.Current.CreateServiceLocatorProvider(); - return serviceLocatorProvider.GetServiceLocator(Array.AsReadOnly(s_bootstrapServiceConfiguration.Registrations)); + var serviceLocatorProvider = bootstrapServiceLocator.GetInstance(); + return serviceLocatorProvider.GetServiceLocator(bootstrapServiceLocatorEntries); } } } diff --git a/Remotion/Core/Core/Utilities/TypeUtility.cs b/Remotion/Core/Core/Utilities/TypeUtility.cs index 16323202a0..a1c32f68ee 100644 --- a/Remotion/Core/Core/Utilities/TypeUtility.cs +++ b/Remotion/Core/Core/Utilities/TypeUtility.cs @@ -20,6 +20,7 @@ using System.Diagnostics.CodeAnalysis; using JetBrains.Annotations; using Remotion.Reflection; +using Remotion.ServiceLocation; namespace Remotion.Utilities { @@ -132,7 +133,7 @@ public static string GetAbbreviatedTypeName ([JetBrains.Annotations.NotNull]Type private static ITypeResolutionService TypeResolutionService { - get { return ContextAwareTypeUtility.GetTypeResolutionService(); } + get { return SafeServiceLocator.Current.GetInstance(); } } } } diff --git a/Remotion/Core/ExtensibleEnums.UnitTests/Infrastructure/ExtensibleEnumDefinitionCacheTest.cs b/Remotion/Core/ExtensibleEnums.UnitTests/Infrastructure/ExtensibleEnumDefinitionCacheTest.cs index d8b56978f1..b493d5bebe 100644 --- a/Remotion/Core/ExtensibleEnums.UnitTests/Infrastructure/ExtensibleEnumDefinitionCacheTest.cs +++ b/Remotion/Core/ExtensibleEnums.UnitTests/Infrastructure/ExtensibleEnumDefinitionCacheTest.cs @@ -15,12 +15,12 @@ // along with re-motion; if not, see http://www.gnu.org/licenses. // using System; +using System.ComponentModel.Design; using NUnit.Framework; using Remotion.Development.NUnit.UnitTesting; using Remotion.Development.UnitTesting; using Remotion.ExtensibleEnums.Infrastructure; using Remotion.ExtensibleEnums.UnitTests.TestDomain; -using Remotion.Reflection; using Remotion.ServiceLocation; namespace Remotion.ExtensibleEnums.UnitTests.Infrastructure @@ -30,12 +30,15 @@ public class ExtensibleEnumDefinitionCacheTest { private ExtensibleEnumDefinitionCache _cache; private DefaultServiceLocator _serviceLocator; + private ITypeDiscoveryService _typeDiscoveryService; [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); - _cache = new ExtensibleEnumDefinitionCache(new ExtensibleEnumValueDiscoveryService()); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); + _typeDiscoveryService = _serviceLocator.GetInstance(); + + _cache = new ExtensibleEnumDefinitionCache(new ExtensibleEnumValueDiscoveryService(_typeDiscoveryService)); } [Test] @@ -44,7 +47,7 @@ public void Initialization () Assert.That(_cache.ValueDiscoveryService, Is.InstanceOf(typeof(ExtensibleEnumValueDiscoveryService))); Assert.That( ((ExtensibleEnumValueDiscoveryService)_cache.ValueDiscoveryService).TypeDiscoveryService, - Is.SameAs(ContextAwareTypeUtility.GetTypeDiscoveryService())); + Is.SameAs(_typeDiscoveryService)); } [Test] diff --git a/Remotion/Core/ExtensibleEnums.UnitTests/Infrastructure/IExtensibleEnumValueDiscoveryServiceTest.cs b/Remotion/Core/ExtensibleEnums.UnitTests/Infrastructure/IExtensibleEnumValueDiscoveryServiceTest.cs index c24fc645bd..f8ad35b4be 100644 --- a/Remotion/Core/ExtensibleEnums.UnitTests/Infrastructure/IExtensibleEnumValueDiscoveryServiceTest.cs +++ b/Remotion/Core/ExtensibleEnums.UnitTests/Infrastructure/IExtensibleEnumValueDiscoveryServiceTest.cs @@ -29,7 +29,7 @@ public class IExtensibleEnumValueDiscoveryServiceTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Core/ExtensibleEnums.UnitTests/Infrastructure/ITypeConverterFactoryTest.cs b/Remotion/Core/ExtensibleEnums.UnitTests/Infrastructure/ITypeConverterFactoryTest.cs index c8fd0b640f..e6e2a0a1d6 100644 --- a/Remotion/Core/ExtensibleEnums.UnitTests/Infrastructure/ITypeConverterFactoryTest.cs +++ b/Remotion/Core/ExtensibleEnums.UnitTests/Infrastructure/ITypeConverterFactoryTest.cs @@ -31,7 +31,7 @@ public class ITypeConverterFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Core/ExtensibleEnums/Infrastructure/ExtensibleEnumValueDiscoveryService.cs b/Remotion/Core/ExtensibleEnums/Infrastructure/ExtensibleEnumValueDiscoveryService.cs index 77b2459dbf..2ac62a0d80 100644 --- a/Remotion/Core/ExtensibleEnums/Infrastructure/ExtensibleEnumValueDiscoveryService.cs +++ b/Remotion/Core/ExtensibleEnums/Infrastructure/ExtensibleEnumValueDiscoveryService.cs @@ -38,12 +38,7 @@ public class ExtensibleEnumValueDiscoveryService : IExtensibleEnumValueDiscovery private readonly bool _excludeGlobalTypes = !AssemblyTypeCache.IsGacAssembly(typeof(ExtensibleEnum<>).Assembly); - public ExtensibleEnumValueDiscoveryService () - { - _typeDiscoveryService = ContextAwareTypeUtility.GetTypeDiscoveryService(); - } - - protected ExtensibleEnumValueDiscoveryService (ITypeDiscoveryService typeDiscoveryService) + public ExtensibleEnumValueDiscoveryService (ITypeDiscoveryService typeDiscoveryService) { ArgumentUtility.CheckNotNull("typeDiscoveryService", typeDiscoveryService); diff --git a/Remotion/Core/Extensions.UnitTests/Reflection/IDelegateFactoryTest.cs b/Remotion/Core/Extensions.UnitTests/Reflection/IDelegateFactoryTest.cs index a9e6c0e96b..c88df5d0a3 100644 --- a/Remotion/Core/Extensions.UnitTests/Reflection/IDelegateFactoryTest.cs +++ b/Remotion/Core/Extensions.UnitTests/Reflection/IDelegateFactoryTest.cs @@ -29,7 +29,7 @@ public class IDelegateFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Core/Reflection.CodeGeneration.TypePipe.PerformanceTests/CachePerformanceTest.cs b/Remotion/Core/Reflection.CodeGeneration.TypePipe.PerformanceTests/CachePerformanceTest.cs index 57014f6b92..ffa24e354a 100644 --- a/Remotion/Core/Reflection.CodeGeneration.TypePipe.PerformanceTests/CachePerformanceTest.cs +++ b/Remotion/Core/Reflection.CodeGeneration.TypePipe.PerformanceTests/CachePerformanceTest.cs @@ -41,7 +41,7 @@ public class CachePerformanceTest [SetUp] public void SetUp () { - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); var storageSettingsFactory = StorageSettingsFactory.CreateForSqlServer("Integrated Security=SSPI;Initial Catalog=TestDatabase;Data Source=localhost"); serviceLocator.RegisterSingle(() => storageSettingsFactory); diff --git a/Remotion/Core/Reflection.CodeGeneration.TypePipe.UnitTests/IPipelineFactoryTest.cs b/Remotion/Core/Reflection.CodeGeneration.TypePipe.UnitTests/IPipelineFactoryTest.cs index 8bfb3ca8b4..22bfd893f6 100644 --- a/Remotion/Core/Reflection.CodeGeneration.TypePipe.UnitTests/IPipelineFactoryTest.cs +++ b/Remotion/Core/Reflection.CodeGeneration.TypePipe.UnitTests/IPipelineFactoryTest.cs @@ -29,7 +29,7 @@ public class IPipelineFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Core/Reflection.CodeGeneration.TypePipe.UnitTests/IPipelineRegistryTest.cs b/Remotion/Core/Reflection.CodeGeneration.TypePipe.UnitTests/IPipelineRegistryTest.cs index 5b4eaa52a0..ed2ca2c589 100644 --- a/Remotion/Core/Reflection.CodeGeneration.TypePipe.UnitTests/IPipelineRegistryTest.cs +++ b/Remotion/Core/Reflection.CodeGeneration.TypePipe.UnitTests/IPipelineRegistryTest.cs @@ -29,7 +29,7 @@ public class IPipelineRegistryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Core/Reflection.CodeGeneration.TypePipe.UnitTests/IPipelineSettingsProviderTest.cs b/Remotion/Core/Reflection.CodeGeneration.TypePipe.UnitTests/IPipelineSettingsProviderTest.cs index f9087ca7f5..8fada081fa 100644 --- a/Remotion/Core/Reflection.CodeGeneration.TypePipe.UnitTests/IPipelineSettingsProviderTest.cs +++ b/Remotion/Core/Reflection.CodeGeneration.TypePipe.UnitTests/IPipelineSettingsProviderTest.cs @@ -28,7 +28,7 @@ public class IPipelineSettingsProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Core/Reflection.UnitTests/IMemberInfoNameResolverTest.cs b/Remotion/Core/Reflection.UnitTests/IMemberInfoNameResolverTest.cs index 304fbaa1de..709ffc6523 100644 --- a/Remotion/Core/Reflection.UnitTests/IMemberInfoNameResolverTest.cs +++ b/Remotion/Core/Reflection.UnitTests/IMemberInfoNameResolverTest.cs @@ -28,7 +28,7 @@ public class IMemberInfoNameResolverTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Core/ServiceLocation.PerformanceTestConsole/Program.cs b/Remotion/Core/ServiceLocation.PerformanceTestConsole/Program.cs index 66f7b3811f..6f29a78ce5 100644 --- a/Remotion/Core/ServiceLocation.PerformanceTestConsole/Program.cs +++ b/Remotion/Core/ServiceLocation.PerformanceTestConsole/Program.cs @@ -15,13 +15,12 @@ // along with re-motion; if not, see http://www.gnu.org/licenses. // using System; +using System.ComponentModel.Design; using System.Linq; using log4net.Config; -using Remotion.Reflection; -using Remotion.ServiceLocation; using Remotion.Utilities; -namespace Core.ServiceLocation.PerformanceTestConsole +namespace Remotion.ServiceLocation.PerformanceTestConsole { internal static class Program { @@ -29,7 +28,12 @@ private static void Main (string[] args) { Console.WriteLine("{0} - Application started", DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss,fff")); XmlConfigurator.Configure(); - var typeDiscoveryService = ContextAwareTypeUtility.GetTypeDiscoveryService(); + + var bootstrapServiceLocatorEntries = SafeServiceLocator.BootstrapConfiguration.GetRegistrations(); + var provider = new DefaultServiceLocatorProvider(new BootstrapServiceConfigurationDiscoveryService()); + var bootstrapServiceLocator = provider.GetServiceLocator(bootstrapServiceLocatorEntries); + var typeDiscoveryService = bootstrapServiceLocator.GetInstance(); + var domainObjectType = Type.GetType("Remotion.Data.DomainObjects.DomainObject, Remotion.Data.DomainObjects", true, false); typeDiscoveryService.GetTypes(domainObjectType, false); typeDiscoveryService.GetTypes(domainObjectType, false); diff --git a/Remotion/Core/UnitTests/Configuration/ServiceLocation/ServiceLocationConfigurationTest.cs b/Remotion/Core/UnitTests/Configuration/ServiceLocation/ServiceLocationConfigurationTest.cs deleted file mode 100644 index ca9840e2a6..0000000000 --- a/Remotion/Core/UnitTests/Configuration/ServiceLocation/ServiceLocationConfigurationTest.cs +++ /dev/null @@ -1,68 +0,0 @@ -// This file is part of the re-motion Core Framework (www.re-motion.org) -// Copyright (c) rubicon IT GmbH, www.rubicon.eu -// -// The re-motion Core Framework is free software; you can redistribute it -// and/or modify it under the terms of the GNU Lesser General Public License -// as published by the Free Software Foundation; either version 2.1 of the -// License, or (at your option) any later version. -// -// re-motion is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with re-motion; if not, see http://www.gnu.org/licenses. -// -using System; -using NUnit.Framework; -using Remotion.Configuration.ServiceLocation; -using Remotion.Development.UnitTesting.Configuration; -using Remotion.ServiceLocation; - -namespace Remotion.UnitTests.Configuration.ServiceLocation -{ - [TestFixture] - public class ServiceLocationConfigurationTest - { - private const string _xmlFragmentDefault = @""; - private const string _xmlFragmentWithServiceLocatorProvider = @" - - "; - - [Test] - public void Deserialization_Default () - { - var section = Deserialize(_xmlFragmentDefault); - Assert.That(section.ServiceLocatorProvider.Type, Is.SameAs(typeof(DefaultServiceLocatorProvider))); - } - - [Test] - public void Deserialization_SpecificProvider () - { - var section = Deserialize(_xmlFragmentWithServiceLocatorProvider); - Assert.That(section.ServiceLocatorProvider.Type, Is.SameAs(typeof(FakeServiceLocatorProvider))); - } - - [Test] - public void CreateServiceLocatorProvider_Default () - { - var section = Deserialize(_xmlFragmentDefault); - Assert.That(section.CreateServiceLocatorProvider(), Is.TypeOf()); - } - - [Test] - public void CreateServiceLocatorProvider_SpecificProvider () - { - var section = Deserialize(_xmlFragmentWithServiceLocatorProvider); - Assert.That(section.CreateServiceLocatorProvider(), Is.TypeOf()); - } - - private ServiceLocationConfiguration Deserialize (string xmlFragment) - { - var section = new ServiceLocationConfiguration(); - ConfigurationHelper.DeserializeSection(section, xmlFragment); - return section; - } - } -} diff --git a/Remotion/Core/UnitTests/Configuration/TypeDiscovery/IntegrationTests/SpecificRootAssemblies/SpecificRootAssembliesAreNotSubjectToApplicationFilterTest.cs b/Remotion/Core/UnitTests/Configuration/TypeDiscovery/IntegrationTests/SpecificRootAssemblies/SpecificRootAssembliesAreNotSubjectToApplicationFilterTest.cs deleted file mode 100644 index 005aba3143..0000000000 --- a/Remotion/Core/UnitTests/Configuration/TypeDiscovery/IntegrationTests/SpecificRootAssemblies/SpecificRootAssembliesAreNotSubjectToApplicationFilterTest.cs +++ /dev/null @@ -1,87 +0,0 @@ -// This file is part of the re-motion Core Framework (www.re-motion.org) -// Copyright (c) rubicon IT GmbH, www.rubicon.eu -// -// The re-motion Core Framework is free software; you can redistribute it -// and/or modify it under the terms of the GNU Lesser General Public License -// as published by the Free Software Foundation; either version 2.1 of the -// License, or (at your option) any later version. -// -// re-motion is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with re-motion; if not, see http://www.gnu.org/licenses. -// -using System; -using NUnit.Framework; -using Remotion.Configuration.TypeDiscovery; -using Remotion.Development.UnitTesting.Configuration; -using Remotion.Reflection.TypeDiscovery.AssemblyLoading; - -namespace Remotion.UnitTests.Configuration.TypeDiscovery.IntegrationTests.SpecificRootAssemblies -{ - [TestFixture] - public class SpecificRootAssembliesAreNotSubjectToApplicationFilterTest - { - private const string c_xmlFragmentWithMscorlibByName = @" - - - - - - "; - - private static readonly string s_xmlFragmentWithAssemblyByFilePattern = - @" - - - - - - "; - - [Test] - public void Deserialization_SpecificRootAssemblies_ByName () - { - var section = Deserialize(c_xmlFragmentWithMscorlibByName); - - var service = section.CreateTypeDiscoveryService(); - - var types = service.GetTypes(null, false); - Assert.That(types, Has.Member(typeof(Moq.Capture))); - } - - [Test] - public void Deserialization_SpecificRootAssemblies_ByFilePattern () - { - ApplicationAssemblyLoaderFilter.Instance.AddIgnoredAssembly(GetTestAssemblyName()); - try - { - var section = Deserialize(s_xmlFragmentWithAssemblyByFilePattern); - - var service = section.CreateTypeDiscoveryService(); - - var types = service.GetTypes(null, false); - Assert.That(types, Has.Member(typeof(SpecificRootAssembliesAreNotSubjectToApplicationFilterTest))); - } - finally - { - ApplicationAssemblyLoaderFilter.Instance.Reset(); - } - } - - private TypeDiscoveryConfiguration Deserialize (string xmlFragment) - { - var section = new TypeDiscoveryConfiguration(); - ConfigurationHelper.DeserializeSection(section, xmlFragment); - return section; - } - - private static string GetTestAssemblyName () - { - return typeof(SpecificRootAssembliesAreNotSubjectToApplicationFilterTest).Assembly.GetName().Name; - } - } -} diff --git a/Remotion/Core/UnitTests/Configuration/TypeDiscovery/TypeDiscoveryConfigurationTest.cs b/Remotion/Core/UnitTests/Configuration/TypeDiscovery/TypeDiscoveryConfigurationTest.cs index 8dd281644b..a0518b49df 100644 --- a/Remotion/Core/UnitTests/Configuration/TypeDiscovery/TypeDiscoveryConfigurationTest.cs +++ b/Remotion/Core/UnitTests/Configuration/TypeDiscovery/TypeDiscoveryConfigurationTest.cs @@ -30,167 +30,33 @@ namespace Remotion.UnitTests.Configuration.TypeDiscovery public class TypeDiscoveryConfigurationTest { private const string _xmlFragmentDefault = @""; - private const string _xmlFragmentWithAutoRootAssemblyFinder = @" - "; - private const string _xmlFragmentWithCustomRootAssemblyFinder = @" - - "; - private const string _xmlFragmentWithMissingCustomRootAssemblyFinder = @""; - private const string _xmlFragmentWithSpecificRootAssemblies = @" + private const string _xmlFragmentWithSpecificRootAssemblies = @" "; - private const string _xmlFragmentWithSpecificEmptyRootAssemblies = @" + private const string _xmlFragmentWithSpecificEmptyRootAssemblies = @" "; - private const string _xmlFragmentWithCustomTypeDiscoveryService = @" - - "; - private const string _xmlFragmentWithMissingCustomTypeDiscoveryService = @""; [Test] public void Deserialization_Default () { var section = Deserialize(_xmlFragmentDefault); - Assert.That(section.Mode, Is.EqualTo(TypeDiscoveryMode.Automatic)); - } - - [Test] - public void Deserialization_Auto () - { - var section = Deserialize(_xmlFragmentWithAutoRootAssemblyFinder); - Assert.That(section.Mode, Is.EqualTo(TypeDiscoveryMode.Automatic)); - } - - [Test] - public void Deserialization_CustomSpecificRootAssemblyFinder () - { - var section = Deserialize(_xmlFragmentWithCustomRootAssemblyFinder); - Assert.That(section.Mode, Is.EqualTo(TypeDiscoveryMode.CustomRootAssemblyFinder)); - Assert.That(section.CustomRootAssemblyFinder.Type, Is.SameAs(typeof(FakeRootAssemblyFinder))); + Assert.That(section.SpecificRootAssemblies, Is.Not.Null); + Assert.That(section.SpecificRootAssemblies.ByName, Is.Empty); + Assert.That(section.SpecificRootAssemblies.ByFile, Is.Empty); } [Test] public void Deserialization_SpecificRootAssemblies () { var section = Deserialize(_xmlFragmentWithSpecificRootAssemblies); - Assert.That(section.Mode, Is.EqualTo(TypeDiscoveryMode.SpecificRootAssemblies)); Assert.That(section.SpecificRootAssemblies.ByName.Single().Name, Is.EqualTo("mscorlib")); } - [Test] - public void Deserialization_SpecificEmptyRootAssemblies () - { - var section = Deserialize(_xmlFragmentWithSpecificEmptyRootAssemblies); - Assert.That(section.Mode, Is.EqualTo(TypeDiscoveryMode.SpecificRootAssemblies)); - Assert.That(section.SpecificRootAssemblies.ByName.Count, Is.EqualTo(0)); - Assert.That(section.SpecificRootAssemblies.ByFile.Count, Is.EqualTo(0)); - } - - [Test] - public void Deserialization_CustomTypeDiscoveryService () - { - var section = Deserialize(_xmlFragmentWithCustomTypeDiscoveryService); - Assert.That(section.Mode, Is.EqualTo(TypeDiscoveryMode.CustomTypeDiscoveryService)); - Assert.That(section.CustomTypeDiscoveryService.Type, Is.EqualTo(typeof(FakeTypeDiscoveryService))); - } - - [Test] - public void CreateTypeDiscoveryService_Auto () - { - var section = Deserialize(_xmlFragmentWithAutoRootAssemblyFinder); - - var service = section.CreateTypeDiscoveryService(); - - Assert.That(service, Is.InstanceOf(typeof(AssemblyFinderTypeDiscoveryService))); - Assert.That(((AssemblyFinderTypeDiscoveryService)service).AssemblyFinder, Is.TypeOf()); - var assemblyFinder = (AssemblyFinder)((CachingAssemblyFinderDecorator)((AssemblyFinderTypeDiscoveryService)service).AssemblyFinder).InnerFinder; - Assert.That(assemblyFinder.RootAssemblyFinder, Is.InstanceOf(typeof(SearchPathRootAssemblyFinder))); - - var searchPathRootAssemblyFinder = (SearchPathRootAssemblyFinder)assemblyFinder.RootAssemblyFinder; - Assert.That(searchPathRootAssemblyFinder.BaseDirectory, Is.EqualTo(AppContext.BaseDirectory)); - Assert.That(searchPathRootAssemblyFinder.AssemblyLoader, Is.TypeOf()); - Assert.That(((FilteringAssemblyLoader)searchPathRootAssemblyFinder.AssemblyLoader).Filter, Is.SameAs(ApplicationAssemblyLoaderFilter.Instance)); - - Assert.That(assemblyFinder.AssemblyLoader, Is.TypeOf()); - Assert.That(((FilteringAssemblyLoader)assemblyFinder.AssemblyLoader).Filter, Is.SameAs(ApplicationAssemblyLoaderFilter.Instance)); - } - - [Test] - public void CreateTypeDiscoveryService_CustomRootAssemblyFinder () - { - var section = Deserialize(_xmlFragmentWithCustomRootAssemblyFinder); - - var service = section.CreateTypeDiscoveryService(); - - Assert.That(service, Is.InstanceOf(typeof(AssemblyFinderTypeDiscoveryService))); - Assert.That(((AssemblyFinderTypeDiscoveryService)service).AssemblyFinder, Is.TypeOf()); - var assemblyFinder = (AssemblyFinder)((CachingAssemblyFinderDecorator)((AssemblyFinderTypeDiscoveryService)service).AssemblyFinder).InnerFinder; - Assert.That(assemblyFinder.RootAssemblyFinder, Is.InstanceOf(typeof(FakeRootAssemblyFinder))); - } - - [Test] - public void CreateTypeDiscoveryService_CustomRootAssemblyFinder_MissingType () - { - var section = Deserialize(_xmlFragmentWithMissingCustomRootAssemblyFinder); - Assert.That( - () => section.CreateTypeDiscoveryService(), - Throws.InstanceOf() - .With.Message.Contains( - "In CustomRootAssemblyFinder mode, a custom root assembly finder must be specified in the type discovery configuration.")); - } - - [Test] - public void CreateTypeDiscoveryService_SpecificRootAssemblies () - { - var section = Deserialize(_xmlFragmentWithSpecificRootAssemblies); - - var service = section.CreateTypeDiscoveryService(); - - Assert.That(service, Is.InstanceOf(typeof(AssemblyFinderTypeDiscoveryService))); - Assert.That(((AssemblyFinderTypeDiscoveryService)service).AssemblyFinder, Is.TypeOf()); - var assemblyFinder = (AssemblyFinder)((CachingAssemblyFinderDecorator)((AssemblyFinderTypeDiscoveryService)service).AssemblyFinder).InnerFinder; - Assert.That(assemblyFinder.RootAssemblyFinder, Is.InstanceOf(typeof(CompositeRootAssemblyFinder))); - - var rootAssemblyFinder = (CompositeRootAssemblyFinder)assemblyFinder.RootAssemblyFinder; - Assert.That(rootAssemblyFinder.InnerFinders.Count, Is.EqualTo(2)); - Assert.That(rootAssemblyFinder.InnerFinders[0], Is.InstanceOf(typeof(NamedRootAssemblyFinder))); - - var namedFinder = ((NamedRootAssemblyFinder)rootAssemblyFinder.InnerFinders[0]); - Assert.That(namedFinder.Specifications.First().AssemblyName.ToString(), Is.EqualTo("mscorlib")); - Assert.That(namedFinder.AssemblyLoader, Is.TypeOf()); - Assert.That(((FilteringAssemblyLoader)namedFinder.AssemblyLoader).Filter, Is.TypeOf()); - - var filePatternFinder = ((FilePatternRootAssemblyFinder)rootAssemblyFinder.InnerFinders[1]); - Assert.That(filePatternFinder.Specifications.ToArray(), Is.Empty); - Assert.That(filePatternFinder.AssemblyLoader, Is.TypeOf()); - Assert.That(((FilteringAssemblyLoader)filePatternFinder.AssemblyLoader).Filter, Is.TypeOf()); - } - - [Test] - public void CreateTypeDiscoveryService_CustomTypeDiscoveryService () - { - var section = Deserialize(_xmlFragmentWithCustomTypeDiscoveryService); - - var service = section.CreateTypeDiscoveryService(); - - Assert.That(service, Is.InstanceOf(typeof(FakeTypeDiscoveryService))); - } - - [Test] - public void CreateTypeDiscoveryService_CustomTypeDiscoveryService_MissingType () - { - var section = Deserialize(_xmlFragmentWithMissingCustomTypeDiscoveryService); - Assert.That( - () => section.CreateTypeDiscoveryService(), - Throws.InstanceOf() - .With.Message.Contains( - "In CustomTypeDiscoveryService mode, a custom type discovery service must be specified in the type discovery configuration.")); - } - private TypeDiscoveryConfiguration Deserialize (string xmlFragment) { var section = new TypeDiscoveryConfiguration(); diff --git a/Remotion/Core/UnitTests/Context/ISafeContextStorageProviderTest.cs b/Remotion/Core/UnitTests/Context/ISafeContextStorageProviderTest.cs index 3c403e1015..0f38b91293 100644 --- a/Remotion/Core/UnitTests/Context/ISafeContextStorageProviderTest.cs +++ b/Remotion/Core/UnitTests/Context/ISafeContextStorageProviderTest.cs @@ -28,7 +28,7 @@ public class ISafeContextStorageProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Core/UnitTests/Context/SafeContextTests/SafeContextTestBase.cs b/Remotion/Core/UnitTests/Context/SafeContextTests/SafeContextTestBase.cs index f91ed1412c..c559910e75 100644 --- a/Remotion/Core/UnitTests/Context/SafeContextTests/SafeContextTestBase.cs +++ b/Remotion/Core/UnitTests/Context/SafeContextTests/SafeContextTestBase.cs @@ -46,7 +46,7 @@ public void TearDown () protected static IDisposable SetupImplicitSafeContextStorageProvider (ISafeContextStorageProvider safeContextStorageProvider) { - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => safeContextStorageProvider); return new ServiceLocatorScope(serviceLocator); diff --git a/Remotion/Core/UnitTests/Core.UnitTests.csproj b/Remotion/Core/UnitTests/Core.UnitTests.csproj index c64afd0681..6f4619f48d 100644 --- a/Remotion/Core/UnitTests/Core.UnitTests.csproj +++ b/Remotion/Core/UnitTests/Core.UnitTests.csproj @@ -46,6 +46,9 @@ + + + diff --git a/Remotion/Core/UnitTests/Logging/ILogManagerTest.cs b/Remotion/Core/UnitTests/Logging/ILogManagerTest.cs index 03be44ce5e..baca892901 100644 --- a/Remotion/Core/UnitTests/Logging/ILogManagerTest.cs +++ b/Remotion/Core/UnitTests/Logging/ILogManagerTest.cs @@ -29,7 +29,7 @@ public class ILogManagerTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Core/UnitTests/Reflection/ContextAwareTypeUtilityTest.cs b/Remotion/Core/UnitTests/Reflection/ContextAwareTypeUtilityTest.cs index 3664986c50..1c8d107e04 100644 --- a/Remotion/Core/UnitTests/Reflection/ContextAwareTypeUtilityTest.cs +++ b/Remotion/Core/UnitTests/Reflection/ContextAwareTypeUtilityTest.cs @@ -16,143 +16,29 @@ // using System; using System.ComponentModel.Design; -using System.IO; -using Moq; using NUnit.Framework; -using Remotion.Configuration.TypeDiscovery; -using Remotion.Configuration.TypeResolution; -using Remotion.Development.UnitTesting; using Remotion.Reflection; -using Remotion.Reflection.TypeResolution; -using Remotion.UnitTests.Configuration.TypeDiscovery; -using Remotion.Utilities; -#if !NETFRAMEWORK -using Remotion.Development.UnitTesting.IsolatedCodeRunner; -#endif +using Remotion.ServiceLocation; namespace Remotion.UnitTests.Reflection { [TestFixture] public class ContextAwareTypeUtilityTest { - private ITypeDiscoveryService _oldTypeDiscoveryService; - private TypeDiscoveryConfiguration _oldTypeDiscoveryConfiguration; - private ITypeResolutionService _oldTypeResolutionService; - private TypeResolutionConfiguration _oldTypeResolutionConfiguration; - - [SetUp] - public void SetUp () - { - _oldTypeDiscoveryService = ContextAwareTypeUtility.GetTypeDiscoveryService(); - _oldTypeDiscoveryConfiguration = TypeDiscoveryConfiguration.Current; - _oldTypeResolutionService = ContextAwareTypeUtility.GetTypeResolutionService(); - _oldTypeResolutionConfiguration = TypeResolutionConfiguration.Current; - - var fields = PrivateInvoke.GetNonPublicStaticField(typeof(ContextAwareTypeUtility), "s_fields"); - Assertion.IsNotNull(fields); - PrivateInvoke.SetPublicField( - fields, - "DefaultTypeDiscoveryService", - new Lazy(() => TypeDiscoveryConfiguration.Current.CreateTypeDiscoveryService())); - PrivateInvoke.SetPublicField( - fields, - "DefaultTypeResolutionService", - new Lazy(() => TypeResolutionConfiguration.Current.CreateTypeResolutionService())); - TypeDiscoveryConfiguration.SetCurrent(new TypeDiscoveryConfiguration()); - TypeResolutionConfiguration.SetCurrent(new TypeResolutionConfiguration(new DefaultTypeResolutionService())); - } - - [TearDown] - public void TearDown () - { - var fields = PrivateInvoke.GetNonPublicStaticField(typeof(ContextAwareTypeUtility), "s_fields"); - Assertion.IsNotNull(fields); - PrivateInvoke.SetPublicField( - fields, - "DefaultTypeDiscoveryService", - new Lazy(() => _oldTypeDiscoveryService)); - PrivateInvoke.SetPublicField( - fields, - "DefaultTypeResolutionService", - new Lazy(() => _oldTypeResolutionService)); - - TypeDiscoveryConfiguration.SetCurrent(_oldTypeDiscoveryConfiguration); - TypeResolutionConfiguration.SetCurrent(_oldTypeResolutionConfiguration); - } - [Test] - public void GetTypeDiscoveryService_ComesFromConfiguration () + [Obsolete] + public void GetTypeDiscoveryService_LoadsFromSafeServiceLocator () { - TypeDiscoveryConfiguration.Current.Mode = TypeDiscoveryMode.CustomTypeDiscoveryService; - TypeDiscoveryConfiguration.Current.CustomTypeDiscoveryService.Type = typeof(FakeTypeDiscoveryService); - - var defaultService = ContextAwareTypeUtility.GetTypeDiscoveryService(); - Assert.That(defaultService, Is.InstanceOf(typeof(FakeTypeDiscoveryService))); - } - - [Test] - public void GetTypeDiscoveryService_Cached () - { - TypeDiscoveryConfiguration.Current.Mode = TypeDiscoveryMode.CustomTypeDiscoveryService; - TypeDiscoveryConfiguration.Current.CustomTypeDiscoveryService.Type = typeof(FakeTypeDiscoveryService); - var defaultService = ContextAwareTypeUtility.GetTypeDiscoveryService(); - var defaultService2 = ContextAwareTypeUtility.GetTypeDiscoveryService(); - - Assert.That(defaultService, Is.SameAs(defaultService2)); + Assert.That(defaultService, Is.SameAs(SafeServiceLocator.Current.GetInstance())); } [Test] - public void GetTypeResolutionService_ComesFromConfiguration () + [Obsolete] + public void GetTypeResolutionService_LoadsFromSafeServiceLocator () { - var typeResolutionServiceStub = new Mock(); - TypeResolutionConfiguration.SetCurrent(new TypeResolutionConfiguration(typeResolutionServiceStub.Object)); - - var defaultService = ContextAwareTypeUtility.GetTypeResolutionService(); - Assert.That(defaultService, Is.SameAs(typeResolutionServiceStub.Object)); - } - - [Test] - public void GetTypeResolutionService_Cached () - { - TypeResolutionConfiguration.SetCurrent(new TypeResolutionConfiguration(new DefaultTypeResolutionService())); var defaultService = ContextAwareTypeUtility.GetTypeResolutionService(); - - TypeResolutionConfiguration.SetCurrent(new TypeResolutionConfiguration(new DefaultTypeResolutionService())); - var defaultService2 = ContextAwareTypeUtility.GetTypeResolutionService(); - - Assert.That(defaultService, Is.SameAs(defaultService2)); - } - - [Test] - public void GetTypeDiscoveryService_WithCustomImplementationFromConfigFile_DoesNotThrowOnInitialization () - { - var relativePath = @"Reflection\TestDomain\ContextAwareTypeUtilityTest\app.config"; - var fullPath = Path.Combine(TestContext.CurrentContext.TestDirectory, relativePath); - Assert.That(File.Exists(fullPath)); - - // We run this in a new appdomain/process to ensure that the config can be loaded - // without any initialization problems causing recursive initialization (see RM-8064) -#if NETFRAMEWORK - var appDomainSetup = AppDomain.CurrentDomain.SetupInformation; - appDomainSetup.ConfigurationFile = fullPath; - - var appDomainRunner = new AppDomainRunner( - appDomainSetup, - args => TestAction(Array.Empty())); - - Assert.That(() => appDomainRunner.Run(), Throws.Nothing); -#else - var isolatedCodeRunner = new IsolatedCodeRunner(TestAction); - isolatedCodeRunner.ConfigFile = fullPath; - Assert.That(() => isolatedCodeRunner.Run(), Throws.Nothing); -#endif - - static void TestAction (string[] args) - { - var typeDiscoveryService = ContextAwareTypeUtility.GetTypeDiscoveryService(); - Assert.That(typeDiscoveryService, Is.TypeOf()); - } + Assert.That(defaultService, Is.SameAs(SafeServiceLocator.Current.GetInstance())); } } } diff --git a/Remotion/Core/UnitTests/Reflection/TestDomain/ContextAwareTypeUtilityTest/app.config b/Remotion/Core/UnitTests/Reflection/TestDomain/ContextAwareTypeUtilityTest/app.config deleted file mode 100644 index 275837c852..0000000000 --- a/Remotion/Core/UnitTests/Reflection/TestDomain/ContextAwareTypeUtilityTest/app.config +++ /dev/null @@ -1,9 +0,0 @@ - - - -
- - - - - \ No newline at end of file diff --git a/Remotion/Core/UnitTests/ServiceLocation/BootstrapServiceConfigurationExtensionsTest.cs b/Remotion/Core/UnitTests/ServiceLocation/BootstrapServiceConfigurationExtensionsTest.cs new file mode 100644 index 0000000000..d745df2df6 --- /dev/null +++ b/Remotion/Core/UnitTests/ServiceLocation/BootstrapServiceConfigurationExtensionsTest.cs @@ -0,0 +1,86 @@ +// This file is part of the re-motion Core Framework (www.re-motion.org) +// Copyright (c) rubicon IT GmbH, www.rubicon.eu +// +// The re-motion Core Framework is free software; you can redistribute it +// and/or modify it under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation; either version 2.1 of the +// License, or (at your option) any later version. +// +// re-motion is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with re-motion; if not, see http://www.gnu.org/licenses. +using System.ComponentModel.Design; +using NUnit.Framework; +using Remotion.Reflection.TypeDiscovery.AssemblyLoading; +using Remotion.ServiceLocation; + +namespace Remotion.UnitTests.ServiceLocation; + +[TestFixture] +public class BootstrapServiceConfigurationExtensionsTest +{ + [Test] + [Ignore("RM-5193")] + public void Deserialization_SpecificRootAssemblies_ByName () + { + /* + + + + + + */ + + IBootstrapServiceConfiguration bootstrapServiceConfiguration = new BootstrapServiceConfiguration(); + BootstrapServiceConfigurationExtensions.RegisterSpecificRootAssemblies(bootstrapServiceConfiguration); + + var de = new DefaultServiceLocatorProvider(new BootstrapServiceConfigurationDiscoveryService()); + var serviceLocator = de.GetServiceLocator(bootstrapServiceConfiguration.GetRegistrations()); + var typeDiscoveryServices = serviceLocator.GetInstance(); + + var types = typeDiscoveryServices.GetTypes(null, false); + + Assert.That(types, Has.Member(typeof(Moq.Capture))); + } + + [Test] + [Ignore("RM-5193")] + public void Deserialization_SpecificRootAssemblies_ByFilePattern () + { + /* + + + + + + */ + + ApplicationAssemblyLoaderFilter.Instance.AddIgnoredAssembly(GetTestAssemblyName()); + try + { + IBootstrapServiceConfiguration bootstrapServiceConfiguration = new BootstrapServiceConfiguration(); + BootstrapServiceConfigurationExtensions.RegisterSpecificRootAssemblies(bootstrapServiceConfiguration); + + var de = new DefaultServiceLocatorProvider(new BootstrapServiceConfigurationDiscoveryService()); + var serviceLocator = de.GetServiceLocator(bootstrapServiceConfiguration.GetRegistrations()); + var typeDiscoveryServices = serviceLocator.GetInstance(); + + var types = typeDiscoveryServices.GetTypes(null, false); + + Assert.That(types, Has.Member(typeof(BootstrapServiceConfigurationExtensionsTest))); + } + finally + { + ApplicationAssemblyLoaderFilter.Instance.Reset(); + } + } + + private static string GetTestAssemblyName () + { + return typeof(BootstrapServiceConfigurationExtensionsTest).Assembly.GetName().Name; + } +} diff --git a/Remotion/Core/UnitTests/ServiceLocation/BootstrapServiceConfigurationTest.cs b/Remotion/Core/UnitTests/ServiceLocation/BootstrapServiceConfigurationTest.cs index 4729378374..123c5f6c7e 100644 --- a/Remotion/Core/UnitTests/ServiceLocation/BootstrapServiceConfigurationTest.cs +++ b/Remotion/Core/UnitTests/ServiceLocation/BootstrapServiceConfigurationTest.cs @@ -15,8 +15,16 @@ // along with re-motion; if not, see http://www.gnu.org/licenses. // using System; +using System.ComponentModel.Design; +using System.Linq; using NUnit.Framework; +using Remotion.Logging; +using Remotion.Reflection.TypeDiscovery; +using Remotion.Reflection.TypeDiscovery.AssemblyFinding; +using Remotion.Reflection.TypeDiscovery.AssemblyLoading; +using Remotion.Reflection.TypeResolution; using Remotion.ServiceLocation; +using Remotion.Utilities; namespace Remotion.UnitTests.ServiceLocation { @@ -32,58 +40,73 @@ public void SetUp () } [Test] - public void Register_ServiceConfigurationEntry_AddsEntryToRegistrations_AndToBootstrapLocator () + public void Register_ServiceConfigurationEntry_AddsEntryToRegistrations () { var entry = new ServiceConfigurationEntry(typeof(IService), new ServiceImplementationInfo(typeof(Service), LifetimeKind.Singleton)); _configuration.Register(entry); - Assert.That(_configuration.Registrations, Is.EqualTo(new[] { entry })); - Assert.That(_configuration.BootstrapServiceLocator.GetInstance(), Is.Not.Null.And.TypeOf()); + Assert.That(_configuration.GetRegistrations(), Has.Member(entry)); } [Test] - public void Register_ServiceConfigurationEntry_IfLocatorThrows_NoRegistrationIsAdded () + public void Register_ServiceConfigurationEntry_OverridesExistingEntry () { - // This causes the association between IServiceWithAttribute and ServiceWithAttribute1 to be stored in the BootstrapServiceLocator, so it will - // later throw on Register. - _configuration.BootstrapServiceLocator.GetInstance(); + var entry1 = new ServiceConfigurationEntry(typeof(IService), new ServiceImplementationInfo(typeof(Service), LifetimeKind.Singleton)); + _configuration.Register(entry1); - var entry = new ServiceConfigurationEntry( - typeof(IServiceWithAttribute), - new ServiceImplementationInfo(typeof(ServiceWithAttribute2), LifetimeKind.Singleton)); - Assert.That(() => _configuration.Register(entry), Throws.InvalidOperationException); + var entry2 = new ServiceConfigurationEntry(typeof(IService), new ServiceImplementationInfo(typeof(Service), LifetimeKind.Singleton)); + _configuration.Register(entry2); - Assert.That(_configuration.Registrations, Is.Empty); - Assert.That(_configuration.BootstrapServiceLocator.GetInstance(), Is.Not.Null.And.TypeOf()); + Assert.That(_configuration.GetRegistrations(), Has.Member(entry2).And.Not.Member(entry1)); } [Test] - public void Register_Types_AddsEntry () + public void GetRegistrations_HasDefaultRegistrations () { - _configuration.Register(typeof(IService), typeof(Service), LifetimeKind.InstancePerDependency); - - Assert.That(_configuration.Registrations, Has.Length.EqualTo(1)); - Assert.That(_configuration.Registrations[0].ServiceType, Is.SameAs(typeof(IService))); - - Assert.That(_configuration.Registrations[0].ImplementationInfos.Count, Is.EqualTo(1)); - Assert.That(_configuration.Registrations[0].ImplementationInfos[0].ImplementationType, Is.EqualTo(typeof(Service))); - Assert.That(_configuration.Registrations[0].ImplementationInfos[0].Lifetime, Is.EqualTo(LifetimeKind.InstancePerDependency)); - - Assert.That(_configuration.BootstrapServiceLocator.GetInstance(), Is.Not.Null.And.TypeOf()); + var serviceConfigurationEntries = _configuration.GetRegistrations(); + Assert.That( + serviceConfigurationEntries.Select(e => e.ServiceType), + Is.EquivalentTo( + new[] + { + typeof(ILogManager), + typeof(IServiceLocatorProvider), typeof(IServiceConfigurationDiscoveryService), + typeof(ITypeResolutionService), + typeof(IAppContextProvider), typeof(IAssemblyLoader), typeof(IAssemblyLoaderFilter), typeof(IRootAssemblyFinder), typeof(IAssemblyFinder), + typeof(ITypeDiscoveryService) + })); + Assert.That( + serviceConfigurationEntries.SelectMany(e => e.ImplementationInfos.Select(i => i.ImplementationType)), + Is.EquivalentTo( + new[] + { + typeof(Log4NetLogManager), + typeof(DefaultServiceLocatorProvider), typeof(DefaultServiceConfigurationDiscoveryService), + typeof(DefaultTypeResolutionService), + typeof(AppContextProvider), typeof(FilteringAssemblyLoader), typeof(ApplicationAssemblyLoaderFilter), +#if NETFRAMEWORK + typeof(CurrentAppDomainBasedRootAssemblyFinder), +#else + typeof(AppContextBasedRootAssemblyFinder), +#endif + typeof(AssemblyFinder), typeof(CachingAssemblyFinderDecorator), + typeof(AssemblyFinderTypeDiscoveryService) + })); + Assert.That( + serviceConfigurationEntries.SelectMany(e => e.ImplementationInfos.Where(i => i.RegistrationType == RegistrationType.Single).Select(i => i.Lifetime)), + Has.All.EqualTo(LifetimeKind.Singleton)); + Assert.That(serviceConfigurationEntries.SelectMany(e => e.ImplementationInfos.Where(i => i.RegistrationType == RegistrationType.Compound)), Is.Empty); + Assert.That(serviceConfigurationEntries.SelectMany(e => e.ImplementationInfos.Where(i => i.RegistrationType == RegistrationType.Multiple)), Is.Empty); } [Test] - public void Reset () + public void GetRegistrations_AllowsOverridingDefaultRegistrations () { - _configuration.Register(typeof(IService), typeof(Service), LifetimeKind.InstancePerDependency); - - Assert.That(_configuration.Registrations, Is.Not.Empty); - Assert.That(_configuration.BootstrapServiceLocator.GetInstance(), Is.Not.Null.And.TypeOf()); - - _configuration.Reset(); + var entry = new ServiceConfigurationEntry(typeof(ILogManager), new ServiceImplementationInfo(typeof(FakeLogManager), LifetimeKind.Singleton)); + _configuration.Register(entry); - Assert.That(_configuration.Registrations, Is.Empty); - Assert.That(() => _configuration.BootstrapServiceLocator.GetInstance(), Throws.TypeOf()); + var serviceConfigurationEntries = _configuration.GetRegistrations(); + Assert.That(serviceConfigurationEntries.SingleOrDefault(e => e.ServiceType == typeof(ILogManager)), Is.EqualTo(entry)); } public interface IService { } @@ -101,5 +124,18 @@ public class ServiceWithAttribute1 : IServiceWithAttribute public class ServiceWithAttribute2 : IServiceWithAttribute { } + + public class FakeLogManager : ILogManager + { + ILog ILogManager.GetLogger (string name) => throw new NotImplementedException(); + + ILog ILogManager.GetLogger (Type type) => throw new NotImplementedException(); + + void ILogManager.Initialize () => throw new NotImplementedException(); + + void ILogManager.InitializeConsole () => throw new NotImplementedException(); + + void ILogManager.InitializeConsole (LogLevel defaultThreshold, params LogThreshold[] logThresholds) => throw new NotImplementedException(); + } } } diff --git a/Remotion/Core/UnitTests/ServiceLocation/DefaultServiceConfigurationDiscoveryServiceTest.cs b/Remotion/Core/UnitTests/ServiceLocation/DefaultServiceConfigurationDiscoveryServiceTest.cs index 1ad69189ed..d636700c83 100644 --- a/Remotion/Core/UnitTests/ServiceLocation/DefaultServiceConfigurationDiscoveryServiceTest.cs +++ b/Remotion/Core/UnitTests/ServiceLocation/DefaultServiceConfigurationDiscoveryServiceTest.cs @@ -21,6 +21,7 @@ using System.Reflection; using Moq; using NUnit.Framework; +using Remotion.Reflection; using Remotion.ServiceLocation; using Remotion.UnitTests.ServiceLocation.TestDomain; @@ -389,7 +390,7 @@ public void GetDefaultConfiguration_WithMultipleRegistrationsWithRegistrationTyp [Test] public void GetDefaultConfiguration_Assembly () { - var defaultServiceConfigurationDiscoveryService = DefaultServiceConfigurationDiscoveryService.Create(); + var defaultServiceConfigurationDiscoveryService = new DefaultServiceConfigurationDiscoveryService(_typeDiscoveryServiceStub.Object); // Because the TestDomain contains test classes with ambiguous attributes, we expect an exception here. Assert.That( diff --git a/Remotion/Core/UnitTests/ServiceLocation/DefaultServiceLocatorProviderTest.cs b/Remotion/Core/UnitTests/ServiceLocation/DefaultServiceLocatorProviderTest.cs index d57b3e33d2..e2af94d817 100644 --- a/Remotion/Core/UnitTests/ServiceLocation/DefaultServiceLocatorProviderTest.cs +++ b/Remotion/Core/UnitTests/ServiceLocation/DefaultServiceLocatorProviderTest.cs @@ -15,6 +15,7 @@ // along with re-motion; if not, see http://www.gnu.org/licenses. // using System; +using Moq; using NUnit.Framework; using Remotion.ServiceLocation; @@ -23,20 +24,15 @@ namespace Remotion.UnitTests.ServiceLocation [TestFixture] public class DefaultServiceLocatorProviderTest { - private DefaultServiceLocatorProvider _provider; - - [SetUp] - public void SetUp () - { - _provider = new DefaultServiceLocatorProvider(); - } - [Test] public void GetServiceLocator () { - var sloc = _provider.GetServiceLocator(Array.AsReadOnly(new ServiceConfigurationEntry[0])); + var serviceConfigurationDiscoveryServiceStub = Mock.Of(MockBehavior.Strict); + var provider = new DefaultServiceLocatorProvider(serviceConfigurationDiscoveryServiceStub); + var sloc = provider.GetServiceLocator(Array.AsReadOnly(new ServiceConfigurationEntry[0])); Assert.That(sloc, Is.TypeOf()); + Assert.That(((DefaultServiceLocator)sloc).ServiceConfigurationDiscoveryService, Is.SameAs(serviceConfigurationDiscoveryServiceStub)); } [Test] @@ -44,7 +40,9 @@ public void GetServiceLocator_IncludesBootstrapConfiguration () { var entry = new ServiceConfigurationEntry(typeof(IService), new ServiceImplementationInfo(typeof(Service), LifetimeKind.InstancePerDependency)); - var sloc = _provider.GetServiceLocator(Array.AsReadOnly(new[] { entry })); + var serviceConfigurationDiscoveryServiceStub = Mock.Of(MockBehavior.Strict); + var provider = new DefaultServiceLocatorProvider(serviceConfigurationDiscoveryServiceStub); + var sloc = provider.GetServiceLocator(Array.AsReadOnly(new[] { entry })); Assert.That(sloc, Is.TypeOf()); Assert.That(sloc.GetInstance(), Is.Not.Null.And.TypeOf()); diff --git a/Remotion/Core/UnitTests/ServiceLocation/DefaultServiceLocatorTests/DefaultServiceLocatorTest.cs b/Remotion/Core/UnitTests/ServiceLocation/DefaultServiceLocatorTests/DefaultServiceLocatorTest.cs index 204d3cee08..a88d9518ea 100644 --- a/Remotion/Core/UnitTests/ServiceLocation/DefaultServiceLocatorTests/DefaultServiceLocatorTest.cs +++ b/Remotion/Core/UnitTests/ServiceLocation/DefaultServiceLocatorTests/DefaultServiceLocatorTest.cs @@ -28,7 +28,7 @@ public class DefaultServiceLocatorTest public void GetInstance_TypeWithGenericServiceInterface () { - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); Assert.That(serviceLocator.GetInstance(typeof(ITestOpenGenericService)), Is.TypeOf(typeof(TestOpenGenericIntImplementation))); Assert.That(serviceLocator.GetInstance(typeof(ITestOpenGenericService)), Is.TypeOf(typeof(TestOpenGenericStringImplementation))); diff --git a/Remotion/Core/UnitTests/ServiceLocation/IMemberInformationNameResolverTest.cs b/Remotion/Core/UnitTests/ServiceLocation/IMemberInformationNameResolverTest.cs index 9a8b026f01..34bdb1ad8f 100644 --- a/Remotion/Core/UnitTests/ServiceLocation/IMemberInformationNameResolverTest.cs +++ b/Remotion/Core/UnitTests/ServiceLocation/IMemberInformationNameResolverTest.cs @@ -29,7 +29,7 @@ public class IMemberInformationNameResolverTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Core/UnitTests/ServiceLocation/SafeServiceLocatorTest.cs b/Remotion/Core/UnitTests/ServiceLocation/SafeServiceLocatorTest.cs index 9a9eb2e2d3..8b5ee5c72f 100644 --- a/Remotion/Core/UnitTests/ServiceLocation/SafeServiceLocatorTest.cs +++ b/Remotion/Core/UnitTests/ServiceLocation/SafeServiceLocatorTest.cs @@ -15,12 +15,18 @@ // along with re-motion; if not, see http://www.gnu.org/licenses. // using System; -using System.Collections.ObjectModel; +using System.Collections.Generic; +using System.ComponentModel.Design; using Moq; using NUnit.Framework; -using Remotion.Configuration.ServiceLocation; using Remotion.Development.UnitTesting; +using Remotion.Logging; +using Remotion.Reflection.TypeDiscovery; +using Remotion.Reflection.TypeDiscovery.AssemblyFinding; +using Remotion.Reflection.TypeDiscovery.AssemblyLoading; +using Remotion.Reflection.TypeResolution; using Remotion.ServiceLocation; +using Remotion.Utilities; namespace Remotion.UnitTests.ServiceLocation { @@ -28,7 +34,6 @@ namespace Remotion.UnitTests.ServiceLocation public class SafeServiceLocatorTest { private ServiceLocatorProvider _serviceLocatorProviderBackup; - private IServiceLocationConfiguration _previousConfiguration; [OneTimeSetUp] public void OneTimeSetUp () @@ -46,18 +51,13 @@ public void TestFixtureTearDown () [SetUp] public void SetUp () { - _previousConfiguration = ServiceLocationConfiguration.Current; - ServiceLocationConfiguration.SetCurrent(null); - ResetDefaultServiceLocator(); - SafeServiceLocator.BootstrapConfiguration.Reset(); + ResetSafeServiceLocator(); } [TearDown] public void TearDown () { - ServiceLocationConfiguration.SetCurrent(_previousConfiguration); - ResetDefaultServiceLocator(); - SafeServiceLocator.BootstrapConfiguration.Reset(); + ResetSafeServiceLocator(); } [Test] @@ -75,7 +75,9 @@ public void GetCurrent_WithLocatorProvider_IgnoresServiceConfiguration () var serviceLocatorStub = new Mock(); ServiceLocator.SetLocatorProvider(() => serviceLocatorStub.Object); - ConfigureServiceLocatorProvider(new Mock(MockBehavior.Strict).Object); + IServiceLocatorProvider serviceLocatorProvider = new Mock(MockBehavior.Strict).Object; + ResetSafeServiceLocator(); + SafeServiceLocator.BootstrapConfiguration.Register(serviceLocatorProvider); Assert.That(SafeServiceLocator.Current, Is.SameAs(serviceLocatorStub.Object)); } @@ -96,10 +98,11 @@ public void GetCurrent_WithoutLocatorProvider_ReturnsConfiguredServiceLocator () var serviceLocatorProviderStub = new Mock(); var fakeServiceLocator = new Mock(); serviceLocatorProviderStub - .Setup(stub => stub.GetServiceLocator(It.IsAny>())) + .Setup(stub => stub.GetServiceLocator(It.IsAny>())) .Returns(fakeServiceLocator.Object); - ConfigureServiceLocatorProvider(serviceLocatorProviderStub.Object); + ResetSafeServiceLocator(); + SafeServiceLocator.BootstrapConfiguration.Register(serviceLocatorProviderStub.Object); Assert.That(SafeServiceLocator.Current, Is.SameAs(fakeServiceLocator.Object)); } @@ -116,22 +119,27 @@ public void GetCurrent_WithoutLocatorProvider_ReturnsConfiguredServiceLocator_Wi typeof(IService2), new ServiceImplementationInfo(typeof(Service2), LifetimeKind.InstancePerDependency)); - SafeServiceLocator.BootstrapConfiguration.Register(entry1); - SafeServiceLocator.BootstrapConfiguration.Register(entry2); - - var serviceLocatorProviderMock = new Mock(MockBehavior.Strict); + var serviceLocatorProviderMock = new Mock(MockBehavior.Loose); var fakeServiceLocator = new Mock(); + IReadOnlyCollection bootstrapConfigurationParameter = null; serviceLocatorProviderMock - .Setup(mock => mock.GetServiceLocator(new ReadOnlyCollection(new[] { entry1, entry2 }))) + .Setup(mock => mock.GetServiceLocator(It.IsNotNull>())) .Returns(fakeServiceLocator.Object) + .Callback((IReadOnlyCollection bootstrapConfiguration) => bootstrapConfigurationParameter = bootstrapConfiguration) .Verifiable(); - ConfigureServiceLocatorProvider(serviceLocatorProviderMock.Object); + ResetSafeServiceLocator(); + SafeServiceLocator.BootstrapConfiguration.Register(serviceLocatorProviderMock.Object); + + SafeServiceLocator.BootstrapConfiguration.Register(entry1); + SafeServiceLocator.BootstrapConfiguration.Register(entry2); var result = SafeServiceLocator.Current; serviceLocatorProviderMock.Verify(); Assert.That(result, Is.SameAs(fakeServiceLocator.Object)); + Assert.That(bootstrapConfigurationParameter, Is.Not.Null); + Assert.That(bootstrapConfigurationParameter, Has.Member(entry1).And.Member(entry2)); } [Test] @@ -159,10 +167,11 @@ public void GetCurrent_WithLocatorProviderReturningNull_ReturnsConfiguredService var serviceLocatorProviderStub = new Mock(); var fakeServiceLocator = new Mock(); serviceLocatorProviderStub - .Setup(stub => stub.GetServiceLocator(It.IsAny>())) + .Setup(stub => stub.GetServiceLocator(It.IsAny>())) .Returns(fakeServiceLocator.Object); - ConfigureServiceLocatorProvider(serviceLocatorProviderStub.Object); + ResetSafeServiceLocator(); + SafeServiceLocator.BootstrapConfiguration.Register(serviceLocatorProviderStub.Object); Assert.That(SafeServiceLocator.Current, Is.SameAs(fakeServiceLocator.Object)); } @@ -183,9 +192,13 @@ public void GetCurrent_WithInvalidServiceLocationConfiguration () var exception = new Exception(); var serviceLocatorProvider = new Mock(); - serviceLocatorProvider.Setup(mock => mock.GetServiceLocator(It.IsAny>())).Throws(exception).Verifiable(); + serviceLocatorProvider + .Setup(mock => mock.GetServiceLocator(It.IsAny>())) + .Throws(exception) + .Verifiable(); - ConfigureServiceLocatorProvider(serviceLocatorProvider.Object); + ResetSafeServiceLocator(); + SafeServiceLocator.BootstrapConfiguration.Register(serviceLocatorProvider.Object); Assert.That(() => SafeServiceLocator.Current, Throws.Exception.SameAs(exception)); } @@ -196,17 +209,12 @@ public void GetCurrent_ProvidesAccessToBootstrapLocator_WhileConfiguredLocatorIs var serviceLocatorProvider = new Mock(); var fakeServiceLocator = new Mock(); serviceLocatorProvider - .Setup(stub => stub.GetServiceLocator(It.IsAny>())) + .Setup(stub => stub.GetServiceLocator(It.IsAny>())) .Returns(fakeServiceLocator.Object) - .Callback( - (ReadOnlyCollection bootstrapConfiguration) => - { - Assert.That( - SafeServiceLocator.Current, - Is.Not.Null.And.SameAs(((BootstrapServiceConfiguration)SafeServiceLocator.BootstrapConfiguration).BootstrapServiceLocator)); - }); + .Callback((IReadOnlyCollection bootstrapConfiguration) => Assert.That(SafeServiceLocator.Current, Is.Not.Null)); - ConfigureServiceLocatorProvider(serviceLocatorProvider.Object); + ResetSafeServiceLocator(); + SafeServiceLocator.BootstrapConfiguration.Register(serviceLocatorProvider.Object); var result = SafeServiceLocator.Current; @@ -214,29 +222,121 @@ public void GetCurrent_ProvidesAccessToBootstrapLocator_WhileConfiguredLocatorIs } [Test] - public void DefaultConfiguration_IntegrationTest () + public void DefaultConfiguration_IntegrationTest_CreatesDefaultServiceLocator () { - SafeServiceLocator.BootstrapConfiguration.Register(typeof(IService1), typeof(Service1), LifetimeKind.InstancePerDependency); - Assert.That(SafeServiceLocator.Current, Is.TypeOf()); - Assert.That(SafeServiceLocator.Current.GetInstance(), Is.Not.Null.And.TypeOf()); + } + + [Test] + public void DefaultConfiguration_IntegrationTest_WithManualRegistration () + { + SafeServiceLocator.BootstrapConfiguration.Register(typeof(IService1), typeof(Service1)); + Assert.That(SafeServiceLocator.Current.GetInstance(), Is.Not.Null.And.TypeOf()); + } + + [Test] + public void DefaultConfiguration_IntegrationTest_WithAttributeBasedRegistration () + { + Assert.That(SafeServiceLocator.Current.GetInstance(), Is.Not.Null.And.TypeOf()); + } + + [Test] + public void DefaultConfiguration_IntegrationTest_WithoutRegistrationRegistration () + { Assert.That(() => SafeServiceLocator.Current.GetInstance(), Throws.TypeOf()); } - private void ConfigureServiceLocatorProvider (IServiceLocatorProvider serviceLocatorProvider) + [Test] + public void DefaultConfiguration_IntegrationTest_WithDependency () + { + SafeServiceLocator.BootstrapConfiguration.Register(typeof(IServiceWithDependency), typeof(ServiceWithDependency)); + + var serviceWithDependency = SafeServiceLocator.Current.GetInstance(); + var logManager = SafeServiceLocator.Current.GetInstance(); + Assert.That(serviceWithDependency, Is.Not.Null.And.TypeOf()); + Assert.That(((ServiceWithDependency)serviceWithDependency).LogManager, Is.SameAs(logManager)); + } + + [Test] + public void DefaultConfiguration_IntegrationTest_PreservesBootstrappedSingletons () + { + var serviceLocator1 = SafeServiceLocator.Current; + var logManagerInServiceLocator1 = serviceLocator1.GetInstance(); + Assert.That(serviceLocator1, Is.TypeOf()); + + ServiceLocator.SetLocatorProvider(null); + ResetSafeServiceLocator(resetBootstrapConfiguration: false, resetDefaultServiceLocator: true); + + var serviceLocator2 = SafeServiceLocator.Current; + var logManagerInServiceLocator2 = serviceLocator2.GetInstance(); + Assert.That(serviceLocator2, Is.Not.SameAs(serviceLocator1)); + Assert.That(logManagerInServiceLocator2, Is.SameAs(logManagerInServiceLocator1)); + } + + [Test] + public void DefaultConfiguration_IntegrationTest_ILogManager () { - var serviceLocationConfiguration = new Mock(); - serviceLocationConfiguration.Setup(stub => stub.CreateServiceLocatorProvider()).Returns(serviceLocatorProvider); - ServiceLocationConfiguration.SetCurrent(serviceLocationConfiguration.Object); - ResetDefaultServiceLocator(); + Assert.That(SafeServiceLocator.Current.GetInstance(), Is.InstanceOf()); } - private void ResetDefaultServiceLocator () + [Test] + public void DefaultConfiguration_IntegrationTest_IServiceLocatorProvider () { - var defaultServiceLocatorContainer = - (DoubleCheckedLockingContainer)PrivateInvoke.GetNonPublicStaticField(typeof(SafeServiceLocator), "s_defaultServiceLocator"); - defaultServiceLocatorContainer.Value = null; + Assert.That(SafeServiceLocator.Current.GetInstance(), Is.InstanceOf()); + } + + [Test] + public void DefaultConfiguration_IntegrationTest_ITypeResolutionService () + { + Assert.That(SafeServiceLocator.Current.GetInstance(), Is.InstanceOf()); + } + + [Test] + public void DefaultConfiguration_IntegrationTest_ITypeDiscoveryService () + { + var typeDiscoveryService = SafeServiceLocator.Current.GetInstance(); + Assert.That(typeDiscoveryService, Is.InstanceOf()); + + var assemblyFindingTypeDiscoveryService = (AssemblyFinderTypeDiscoveryService)typeDiscoveryService; + Assert.That(assemblyFindingTypeDiscoveryService.AssemblyFinder, Is.InstanceOf()); + + var cachingAssemblyFinderDecorator = (CachingAssemblyFinderDecorator)assemblyFindingTypeDiscoveryService.AssemblyFinder; + Assert.That(cachingAssemblyFinderDecorator.InnerFinder, Is.InstanceOf()); + var assemblyFinder = (AssemblyFinder)cachingAssemblyFinderDecorator.InnerFinder; + Assert.That(assemblyFinder.AssemblyLoader, Is.InstanceOf()); + + var filteringAssemblyLoader = (FilteringAssemblyLoader)assemblyFinder.AssemblyLoader; + Assert.That(filteringAssemblyLoader.Filter, Is.InstanceOf()); + +#if NETFRAMEWORK + Assert.That(assemblyFinder.RootAssemblyFinder, Is.InstanceOf()); + var rootAssemblyFinder = (CurrentAppDomainBasedRootAssemblyFinder)assemblyFinder.RootAssemblyFinder; + Assert.That(rootAssemblyFinder.AssemblyLoader, Is.SameAs(assemblyFinder.AssemblyLoader)); +#else + Assert.That(assemblyFinder.RootAssemblyFinder, Is.InstanceOf()); + var rootAssemblyFinder = (AppContextBasedRootAssemblyFinder)assemblyFinder.RootAssemblyFinder; + Assert.That(rootAssemblyFinder.AssemblyLoader, Is.SameAs(assemblyFinder.AssemblyLoader)); + Assert.That(rootAssemblyFinder.AppContextProvider, Is.InstanceOf()); +#endif + } + + private void ResetSafeServiceLocator (bool resetBootstrapConfiguration = true, bool resetDefaultServiceLocator = true) + { + var fields = PrivateInvoke.GetNonPublicStaticField(typeof(SafeServiceLocator), "s_fields"); + Assertion.IsNotNull(fields); + + if (resetBootstrapConfiguration) + { + PrivateInvoke.SetPublicField(fields, "BootstrapConfiguration", new BootstrapServiceConfiguration()); + } + + if (resetDefaultServiceLocator) + { + var defaultServiceLocatorContainer = (DoubleCheckedLockingContainer)PrivateInvoke.GetPublicField(fields, "DefaultServiceLocator"); + Assertion.IsNotNull(defaultServiceLocatorContainer); + defaultServiceLocatorContainer.Value = null; + } } interface IService1 { } @@ -248,5 +348,17 @@ class Service2 : IService2 { } interface IServiceWithAttribute { } [ImplementationFor(typeof(IServiceWithAttribute))] class ServiceWithAttribute : IServiceWithAttribute { } + + interface IServiceWithDependency { } + + class ServiceWithDependency : IServiceWithDependency + { + public ILogManager LogManager { get; } + + public ServiceWithDependency (ILogManager logManager) + { + LogManager = logManager; + } + } } } diff --git a/Remotion/Core/UnitTests/ServiceLocation/ServiceLocatorTests.cs b/Remotion/Core/UnitTests/ServiceLocation/ServiceLocatorTests.cs index 81b1708d78..7d4ab1d65d 100644 --- a/Remotion/Core/UnitTests/ServiceLocation/ServiceLocatorTests.cs +++ b/Remotion/Core/UnitTests/ServiceLocation/ServiceLocatorTests.cs @@ -15,6 +15,7 @@ // along with re-motion; if not, see http://www.gnu.org/licenses. // using System; +using Moq; using NUnit.Framework; using Remotion.ServiceLocation; @@ -29,10 +30,16 @@ public void SetUp () ServiceLocator.SetLocatorProvider(null); } + [TearDown] + public void TearDown () + { + ServiceLocator.SetLocatorProvider(null); + } + [Test] public void IsLocationProviderSet_WithSetProvider_ReturnsTrue () { - ServiceLocator.SetLocatorProvider(() => new DefaultServiceLocator(DefaultServiceConfigurationDiscoveryService.Create())); + ServiceLocator.SetLocatorProvider(() => Mock.Of()); Assert.That(ServiceLocator.IsLocationProviderSet, Is.True); } diff --git a/Remotion/Core/UnitTests/Utilities/IAppContextProviderTest.cs b/Remotion/Core/UnitTests/Utilities/IAppContextProviderTest.cs index 3c0da299b4..3c0a4e92a3 100644 --- a/Remotion/Core/UnitTests/Utilities/IAppContextProviderTest.cs +++ b/Remotion/Core/UnitTests/Utilities/IAppContextProviderTest.cs @@ -29,7 +29,7 @@ public class IAppContextProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Core/UnitTests/Utilities/ITypeConversionProviderTest.cs b/Remotion/Core/UnitTests/Utilities/ITypeConversionProviderTest.cs index cde3c6f684..4402c549f7 100644 --- a/Remotion/Core/UnitTests/Utilities/ITypeConversionProviderTest.cs +++ b/Remotion/Core/UnitTests/Utilities/ITypeConversionProviderTest.cs @@ -29,7 +29,7 @@ public class ITypeConversionProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Core/UnitTests/Utilities/ITypeConverterFactoryTest.cs b/Remotion/Core/UnitTests/Utilities/ITypeConverterFactoryTest.cs index 7e85e95b1f..d3338435a6 100644 --- a/Remotion/Core/UnitTests/Utilities/ITypeConverterFactoryTest.cs +++ b/Remotion/Core/UnitTests/Utilities/ITypeConverterFactoryTest.cs @@ -30,7 +30,7 @@ public class ITypeConverterFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.ObjectBinding.IntegrationTests/IBindablePropertReadAccessStrategyTest.cs b/Remotion/Data/DomainObjects.ObjectBinding.IntegrationTests/IBindablePropertReadAccessStrategyTest.cs index f98ed6e3ac..af99935fd5 100644 --- a/Remotion/Data/DomainObjects.ObjectBinding.IntegrationTests/IBindablePropertReadAccessStrategyTest.cs +++ b/Remotion/Data/DomainObjects.ObjectBinding.IntegrationTests/IBindablePropertReadAccessStrategyTest.cs @@ -31,7 +31,7 @@ public class IBindablePropertReadAccessStrategyTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.ObjectBinding.IntegrationTests/IBindablePropertyWriteAccessStrategyTest.cs b/Remotion/Data/DomainObjects.ObjectBinding.IntegrationTests/IBindablePropertyWriteAccessStrategyTest.cs index d3b968e045..0086e38591 100644 --- a/Remotion/Data/DomainObjects.ObjectBinding.IntegrationTests/IBindablePropertyWriteAccessStrategyTest.cs +++ b/Remotion/Data/DomainObjects.ObjectBinding.IntegrationTests/IBindablePropertyWriteAccessStrategyTest.cs @@ -31,7 +31,7 @@ public class IBindablePropertyWriteAccessStrategyTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.ObjectBinding.IntegrationTests/SecurityIntegrationTest.cs b/Remotion/Data/DomainObjects.ObjectBinding.IntegrationTests/SecurityIntegrationTest.cs index 22492e565f..64b7ad839f 100644 --- a/Remotion/Data/DomainObjects.ObjectBinding.IntegrationTests/SecurityIntegrationTest.cs +++ b/Remotion/Data/DomainObjects.ObjectBinding.IntegrationTests/SecurityIntegrationTest.cs @@ -56,7 +56,7 @@ public override void SetUp () var storageSettings = SafeServiceLocator.Current.GetInstance(); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => _securityProviderStub.Object); serviceLocator.RegisterSingle(() => _principalProviderStub.Object); serviceLocator.RegisterSingle(() => storageSettings); diff --git a/Remotion/Data/DomainObjects.ObjectBinding.IntegrationTests/SetUpFixture.cs b/Remotion/Data/DomainObjects.ObjectBinding.IntegrationTests/SetUpFixture.cs index 5c3fd266f5..0f29dac285 100644 --- a/Remotion/Data/DomainObjects.ObjectBinding.IntegrationTests/SetUpFixture.cs +++ b/Remotion/Data/DomainObjects.ObjectBinding.IntegrationTests/SetUpFixture.cs @@ -54,7 +54,7 @@ public void OneTimeSetUp () { var storageSettingsFactory = StorageSettingsFactory.CreateForSqlServer(TestDomainConnectionString); - var defaultServiceLocator = DefaultServiceLocator.Create(); + var defaultServiceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); defaultServiceLocator.RegisterSingle(() => storageSettingsFactory); ServiceLocator.SetLocatorProvider(() => defaultServiceLocator); diff --git a/Remotion/Data/DomainObjects.ObjectBinding.UnitTests/BindableDomainObjectMixinTests/GetDisplayNameTest.cs b/Remotion/Data/DomainObjects.ObjectBinding.UnitTests/BindableDomainObjectMixinTests/GetDisplayNameTest.cs index 55976bf41c..54a9b98645 100644 --- a/Remotion/Data/DomainObjects.ObjectBinding.UnitTests/BindableDomainObjectMixinTests/GetDisplayNameTest.cs +++ b/Remotion/Data/DomainObjects.ObjectBinding.UnitTests/BindableDomainObjectMixinTests/GetDisplayNameTest.cs @@ -41,7 +41,7 @@ public override void SetUp () var storageSettings = SafeServiceLocator.Current.GetInstance(); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => _bindablePropertyReadAccessStrategyMock.Object); serviceLocator.RegisterSingle(() => storageSettings); _serviceLocatorScope = new ServiceLocatorScope(serviceLocator); diff --git a/Remotion/Data/DomainObjects.ObjectBinding.UnitTests/IBindablePropertReadAccessStrategyTest.cs b/Remotion/Data/DomainObjects.ObjectBinding.UnitTests/IBindablePropertReadAccessStrategyTest.cs index c704d5f35a..68d0deed3c 100644 --- a/Remotion/Data/DomainObjects.ObjectBinding.UnitTests/IBindablePropertReadAccessStrategyTest.cs +++ b/Remotion/Data/DomainObjects.ObjectBinding.UnitTests/IBindablePropertReadAccessStrategyTest.cs @@ -30,7 +30,7 @@ public class IBindablePropertReadAccessStrategyTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.ObjectBinding.UnitTests/IBindablePropertyWriteAccessStrategyTest.cs b/Remotion/Data/DomainObjects.ObjectBinding.UnitTests/IBindablePropertyWriteAccessStrategyTest.cs index f769f60d51..6889e2ae34 100644 --- a/Remotion/Data/DomainObjects.ObjectBinding.UnitTests/IBindablePropertyWriteAccessStrategyTest.cs +++ b/Remotion/Data/DomainObjects.ObjectBinding.UnitTests/IBindablePropertyWriteAccessStrategyTest.cs @@ -30,7 +30,7 @@ public class IBindablePropertyWriteAccessStrategyTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.ObjectBinding.UnitTests/SetUpFixture.cs b/Remotion/Data/DomainObjects.ObjectBinding.UnitTests/SetUpFixture.cs index 6059a4aa86..44f4e389fd 100644 --- a/Remotion/Data/DomainObjects.ObjectBinding.UnitTests/SetUpFixture.cs +++ b/Remotion/Data/DomainObjects.ObjectBinding.UnitTests/SetUpFixture.cs @@ -41,7 +41,7 @@ public void OneTimeSetUp () var storageSettings = new SerializableStorageSettings(new StorageSettings(storageProviderDefinition, new[] { storageProviderDefinition })); - var defaultServiceLocator = DefaultServiceLocator.Create(); + var defaultServiceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); defaultServiceLocator.RegisterSingle(() => storageSettings); ServiceLocator.SetLocatorProvider(() => defaultServiceLocator); diff --git a/Remotion/Data/DomainObjects.PerformanceTests/BindableObjectWithSecurityTest.cs b/Remotion/Data/DomainObjects.PerformanceTests/BindableObjectWithSecurityTest.cs index 0f55140a1d..0f5ab67758 100644 --- a/Remotion/Data/DomainObjects.PerformanceTests/BindableObjectWithSecurityTest.cs +++ b/Remotion/Data/DomainObjects.PerformanceTests/BindableObjectWithSecurityTest.cs @@ -39,7 +39,7 @@ public void SetUp () var storageSettings = SafeServiceLocator.Current.GetInstance(); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => stubSecurityProvider); serviceLocator.RegisterSingle(() => threadPrincipalProvider); serviceLocator.RegisterSingle(() => storageSettings); diff --git a/Remotion/Data/DomainObjects.PerformanceTests/BindableObjectWithoutSecurityTest.cs b/Remotion/Data/DomainObjects.PerformanceTests/BindableObjectWithoutSecurityTest.cs index 84d40e3572..80942190da 100644 --- a/Remotion/Data/DomainObjects.PerformanceTests/BindableObjectWithoutSecurityTest.cs +++ b/Remotion/Data/DomainObjects.PerformanceTests/BindableObjectWithoutSecurityTest.cs @@ -44,7 +44,7 @@ public void SetUp () var storageSettings = SafeServiceLocator.Current.GetInstance(); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => bindablePropertyReadAccessStrategy); serviceLocator.RegisterSingle(() => storageSettings); serviceLocator.RegisterSingle(() => bindablePropertyWriteAccessStrategy); diff --git a/Remotion/Data/DomainObjects.PerformanceTests/PropertyTest.cs b/Remotion/Data/DomainObjects.PerformanceTests/PropertyTest.cs index e4a00d0d23..d09f064e37 100644 --- a/Remotion/Data/DomainObjects.PerformanceTests/PropertyTest.cs +++ b/Remotion/Data/DomainObjects.PerformanceTests/PropertyTest.cs @@ -48,7 +48,7 @@ public void SetUp () var storageSettings = SafeServiceLocator.Current.GetInstance(); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => bindablePropertyReadAccessStrategy); serviceLocator.RegisterSingle(() => bindablePropertyWriteAccessStrategy); serviceLocator.RegisterSingle(() => storageSettings); diff --git a/Remotion/Data/DomainObjects.PerformanceTests/StandardConfiguration.cs b/Remotion/Data/DomainObjects.PerformanceTests/StandardConfiguration.cs index ba386f93af..878fde4157 100644 --- a/Remotion/Data/DomainObjects.PerformanceTests/StandardConfiguration.cs +++ b/Remotion/Data/DomainObjects.PerformanceTests/StandardConfiguration.cs @@ -36,7 +36,7 @@ public static void Initialize () { var storageSettingsFactory = StorageSettingsFactory.CreateForSqlServer(ConnectionString); - var defaultServiceLocator = DefaultServiceLocator.Create(); + var defaultServiceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); defaultServiceLocator.RegisterSingle(() => storageSettingsFactory); ServiceLocator.SetLocatorProvider(() => defaultServiceLocator); @@ -46,7 +46,7 @@ public static void Initialize () var assemblyFinder = new CachingAssemblyFinderDecorator(new AssemblyFinder(rootAssemblyFinder, assemblyLoader)); ITypeDiscoveryService typeDiscoveryService = new AssemblyFinderTypeDiscoveryService(assemblyFinder); MappingConfiguration mappingConfiguration = MappingConfiguration.Create( - MappingReflector.Create( + new MappingReflector( typeDiscoveryService, SafeServiceLocator.Current.GetInstance(), SafeServiceLocator.Current.GetInstance(), diff --git a/Remotion/Data/DomainObjects.RdbmsTools/RdbmsToolsRunner.cs b/Remotion/Data/DomainObjects.RdbmsTools/RdbmsToolsRunner.cs index 928e6fe28b..cbf29855f3 100644 --- a/Remotion/Data/DomainObjects.RdbmsTools/RdbmsToolsRunner.cs +++ b/Remotion/Data/DomainObjects.RdbmsTools/RdbmsToolsRunner.cs @@ -87,7 +87,7 @@ protected virtual void InitializeConfiguration () if (ServiceLocator.IsLocationProviderSet == false) { var storageSettingsFactory = StorageSettingsFactory.CreateForSqlServer(_rdbmsToolsParameters.ConnectionString); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => storageSettingsFactory); ServiceLocator.SetLocatorProvider(() => serviceLocator); } diff --git a/Remotion/Data/DomainObjects.Security.UnitTests/SecurityClientTransactionExtensionIntegrationTest.cs b/Remotion/Data/DomainObjects.Security.UnitTests/SecurityClientTransactionExtensionIntegrationTest.cs index 96f3f99cfe..02a32b6f6d 100644 --- a/Remotion/Data/DomainObjects.Security.UnitTests/SecurityClientTransactionExtensionIntegrationTest.cs +++ b/Remotion/Data/DomainObjects.Security.UnitTests/SecurityClientTransactionExtensionIntegrationTest.cs @@ -61,7 +61,7 @@ public override void SetUp () var storageSettings = SafeServiceLocator.Current.GetInstance(); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => _securityProviderStub.Object); serviceLocator.RegisterSingle(() => storageSettings); serviceLocator.RegisterSingle(() => _principalProviderStub.Object); diff --git a/Remotion/Data/DomainObjects.Security.UnitTests/SecurityClientTransactionExtensionTests/TestHelper.cs b/Remotion/Data/DomainObjects.Security.UnitTests/SecurityClientTransactionExtensionTests/TestHelper.cs index 697b0a93c8..1e51b32dd5 100644 --- a/Remotion/Data/DomainObjects.Security.UnitTests/SecurityClientTransactionExtensionTests/TestHelper.cs +++ b/Remotion/Data/DomainObjects.Security.UnitTests/SecurityClientTransactionExtensionTests/TestHelper.cs @@ -100,7 +100,7 @@ public void SetupSecurityIoCConfiguration () { var storageSettings = SafeServiceLocator.Current.GetInstance(); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => _mockSecurityProvider.Object); serviceLocator.RegisterSingle(() => _stubPrincipalProvider.Object); serviceLocator.RegisterSingle(() => _mockMemberResolver.Object); diff --git a/Remotion/Data/DomainObjects.Security.UnitTests/SetupFixture.cs b/Remotion/Data/DomainObjects.Security.UnitTests/SetupFixture.cs index f4d1161f37..731a9235f3 100644 --- a/Remotion/Data/DomainObjects.Security.UnitTests/SetupFixture.cs +++ b/Remotion/Data/DomainObjects.Security.UnitTests/SetupFixture.cs @@ -41,7 +41,7 @@ public void OneTimeSetUp () var storageSettings = new StorageSettings(storageProviderDefinition, new[] { storageProviderDefinition }); - var defaultServiceLocator = DefaultServiceLocator.Create(); + var defaultServiceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); defaultServiceLocator.RegisterSingle(() => storageSettings); ServiceLocator.SetLocatorProvider(() => defaultServiceLocator); diff --git a/Remotion/Data/DomainObjects.UberProfIntegration.UnitTests/EntityFrameworkIntegrationTest.cs b/Remotion/Data/DomainObjects.UberProfIntegration.UnitTests/EntityFrameworkIntegrationTest.cs index 7439dfd006..0f24fbdf47 100644 --- a/Remotion/Data/DomainObjects.UberProfIntegration.UnitTests/EntityFrameworkIntegrationTest.cs +++ b/Remotion/Data/DomainObjects.UberProfIntegration.UnitTests/EntityFrameworkIntegrationTest.cs @@ -44,7 +44,7 @@ public override void SetUp () var storageSettings = SafeServiceLocator.Current.GetInstance(); - var locator = DefaultServiceLocator.Create(); + var locator = DefaultServiceLocator.CreateWithBootstrappedServices(); var factory = new EntityFrameworkExtensionFactory(); locator.RegisterSingle(() => factory); locator.RegisterSingle(() => factory); diff --git a/Remotion/Data/DomainObjects.UberProfIntegration.UnitTests/LinqToSqlIntegrationTest.cs b/Remotion/Data/DomainObjects.UberProfIntegration.UnitTests/LinqToSqlIntegrationTest.cs index 2c45e1867d..bdf495fadc 100644 --- a/Remotion/Data/DomainObjects.UberProfIntegration.UnitTests/LinqToSqlIntegrationTest.cs +++ b/Remotion/Data/DomainObjects.UberProfIntegration.UnitTests/LinqToSqlIntegrationTest.cs @@ -44,7 +44,7 @@ public override void SetUp () var storageSettings = SafeServiceLocator.Current.GetInstance(); - var locator = DefaultServiceLocator.Create(); + var locator = DefaultServiceLocator.CreateWithBootstrappedServices(); var factory = new LinqToSqlExtensionFactory(); locator.RegisterSingle(() => factory); locator.RegisterSingle(() => factory); diff --git a/Remotion/Data/DomainObjects.UberProfIntegration.UnitTests/SetUpFixture.cs b/Remotion/Data/DomainObjects.UberProfIntegration.UnitTests/SetUpFixture.cs index d2c949014a..0985642be2 100644 --- a/Remotion/Data/DomainObjects.UberProfIntegration.UnitTests/SetUpFixture.cs +++ b/Remotion/Data/DomainObjects.UberProfIntegration.UnitTests/SetUpFixture.cs @@ -54,7 +54,7 @@ public void OneTimeSetUp () { var storageSettingsFactory = StorageSettingsFactory.CreateForSqlServer(TestDomainConnectionString); - var defaultServiceLocator = DefaultServiceLocator.Create(); + var defaultServiceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); defaultServiceLocator.RegisterSingle(() => storageSettingsFactory); ServiceLocator.SetLocatorProvider(() => defaultServiceLocator); diff --git a/Remotion/Data/DomainObjects.UnitTests/Factories/MappingReflectorObjectMother.cs b/Remotion/Data/DomainObjects.UnitTests/Factories/MappingReflectorObjectMother.cs index f5e6f4b8d6..c5125c9606 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Factories/MappingReflectorObjectMother.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Factories/MappingReflectorObjectMother.cs @@ -30,7 +30,7 @@ public static MappingReflector CreateMappingReflector (ITypeDiscoveryService typ { ArgumentUtility.CheckNotNull("typeDiscoveryService", typeDiscoveryService); - return MappingReflector.Create( + return new MappingReflector( typeDiscoveryService, SafeServiceLocator.Current.GetInstance(), SafeServiceLocator.Current.GetInstance(), diff --git a/Remotion/Data/DomainObjects.UnitTests/IClientTransactionExtensionFactoryTest.cs b/Remotion/Data/DomainObjects.UnitTests/IClientTransactionExtensionFactoryTest.cs index d6d63831b5..b2f268752e 100644 --- a/Remotion/Data/DomainObjects.UnitTests/IClientTransactionExtensionFactoryTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/IClientTransactionExtensionFactoryTest.cs @@ -29,7 +29,7 @@ public class IClientTransactionExtensionFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.UnitTests/IDomainModelConstraintProviderTest.cs b/Remotion/Data/DomainObjects.UnitTests/IDomainModelConstraintProviderTest.cs index 86b274d4c3..d4d5ea356f 100644 --- a/Remotion/Data/DomainObjects.UnitTests/IDomainModelConstraintProviderTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/IDomainModelConstraintProviderTest.cs @@ -13,7 +13,7 @@ public class IDomainModelConstraintProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.UnitTests/Infrastructure/TypePipe/IInterceptedPropertyFinderTest.cs b/Remotion/Data/DomainObjects.UnitTests/Infrastructure/TypePipe/IInterceptedPropertyFinderTest.cs index 561ac5ff73..f4f66cc73c 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Infrastructure/TypePipe/IInterceptedPropertyFinderTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Infrastructure/TypePipe/IInterceptedPropertyFinderTest.cs @@ -29,7 +29,7 @@ public class IInterceptedPropertyFinderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.UnitTests/Infrastructure/TypePipe/ITypeDefinitionProviderTest.cs b/Remotion/Data/DomainObjects.UnitTests/Infrastructure/TypePipe/ITypeDefinitionProviderTest.cs index a82f3d03d7..dea458b27f 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Infrastructure/TypePipe/ITypeDefinitionProviderTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Infrastructure/TypePipe/ITypeDefinitionProviderTest.cs @@ -29,7 +29,7 @@ public class ITypeDefinitionProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.UnitTests/IntegrationTests/EagerFetching/EagerFetchingTest.cs b/Remotion/Data/DomainObjects.UnitTests/IntegrationTests/EagerFetching/EagerFetchingTest.cs index 37de11170b..6946c959ab 100644 --- a/Remotion/Data/DomainObjects.UnitTests/IntegrationTests/EagerFetching/EagerFetchingTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/IntegrationTests/EagerFetching/EagerFetchingTest.cs @@ -307,7 +307,7 @@ private ServiceLocatorScope ScopeWithPersistenceExtension (IPersistenceExtension persistenceExtensionFactoryStub .Setup(stub => stub.CreatePersistenceExtensions(It.IsAny())) .Returns(new[] { persistenceExtensionMock }); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => persistenceExtensionFactoryStub.Object); RegisterStandardConfiguration(serviceLocator); return new ServiceLocatorScope(serviceLocator); diff --git a/Remotion/Data/DomainObjects.UnitTests/IntegrationTests/Queries/CustomQueryDatabaseBehaviorTest.cs b/Remotion/Data/DomainObjects.UnitTests/IntegrationTests/Queries/CustomQueryDatabaseBehaviorTest.cs index c665648958..119efce8ed 100644 --- a/Remotion/Data/DomainObjects.UnitTests/IntegrationTests/Queries/CustomQueryDatabaseBehaviorTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/IntegrationTests/Queries/CustomQueryDatabaseBehaviorTest.cs @@ -41,7 +41,7 @@ public override void SetUp () .Setup(stub => stub.CreatePersistenceExtensions(It.Is(value => value == TestableClientTransaction.ID))) .Returns(new[] { _persistenceExtensionMock.Object }); - var locator = DefaultServiceLocator.Create(); + var locator = DefaultServiceLocator.CreateWithBootstrappedServices(); locator.RegisterSingle(() => persistenceExtensionFactoryStub.Object); RegisterStandardConfiguration(locator); _serviceLocatorScope = new ServiceLocatorScope(locator); diff --git a/Remotion/Data/DomainObjects.UnitTests/IntegrationTests/ServiceLocation/ParticipantRegistrationTest.cs b/Remotion/Data/DomainObjects.UnitTests/IntegrationTests/ServiceLocation/ParticipantRegistrationTest.cs index 0df896b4c0..b87642d141 100644 --- a/Remotion/Data/DomainObjects.UnitTests/IntegrationTests/ServiceLocation/ParticipantRegistrationTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/IntegrationTests/ServiceLocation/ParticipantRegistrationTest.cs @@ -15,6 +15,7 @@ // along with re-motion; if not, see http://www.gnu.org/licenses. // using System; +using System.ComponentModel.Design; using System.Linq; using NUnit.Framework; using Remotion.Data.DomainObjects.Infrastructure.TypePipe; @@ -27,27 +28,34 @@ namespace Remotion.Data.DomainObjects.UnitTests.IntegrationTests.ServiceLocation [TestFixture] public class ParticipantRegistrationTest { + private DefaultServiceLocator _serviceLocator; + + [SetUp] + public void SetUp () + { + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); + } + [Test] public void DefaultServiceLocator_ReturnsDomainObjectParticipant () { - var serviceLocator = DefaultServiceLocator.Create(); - var participants = serviceLocator.GetAllInstances().ToArray(); + var participants = _serviceLocator.GetAllInstances().ToArray(); Assert.That(participants.Select(p => p.GetType()), Has.Member(typeof(DomainObjectParticipant))); } [Test] public void DefaultServiceLocator_OrdersDomainObjectParticipantAfterMixinParticipant () { - var serviceLocator = DefaultServiceLocator.Create(); - var participants = serviceLocator.GetAllInstances().ToArray(); + var participants = _serviceLocator.GetAllInstances().ToArray(); Assert.That(participants.Select(p => p.GetType()), Is.EqualTo(new[] { typeof(MixinParticipant), typeof(DomainObjectParticipant) })); } [Test] public void DefaultServiceConfigurationDiscoveryService_ReturnsDomainObjectParticipant () { - var discoveryService = DefaultServiceConfigurationDiscoveryService.Create(); - var services = discoveryService.GetDefaultConfiguration(); + var typeDiscoveryService = _serviceLocator.GetInstance(); + var defaultServiceConfigurationDiscoveryService = new DefaultServiceConfigurationDiscoveryService(typeDiscoveryService); + var services = defaultServiceConfigurationDiscoveryService.GetDefaultConfiguration(); var participantService = services.SingleOrDefault(s => s.ServiceType == typeof(IParticipant)); Assert.That(participantService, Is.Not.Null); @@ -55,10 +63,11 @@ public void DefaultServiceConfigurationDiscoveryService_ReturnsDomainObjectParti } [Test] - public void DefaultServiceConfigurationDiscoveryService_ReturnsMixinParticpant () + public void DefaultServiceConfigurationDiscoveryService_ReturnsMixinParticipant () { - var discoveryService = DefaultServiceConfigurationDiscoveryService.Create(); - var services = discoveryService.GetDefaultConfiguration(); + var typeDiscoveryService = _serviceLocator.GetInstance(); + var defaultServiceConfigurationDiscoveryService = new DefaultServiceConfigurationDiscoveryService(typeDiscoveryService); + var services = defaultServiceConfigurationDiscoveryService.GetDefaultConfiguration(); var participantService = services.SingleOrDefault(s => s.ServiceType == typeof(IParticipant)); Assert.That(participantService, Is.Not.Null); diff --git a/Remotion/Data/DomainObjects.UnitTests/Mapping/IClassIDProviderTest.cs b/Remotion/Data/DomainObjects.UnitTests/Mapping/IClassIDProviderTest.cs index 6f50ca26a2..35c9f5e17c 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Mapping/IClassIDProviderTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Mapping/IClassIDProviderTest.cs @@ -28,7 +28,7 @@ public class IClassIDProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.UnitTests/Mapping/IMappingConfigurationTest.cs b/Remotion/Data/DomainObjects.UnitTests/Mapping/IMappingConfigurationTest.cs index a44bfd595b..89348cf92e 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Mapping/IMappingConfigurationTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Mapping/IMappingConfigurationTest.cs @@ -16,7 +16,7 @@ public class IMappingConfigurationTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); _serviceLocator.RegisterSingle(() => Mock.Of()); _serviceLocator.RegisterSingle(() => Mock.Of()); } diff --git a/Remotion/Data/DomainObjects.UnitTests/Mapping/IMappingLoaderTest.cs b/Remotion/Data/DomainObjects.UnitTests/Mapping/IMappingLoaderTest.cs index dc24da6a22..065af22e95 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Mapping/IMappingLoaderTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Mapping/IMappingLoaderTest.cs @@ -13,7 +13,7 @@ public class IMappingLoaderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.UnitTests/Mapping/IPersistenceModelLoader.cs b/Remotion/Data/DomainObjects.UnitTests/Mapping/IPersistenceModelLoader.cs index d01f755b33..63c07160f6 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Mapping/IPersistenceModelLoader.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Mapping/IPersistenceModelLoader.cs @@ -31,7 +31,7 @@ public class IPersistenceModelLoaderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); _serviceLocator.RegisterSingle(() => Mock.Of()); } diff --git a/Remotion/Data/DomainObjects.UnitTests/Mapping/IPropertyDefaultValueProviderTest.cs b/Remotion/Data/DomainObjects.UnitTests/Mapping/IPropertyDefaultValueProviderTest.cs index fd0c97dcf4..38d024da28 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Mapping/IPropertyDefaultValueProviderTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Mapping/IPropertyDefaultValueProviderTest.cs @@ -12,7 +12,7 @@ public class IPropertyDefaultValueProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.UnitTests/Mapping/IPropertyMetadataProviderTest.cs b/Remotion/Data/DomainObjects.UnitTests/Mapping/IPropertyMetadataProviderTest.cs index 3697682c17..15b2751268 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Mapping/IPropertyMetadataProviderTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Mapping/IPropertyMetadataProviderTest.cs @@ -28,7 +28,7 @@ public class IPropertyMetadataProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.UnitTests/Mapping/ISortExpressionProviderTest.cs b/Remotion/Data/DomainObjects.UnitTests/Mapping/ISortExpressionProviderTest.cs index 3174bad47f..f4b43febd5 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Mapping/ISortExpressionProviderTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Mapping/ISortExpressionProviderTest.cs @@ -13,7 +13,7 @@ public class ISortExpressionProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.UnitTests/Mapping/MappingReflectorTest.cs b/Remotion/Data/DomainObjects.UnitTests/Mapping/MappingReflectorTest.cs index 2216ae8643..fa01655b67 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Mapping/MappingReflectorTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Mapping/MappingReflectorTest.cs @@ -15,6 +15,7 @@ // along with re-motion; if not, see http://www.gnu.org/licenses. // using System; +using System.ComponentModel.Design; using System.Linq; using NUnit.Framework; using Remotion.Data.DomainObjects.ConfigurationLoader; @@ -43,25 +44,11 @@ public class MappingReflectorTest : MappingReflectionTestBase _mappingReflector = MappingReflectorObjectMother.CreateMappingReflector(TestMappingConfiguration.GetTypeDiscoveryService()); } - [Test] - public void Initialization_DefaultTypeDiscoveryService () - { - var reflector = new MappingReflector( - SafeServiceLocator.Current.GetInstance(), - SafeServiceLocator.Current.GetInstance(), - SafeServiceLocator.Current.GetInstance(), - SafeServiceLocator.Current.GetInstance(), - SafeServiceLocator.Current.GetInstance(), - SafeServiceLocator.Current.GetInstance(), - SafeServiceLocator.Current.GetInstance()); - - Assert.That(reflector.TypeDiscoveryService, Is.SameAs(ContextAwareTypeUtility.GetTypeDiscoveryService())); - } - [Test] public void Initialization_MappingObjectFactory_InstanceCreator () { var reflector = new MappingReflector( + SafeServiceLocator.Current.GetInstance(), SafeServiceLocator.Current.GetInstance(), SafeServiceLocator.Current.GetInstance(), SafeServiceLocator.Current.GetInstance(), diff --git a/Remotion/Data/DomainObjects.UnitTests/Persistence/Configuration/IStorageObjectFactoryFactoryTest.cs b/Remotion/Data/DomainObjects.UnitTests/Persistence/Configuration/IStorageObjectFactoryFactoryTest.cs index 9f41c20714..7fa3e3f84e 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Persistence/Configuration/IStorageObjectFactoryFactoryTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Persistence/Configuration/IStorageObjectFactoryFactoryTest.cs @@ -28,7 +28,7 @@ public class IStorageObjectFactoryFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.UnitTests/Persistence/Configuration/IStorageSettingsFactoryResolverTest.cs b/Remotion/Data/DomainObjects.UnitTests/Persistence/Configuration/IStorageSettingsFactoryResolverTest.cs index 2d6c1c657e..e8066d8c21 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Persistence/Configuration/IStorageSettingsFactoryResolverTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Persistence/Configuration/IStorageSettingsFactoryResolverTest.cs @@ -28,7 +28,7 @@ public class IStorageSettingsFactoryResolverTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.UnitTests/Persistence/Configuration/IStorageSettingsFactoryTest.cs b/Remotion/Data/DomainObjects.UnitTests/Persistence/Configuration/IStorageSettingsFactoryTest.cs index 621f47d5db..f758a8d82c 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Persistence/Configuration/IStorageSettingsFactoryTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Persistence/Configuration/IStorageSettingsFactoryTest.cs @@ -27,7 +27,7 @@ public class IStorageSettingsFactoryTest [Test] public void GetInstance_ThrowsNoInstanceRegistered () { - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); Assert.That( () => serviceLocator.GetInstance(), diff --git a/Remotion/Data/DomainObjects.UnitTests/Persistence/Configuration/IStorageSettingsTest.cs b/Remotion/Data/DomainObjects.UnitTests/Persistence/Configuration/IStorageSettingsTest.cs index 6a255f92c1..fd43aee1a9 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Persistence/Configuration/IStorageSettingsTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Persistence/Configuration/IStorageSettingsTest.cs @@ -29,7 +29,7 @@ public class IStorageSettingsTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); _serviceLocator.RegisterSingle(() => Mock.Of()); } diff --git a/Remotion/Data/DomainObjects.UnitTests/Persistence/Configuration/StorageObjectFactoryFactoryTest.cs b/Remotion/Data/DomainObjects.UnitTests/Persistence/Configuration/StorageObjectFactoryFactoryTest.cs index 1b512c9c51..3e81c12ce4 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Persistence/Configuration/StorageObjectFactoryFactoryTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Persistence/Configuration/StorageObjectFactoryFactoryTest.cs @@ -81,7 +81,7 @@ public IDomainObjectQueryGenerator CreateDomainObjectQueryGenerator ( [Test] public void Create_WithoutIoCRegistration_CreatesObject () { - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); var storageObjectFactoryFactory = new StorageObjectFactoryFactory(); Assert.That(((IServiceProvider)serviceLocator).GetService(typeof(UnitTestStorageObjectFactoryStub)), Is.Null); @@ -97,7 +97,7 @@ public void Create_WithoutIoCRegistration_CreatesObject () [Test] public void Create_WithIoCRegistration_GetsFromIoC () { - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); var storageObjectFactoryFactory = new StorageObjectFactoryFactory(); var resultFromServiceLocator = ((IServiceProvider)serviceLocator).GetService(typeof(SqlStorageObjectFactory)); diff --git a/Remotion/Data/DomainObjects.UnitTests/Persistence/Configuration/StorageSettingsFactoryResolverTest.cs b/Remotion/Data/DomainObjects.UnitTests/Persistence/Configuration/StorageSettingsFactoryResolverTest.cs index 0cb4ce27c3..9fced7bae5 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Persistence/Configuration/StorageSettingsFactoryResolverTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Persistence/Configuration/StorageSettingsFactoryResolverTest.cs @@ -32,7 +32,7 @@ public void Resolve_ReturnsValueFromServiceLocator () var storageSettingsFactoryStub = Mock.Of(); - var defaultServiceLocator = DefaultServiceLocator.Create(); + var defaultServiceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); defaultServiceLocator.RegisterSingle(() => storageSettingsFactoryStub); using (new ServiceLocatorScope(defaultServiceLocator)) @@ -47,7 +47,7 @@ public void Resolve_ReturnsValueFromServiceLocator () public void Resolve_Throws () { var storageSettingsFactoryResolver = new StorageSettingsFactoryResolver(); - var defaultServiceLocator = DefaultServiceLocator.Create(); + var defaultServiceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); using (new ServiceLocatorScope(defaultServiceLocator)) { diff --git a/Remotion/Data/DomainObjects.UnitTests/Persistence/IPersistenceModelTest.cs b/Remotion/Data/DomainObjects.UnitTests/Persistence/IPersistenceModelTest.cs index 5fe47fc208..b21abed89f 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Persistence/IPersistenceModelTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Persistence/IPersistenceModelTest.cs @@ -29,7 +29,7 @@ public class IPersistenceModelTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.UnitTests/Persistence/Rdbms/SqlServer/IntegrationTests/CustomStorageObjectFactoryTestBase.cs b/Remotion/Data/DomainObjects.UnitTests/Persistence/Rdbms/SqlServer/IntegrationTests/CustomStorageObjectFactoryTestBase.cs index a879fc385e..1c6cd8abeb 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Persistence/Rdbms/SqlServer/IntegrationTests/CustomStorageObjectFactoryTestBase.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Persistence/Rdbms/SqlServer/IntegrationTests/CustomStorageObjectFactoryTestBase.cs @@ -54,12 +54,12 @@ public override void SetUp () _storageProviderDefinition = (RdbmsProviderDefinition)storageSettings.GetDefaultStorageProviderDefinition(); _storageObjectFactory = (SqlStorageObjectFactory)_storageProviderDefinition.Factory; - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => storageSettings); SetupServiceLocator(serviceLocator); _serviceLocatorScope = new ServiceLocatorScope(serviceLocator); - var mappingLoader = MappingReflector.Create( + var mappingLoader = new MappingReflector( new FixedTypeDiscoveryService(GetReflectedTypes()), new ClassIDProvider(), new ReflectionBasedMemberInformationNameResolver(), diff --git a/Remotion/Data/DomainObjects.UnitTests/Queries/Configuration/IQueryDefinitionRepositoryTest.cs b/Remotion/Data/DomainObjects.UnitTests/Queries/Configuration/IQueryDefinitionRepositoryTest.cs index 22c1567d25..0d411efc00 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Queries/Configuration/IQueryDefinitionRepositoryTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Queries/Configuration/IQueryDefinitionRepositoryTest.cs @@ -31,7 +31,7 @@ public override void SetUp () { base.SetUp(); - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.UnitTests/Queries/Configuration/Loader/IQueryDefinitionLoaderTest.cs b/Remotion/Data/DomainObjects.UnitTests/Queries/Configuration/Loader/IQueryDefinitionLoaderTest.cs index 602f7762aa..1c2fd5d137 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Queries/Configuration/Loader/IQueryDefinitionLoaderTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Queries/Configuration/Loader/IQueryDefinitionLoaderTest.cs @@ -29,7 +29,7 @@ public class IQueryDefinitionLoaderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.UnitTests/Queries/Configuration/Loader/IQueryFileFinderTest.cs b/Remotion/Data/DomainObjects.UnitTests/Queries/Configuration/Loader/IQueryFileFinderTest.cs index 935a6497d0..23854c00cb 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Queries/Configuration/Loader/IQueryFileFinderTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Queries/Configuration/Loader/IQueryFileFinderTest.cs @@ -29,7 +29,7 @@ public class IQueryFileFinderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.UnitTests/Queries/QueryFactoryTest.cs b/Remotion/Data/DomainObjects.UnitTests/Queries/QueryFactoryTest.cs index 8edaabaf8c..c70bc5d734 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Queries/QueryFactoryTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Queries/QueryFactoryTest.cs @@ -74,7 +74,7 @@ public void CreateQueryFromConfiguration_FromID () { var definition = Queries.GetMandatory("QueryWithoutParameter"); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => Queries); RegisterStandardConfiguration(serviceLocator); using var scope = new ServiceLocatorScope(serviceLocator); @@ -94,7 +94,7 @@ public void CreateQueryFromConfiguration_FromID_WithParameterCollection () var definition = Queries.GetMandatory("QueryWithoutParameter"); var parameterCollection = new QueryParameterCollection(); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => Queries); RegisterStandardConfiguration(serviceLocator); using var scope = new ServiceLocatorScope(serviceLocator); @@ -271,7 +271,7 @@ public void CreateQuery_FromLinqQuery_InvalidQueryable () public void CreateLinqQuery_WithParserAndExecutor () { var factoryMock = new Mock(MockBehavior.Strict); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => factoryMock.Object); RegisterStandardConfiguration(serviceLocator); using (new ServiceLocatorScope(serviceLocator)) @@ -296,7 +296,7 @@ public void CreateLinqQuery_WithParserAndExecutor () public void CreateLinqQuery_WithoutParserAndExecutor () { var factoryMock = new Mock(MockBehavior.Strict); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => factoryMock.Object); RegisterStandardConfiguration(serviceLocator); diff --git a/Remotion/Data/DomainObjects.UnitTests/Serialization/QueriesTest.cs b/Remotion/Data/DomainObjects.UnitTests/Serialization/QueriesTest.cs index bd87b6f802..abd42258a2 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Serialization/QueriesTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Serialization/QueriesTest.cs @@ -72,7 +72,7 @@ public void Deserialize_WithQueryDefinitionFromRepo_ReturnsSameInstance () { var queryDefinitionRepository = Queries; - DefaultServiceLocator defaultServiceLocator = DefaultServiceLocator.Create(); + DefaultServiceLocator defaultServiceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); defaultServiceLocator.RegisterSingle(() => queryDefinitionRepository); RegisterStandardConfiguration(defaultServiceLocator); using var scope = new ServiceLocatorScope(defaultServiceLocator); @@ -90,7 +90,7 @@ public void Deserialize_WithQueryDefinitionNoLongerInRepo_ThrowsException () QueryDefinition unknownQueryDefinition = new QueryDefinition("UnknownQuery", TestDomainStorageProviderDefinition, "select 42", QueryType.ScalarReadOnly); QueryDefinitionRepository queryDefinitionRepository = new QueryDefinitionRepository(new[] { unknownQueryDefinition }); - DefaultServiceLocator defaultServiceLocator = DefaultServiceLocator.Create(); + DefaultServiceLocator defaultServiceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); defaultServiceLocator.RegisterSingle(() => queryDefinitionRepository); RegisterStandardConfiguration(defaultServiceLocator); @@ -114,7 +114,7 @@ public void DeserializeList_WithQueryDefinitionsFromRepo_ReturnsSameInstances () { var queryDefinitionRepository = Queries; - DefaultServiceLocator defaultServiceLocator = DefaultServiceLocator.Create(); + DefaultServiceLocator defaultServiceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); defaultServiceLocator.RegisterSingle(() => queryDefinitionRepository); RegisterStandardConfiguration(defaultServiceLocator); using var scope = new ServiceLocatorScope(defaultServiceLocator); @@ -134,7 +134,7 @@ public void Query () { var queryDefinitionRepository = Queries; - DefaultServiceLocator defaultServiceLocator = DefaultServiceLocator.Create(); + DefaultServiceLocator defaultServiceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); defaultServiceLocator.RegisterSingle(() => queryDefinitionRepository); RegisterStandardConfiguration(defaultServiceLocator); using var scope = new ServiceLocatorScope(defaultServiceLocator); diff --git a/Remotion/Data/DomainObjects.UnitTests/SetupFixture.cs b/Remotion/Data/DomainObjects.UnitTests/SetupFixture.cs index 3b3154b868..f145e3fed1 100644 --- a/Remotion/Data/DomainObjects.UnitTests/SetupFixture.cs +++ b/Remotion/Data/DomainObjects.UnitTests/SetupFixture.cs @@ -34,7 +34,7 @@ public void OneTimeSetUp () { StandardConfiguration.EnsureInitialized(); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); StandardConfiguration.Instance.Register(serviceLocator); _serviceLocatorScope = new ServiceLocatorScope(serviceLocator); diff --git a/Remotion/Data/DomainObjects.UnitTests/Tracing/IPersistenceExtensionFactoryTest.cs b/Remotion/Data/DomainObjects.UnitTests/Tracing/IPersistenceExtensionFactoryTest.cs index 22bf03f9f0..5e670e732f 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Tracing/IPersistenceExtensionFactoryTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Tracing/IPersistenceExtensionFactoryTest.cs @@ -29,7 +29,7 @@ public class IPersistenceExtensionFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.UnitTests/Validation/IClientTransactionExtensionFactoryTest.cs b/Remotion/Data/DomainObjects.UnitTests/Validation/IClientTransactionExtensionFactoryTest.cs index d074d361f3..d869a3b9e6 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Validation/IClientTransactionExtensionFactoryTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Validation/IClientTransactionExtensionFactoryTest.cs @@ -31,7 +31,7 @@ public class IClientTransactionExtensionFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.UnitTests/Validation/IDataContainerValidatorTest.cs b/Remotion/Data/DomainObjects.UnitTests/Validation/IDataContainerValidatorTest.cs index 745ffe7b86..e5fec61db1 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Validation/IDataContainerValidatorTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Validation/IDataContainerValidatorTest.cs @@ -30,7 +30,7 @@ public class IDataContainerValidatorTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.UnitTests/Validation/IPersistableDataValidatorTest.cs b/Remotion/Data/DomainObjects.UnitTests/Validation/IPersistableDataValidatorTest.cs index b3c7734ac4..21291d47b4 100644 --- a/Remotion/Data/DomainObjects.UnitTests/Validation/IPersistableDataValidatorTest.cs +++ b/Remotion/Data/DomainObjects.UnitTests/Validation/IPersistableDataValidatorTest.cs @@ -30,7 +30,7 @@ public class IPersistableDataValidatorTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.Validation.IntegrationTests/IntegrationTestBase.cs b/Remotion/Data/DomainObjects.Validation.IntegrationTests/IntegrationTestBase.cs index 6f476b2f36..0996b4794e 100644 --- a/Remotion/Data/DomainObjects.Validation.IntegrationTests/IntegrationTestBase.cs +++ b/Remotion/Data/DomainObjects.Validation.IntegrationTests/IntegrationTestBase.cs @@ -42,7 +42,7 @@ public virtual void SetUp () { var storageSettings = SafeServiceLocator.Current.GetInstance(); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle( () => new ValidationClientTransactionExtensionFactory(serviceLocator.GetInstance())); serviceLocator.RegisterSingle(() => storageSettings); diff --git a/Remotion/Data/DomainObjects.Validation.IntegrationTests/SetupFixture.cs b/Remotion/Data/DomainObjects.Validation.IntegrationTests/SetupFixture.cs index afdc132828..ad807be0b4 100644 --- a/Remotion/Data/DomainObjects.Validation.IntegrationTests/SetupFixture.cs +++ b/Remotion/Data/DomainObjects.Validation.IntegrationTests/SetupFixture.cs @@ -41,7 +41,7 @@ public void OneTimeSetUp () var storageSettings = new StorageSettings(storageProviderDefinition, new[] { storageProviderDefinition }); - var defaultServiceLocator = DefaultServiceLocator.Create(); + var defaultServiceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); defaultServiceLocator.RegisterSingle(() => storageSettings); ServiceLocator.SetLocatorProvider(() => defaultServiceLocator); diff --git a/Remotion/Data/DomainObjects.Validation.UnitTests/IClientTransactionExtensionFactoryTest.cs b/Remotion/Data/DomainObjects.Validation.UnitTests/IClientTransactionExtensionFactoryTest.cs index d951cd9f93..bc6e9f9f52 100644 --- a/Remotion/Data/DomainObjects.Validation.UnitTests/IClientTransactionExtensionFactoryTest.cs +++ b/Remotion/Data/DomainObjects.Validation.UnitTests/IClientTransactionExtensionFactoryTest.cs @@ -30,7 +30,7 @@ public class IClientTransactionExtensionFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.Validation.UnitTests/IValidationRuleCollectorProviderTest.cs b/Remotion/Data/DomainObjects.Validation.UnitTests/IValidationRuleCollectorProviderTest.cs index f92fedd037..141794295d 100644 --- a/Remotion/Data/DomainObjects.Validation.UnitTests/IValidationRuleCollectorProviderTest.cs +++ b/Remotion/Data/DomainObjects.Validation.UnitTests/IValidationRuleCollectorProviderTest.cs @@ -31,7 +31,7 @@ public class IValidationRuleCollectorProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Data/DomainObjects.Validation.UnitTests/SetupFixture.cs b/Remotion/Data/DomainObjects.Validation.UnitTests/SetupFixture.cs index 58596e9388..a5da1da606 100644 --- a/Remotion/Data/DomainObjects.Validation.UnitTests/SetupFixture.cs +++ b/Remotion/Data/DomainObjects.Validation.UnitTests/SetupFixture.cs @@ -41,7 +41,7 @@ public void OneTimeSetUp () var storageSettings = new StorageSettings(storageProviderDefinition, new[] { storageProviderDefinition }); - var defaultServiceLocator = DefaultServiceLocator.Create(); + var defaultServiceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); defaultServiceLocator.RegisterSingle(() => storageSettings); ServiceLocator.SetLocatorProvider(() => defaultServiceLocator); diff --git a/Remotion/Data/DomainObjects.Web.IntegrationTests/SetUpFixture.cs b/Remotion/Data/DomainObjects.Web.IntegrationTests/SetUpFixture.cs index 2a9ffd47e1..effd7a1522 100644 --- a/Remotion/Data/DomainObjects.Web.IntegrationTests/SetUpFixture.cs +++ b/Remotion/Data/DomainObjects.Web.IntegrationTests/SetUpFixture.cs @@ -57,7 +57,7 @@ public void OneTimeSetUp () { var storageSettingsFactory = StorageSettingsFactory.CreateForSqlServer(TestDomainConnectionString); - var defaultServiceLocator = DefaultServiceLocator.Create(); + var defaultServiceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); defaultServiceLocator.RegisterSingle(() => storageSettingsFactory); ServiceLocator.SetLocatorProvider(() => defaultServiceLocator); diff --git a/Remotion/Data/DomainObjects.Web.IntegrationTests/WxeTransactedFunctionIntegrationTests/SecuredFunctionTestBase.cs b/Remotion/Data/DomainObjects.Web.IntegrationTests/WxeTransactedFunctionIntegrationTests/SecuredFunctionTestBase.cs index 36306411d9..cc9e5ea6fc 100644 --- a/Remotion/Data/DomainObjects.Web.IntegrationTests/WxeTransactedFunctionIntegrationTests/SecuredFunctionTestBase.cs +++ b/Remotion/Data/DomainObjects.Web.IntegrationTests/WxeTransactedFunctionIntegrationTests/SecuredFunctionTestBase.cs @@ -56,7 +56,7 @@ public override void SetUp () var storageSettings = SafeServiceLocator.Current.GetInstance(); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => _securityProviderStub.Object); serviceLocator.RegisterSingle(() => principalProviderStub.Object); serviceLocator.RegisterSingle(() => _functionalSecurityStrategyStub.Object); diff --git a/Remotion/Data/DomainObjects.Web.Test/Global.asax.cs b/Remotion/Data/DomainObjects.Web.Test/Global.asax.cs index ce224533f7..b0bd67cb1f 100644 --- a/Remotion/Data/DomainObjects.Web.Test/Global.asax.cs +++ b/Remotion/Data/DomainObjects.Web.Test/Global.asax.cs @@ -65,7 +65,7 @@ protected void Application_Start (Object sender, EventArgs e) FileExtensionHandlerMapping.Default); _resourceVirtualPathProvider.Register(); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); var storageSettingsFactory = StorageSettingsFactory.CreateForSqlServer("Integrated Security=SSPI;Initial Catalog=RpaTest;Data Source=localhost"); serviceLocator.RegisterSingle(() => storageSettingsFactory); diff --git a/Remotion/Data/DomainObjects/ConfigurationLoader/ReflectionBasedConfigurationLoader/MappingReflector.cs b/Remotion/Data/DomainObjects/ConfigurationLoader/ReflectionBasedConfigurationLoader/MappingReflector.cs index 832a671842..6f25ad5447 100644 --- a/Remotion/Data/DomainObjects/ConfigurationLoader/ReflectionBasedConfigurationLoader/MappingReflector.cs +++ b/Remotion/Data/DomainObjects/ConfigurationLoader/ReflectionBasedConfigurationLoader/MappingReflector.cs @@ -33,36 +33,6 @@ namespace Remotion.Data.DomainObjects.ConfigurationLoader.ReflectionBasedConfigu [ImplementationFor(typeof(IMappingLoader), Lifetime = LifetimeKind.Singleton)] public class MappingReflector : IMappingLoader { - public static MappingReflector Create ( - ITypeDiscoveryService typeDiscoveryService, - IClassIDProvider classIDProvider, - IMemberInformationNameResolver nameResolver, - IPropertyMetadataProvider propertyMetadataProvider, - IDomainModelConstraintProvider domainModelConstraintProvider, - IPropertyDefaultValueProvider propertyDefaultValueProvider, - ISortExpressionDefinitionProvider sortExpressionDefinitionProvider, - IDomainObjectCreator domainObjectCreator) - { - ArgumentUtility.CheckNotNull("typeDiscoveryService", typeDiscoveryService); - ArgumentUtility.CheckNotNull("classIDProvider", classIDProvider); - ArgumentUtility.CheckNotNull("propertyMetadataProvider", propertyMetadataProvider); - ArgumentUtility.CheckNotNull("domainModelConstraintProvider", domainModelConstraintProvider); - ArgumentUtility.CheckNotNull("propertyDefaultValueProvider", propertyDefaultValueProvider); - ArgumentUtility.CheckNotNull("sortExpressionDefinitionProvider", sortExpressionDefinitionProvider); - ArgumentUtility.CheckNotNull("nameResolver", nameResolver); - ArgumentUtility.CheckNotNull("domainObjectCreator", domainObjectCreator); - - return new MappingReflector( - typeDiscoveryService, - classIDProvider, - nameResolver, - propertyMetadataProvider, - domainModelConstraintProvider, - propertyDefaultValueProvider, - sortExpressionDefinitionProvider, - domainObjectCreator); - } - private static readonly ILog s_log = LogManager.GetLogger(typeof(MappingReflector)); private readonly IMemberInformationNameResolver _nameResolver; private readonly IMappingObjectFactory _mappingObjectFactory; @@ -74,26 +44,6 @@ public static MappingReflector Create ( private readonly IPropertyDefaultValueProvider _propertyDefaultValueProvider; public MappingReflector ( - IClassIDProvider classIDProvider, - IMemberInformationNameResolver nameResolver, - IPropertyMetadataProvider propertyMetadataProvider, - IDomainModelConstraintProvider domainModelConstraintProvider, - IPropertyDefaultValueProvider propertyDefaultValueProvider, - ISortExpressionDefinitionProvider sortExpressionDefinitionProvider, - IDomainObjectCreator domainObjectCreator) - : this( - ContextAwareTypeUtility.GetTypeDiscoveryService(), - classIDProvider, - nameResolver, - propertyMetadataProvider, - domainModelConstraintProvider, - propertyDefaultValueProvider, - sortExpressionDefinitionProvider, - domainObjectCreator) - { - } - - private MappingReflector ( ITypeDiscoveryService typeDiscoveryService, IClassIDProvider classIDProvider, IMemberInformationNameResolver nameResolver, diff --git a/Remotion/Development/Core/UnitTesting/ServiceLocatorScope.cs b/Remotion/Development/Core/UnitTesting/ServiceLocatorScope.cs index 04706f4cb7..4cf550c9c2 100644 --- a/Remotion/Development/Core/UnitTesting/ServiceLocatorScope.cs +++ b/Remotion/Development/Core/UnitTesting/ServiceLocatorScope.cs @@ -27,16 +27,6 @@ namespace Remotion.Development.UnitTesting ///
public class ServiceLocatorScope : IDisposable { - private static DefaultServiceLocator CreateServiceLocator (IEnumerable configuration) - { - ArgumentUtility.CheckNotNull("configuration", configuration); - - var defaultServiceLocator = DefaultServiceLocator.Create(); - foreach (var stubbedRegistration in configuration) - defaultServiceLocator.Register(stubbedRegistration); - return defaultServiceLocator; - } - private readonly ServiceLocatorProvider? _previousLocatorProvider; public ServiceLocatorScope (IServiceLocator temporaryServiceLocator) @@ -54,11 +44,6 @@ public ServiceLocatorScope (IServiceLocator temporaryServiceLocator) ServiceLocator.SetLocatorProvider(() => temporaryServiceLocator); } - public ServiceLocatorScope (params ServiceConfigurationEntry[] temporaryConfiguration) - : this(CreateServiceLocator(temporaryConfiguration)) - { - } - public void Dispose () { ServiceLocator.SetLocatorProvider(_previousLocatorProvider); diff --git a/Remotion/Development/UnitTests/Core/UnitTesting/ServiceLocatorScopeTest.cs b/Remotion/Development/UnitTests/Core/UnitTesting/ServiceLocatorScopeTest.cs index 28425afe4d..d47e3e5d47 100644 --- a/Remotion/Development/UnitTests/Core/UnitTesting/ServiceLocatorScopeTest.cs +++ b/Remotion/Development/UnitTests/Core/UnitTesting/ServiceLocatorScopeTest.cs @@ -98,28 +98,6 @@ public void Initialization_AndDispose_ServiceLocator_SetNull () Assert.That(ServiceLocator.Current, Is.SameAs(_locator1)); } - [Test] - public void Initialization_AndDispose_ServiceLocator_ServiceConfigurationEntries () - { - ServiceLocator.SetLocatorProvider(() => _locator1); - Assert.That(ServiceLocator.Current, Is.SameAs(_locator1)); - - var entry1 = new ServiceConfigurationEntry(typeof(object), new ServiceImplementationInfo(typeof(DomainType1), LifetimeKind.InstancePerDependency)); - var entry2 = new ServiceConfigurationEntry(typeof(IFormattable), new ServiceImplementationInfo(typeof(DomainType2), LifetimeKind.Singleton)); - - using (new ServiceLocatorScope(entry1, entry2)) - { - Assert.That(ServiceLocator.Current, Is.Not.SameAs(_locator1)); - Assert.That(ServiceLocator.Current, Is.TypeOf()); - Assert.That(ServiceLocator.Current.GetInstance(typeof(object)), Is.TypeOf()); - Assert.That(ServiceLocator.Current.GetInstance(typeof(object)), Is.Not.SameAs(ServiceLocator.Current.GetInstance(typeof(object)))); - Assert.That(ServiceLocator.Current.GetInstance(typeof(IFormattable)), Is.TypeOf()); - Assert.That(ServiceLocator.Current.GetInstance(typeof(IFormattable)), Is.SameAs(ServiceLocator.Current.GetInstance(typeof(IFormattable)))); - } - - Assert.That(ServiceLocator.Current, Is.SameAs(_locator1)); - } - class DomainType1 { } class DomainType2 : IFormattable { public string ToString (string format, IFormatProvider formatProvider) diff --git a/Remotion/Development/UnitTests/Data/UnitTesting/DomainObjects/SetUpFixture.cs b/Remotion/Development/UnitTests/Data/UnitTesting/DomainObjects/SetUpFixture.cs index f5bc8d3e04..334a59c5d8 100644 --- a/Remotion/Development/UnitTests/Data/UnitTesting/DomainObjects/SetUpFixture.cs +++ b/Remotion/Development/UnitTests/Data/UnitTesting/DomainObjects/SetUpFixture.cs @@ -46,7 +46,7 @@ public void OneTimeSetUp () MappingConfiguration.SetCurrent( MappingConfiguration.Create( - MappingReflector.Create( + new MappingReflector( typeDiscoveryService, new ClassIDProvider(), new ReflectionBasedMemberInformationNameResolver(), diff --git a/Remotion/Globalization/ExtensibleEnums.UnitTests/IExtensibleEnumGlobalizationServiceTest.cs b/Remotion/Globalization/ExtensibleEnums.UnitTests/IExtensibleEnumGlobalizationServiceTest.cs index 33d88a554a..e8adfbe7fa 100644 --- a/Remotion/Globalization/ExtensibleEnums.UnitTests/IExtensibleEnumGlobalizationServiceTest.cs +++ b/Remotion/Globalization/ExtensibleEnums.UnitTests/IExtensibleEnumGlobalizationServiceTest.cs @@ -30,7 +30,7 @@ public class IExtensibleEnumGlobalizationServiceTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Globalization/Mixins.UnitTests/IGlobalizationServiceTest.cs b/Remotion/Globalization/Mixins.UnitTests/IGlobalizationServiceTest.cs index 68d8dcc6de..68ba8ad78a 100644 --- a/Remotion/Globalization/Mixins.UnitTests/IGlobalizationServiceTest.cs +++ b/Remotion/Globalization/Mixins.UnitTests/IGlobalizationServiceTest.cs @@ -30,7 +30,7 @@ public class IGlobalizationServiceTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Globalization/UnitTests/IEnumerationGlobalizationServiceTest.cs b/Remotion/Globalization/UnitTests/IEnumerationGlobalizationServiceTest.cs index 21172f6615..60e5c23025 100644 --- a/Remotion/Globalization/UnitTests/IEnumerationGlobalizationServiceTest.cs +++ b/Remotion/Globalization/UnitTests/IEnumerationGlobalizationServiceTest.cs @@ -30,7 +30,7 @@ public class IEnumerationGlobalizationServiceTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Globalization/UnitTests/IGlobalizationServiceTest.cs b/Remotion/Globalization/UnitTests/IGlobalizationServiceTest.cs index ef2985f3c0..f35a8870da 100644 --- a/Remotion/Globalization/UnitTests/IGlobalizationServiceTest.cs +++ b/Remotion/Globalization/UnitTests/IGlobalizationServiceTest.cs @@ -29,7 +29,7 @@ public class IGlobalizationServiceTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Globalization/UnitTests/IMemberInformationGlobalizationServiceTest.cs b/Remotion/Globalization/UnitTests/IMemberInformationGlobalizationServiceTest.cs index b70ea57b2c..ad82f01b32 100644 --- a/Remotion/Globalization/UnitTests/IMemberInformationGlobalizationServiceTest.cs +++ b/Remotion/Globalization/UnitTests/IMemberInformationGlobalizationServiceTest.cs @@ -30,7 +30,7 @@ public class IMemberInformationGlobalizationServiceTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Globalization/UnitTests/Implementation/IResourceManagerFactoryTest.cs b/Remotion/Globalization/UnitTests/Implementation/IResourceManagerFactoryTest.cs index 9b6bc47389..938de13baa 100644 --- a/Remotion/Globalization/UnitTests/Implementation/IResourceManagerFactoryTest.cs +++ b/Remotion/Globalization/UnitTests/Implementation/IResourceManagerFactoryTest.cs @@ -29,7 +29,7 @@ public class IResourceManagerFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Globalization/UnitTests/Implementation/IResourceManagerResolverTest.cs b/Remotion/Globalization/UnitTests/Implementation/IResourceManagerResolverTest.cs index cb9df91209..ec783a8eb3 100644 --- a/Remotion/Globalization/UnitTests/Implementation/IResourceManagerResolverTest.cs +++ b/Remotion/Globalization/UnitTests/Implementation/IResourceManagerResolverTest.cs @@ -29,7 +29,7 @@ public class IResourceManagerResolverTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Mixins/Core/Context/DeclarativeConfigurationBuilder.cs b/Remotion/Mixins/Core/Context/DeclarativeConfigurationBuilder.cs index c00e50c2c6..64a54b12f4 100644 --- a/Remotion/Mixins/Core/Context/DeclarativeConfigurationBuilder.cs +++ b/Remotion/Mixins/Core/Context/DeclarativeConfigurationBuilder.cs @@ -25,6 +25,7 @@ using Remotion.Mixins.Context.FluentBuilders; using Remotion.Reflection; using Remotion.Reflection.TypeDiscovery.AssemblyLoading; +using Remotion.ServiceLocation; using Remotion.Utilities; namespace Remotion.Mixins.Context @@ -126,16 +127,11 @@ public static MixinConfiguration BuildConfigurationFromTypes (MixinConfiguration /// public static MixinConfiguration BuildDefaultConfiguration () { - ICollection types = GetTypeDiscoveryService().GetTypes(null, false); + var typeDiscoveryService = SafeServiceLocator.Current.GetInstance(); + ICollection types = typeDiscoveryService.GetTypes(null, false); return BuildConfigurationFromTypes(null, types.Cast()); } - // Separate method because of tests - private static ITypeDiscoveryService GetTypeDiscoveryService () - { - return ContextAwareTypeUtility.GetTypeDiscoveryService(); - } - private readonly MixinConfiguration? _parentConfiguration; private readonly HashSet _allTypes = new HashSet(); diff --git a/Remotion/Mixins/Samples/DynamicMixinBuilding/UnitTests/DynamicMixinBuilderTest.cs b/Remotion/Mixins/Samples/DynamicMixinBuilding/UnitTests/DynamicMixinBuilderTest.cs index ea88d0125e..c0790b7b66 100644 --- a/Remotion/Mixins/Samples/DynamicMixinBuilding/UnitTests/DynamicMixinBuilderTest.cs +++ b/Remotion/Mixins/Samples/DynamicMixinBuilding/UnitTests/DynamicMixinBuilderTest.cs @@ -74,7 +74,7 @@ public void SetUp () // Set new default pipeline to avoid cached types to influence each other. var pipelineRegistry = CreatePipelineRegistry(); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); // ReSharper disable once RedundantTypeArgumentsOfMethod serviceLocator.RegisterSingle(() => pipelineRegistry); _serviceLocatorScope = new ServiceLocatorScope(serviceLocator); diff --git a/Remotion/Mixins/UnitTests/Core/CodeGeneration/IObjectFactoryImplementationTest.cs b/Remotion/Mixins/UnitTests/Core/CodeGeneration/IObjectFactoryImplementationTest.cs index 7fe576bb70..cd13519c83 100644 --- a/Remotion/Mixins/UnitTests/Core/CodeGeneration/IObjectFactoryImplementationTest.cs +++ b/Remotion/Mixins/UnitTests/Core/CodeGeneration/IObjectFactoryImplementationTest.cs @@ -29,7 +29,7 @@ public class IObjectFactoryImplementationTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Mixins/UnitTests/Core/CodeGeneration/ITypeFactoryImplementationTest.cs b/Remotion/Mixins/UnitTests/Core/CodeGeneration/ITypeFactoryImplementationTest.cs index 26fb56b21a..51c0d05af6 100644 --- a/Remotion/Mixins/UnitTests/Core/CodeGeneration/ITypeFactoryImplementationTest.cs +++ b/Remotion/Mixins/UnitTests/Core/CodeGeneration/ITypeFactoryImplementationTest.cs @@ -29,7 +29,7 @@ public class ITypeFactoryImplementationTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Mixins/UnitTests/Core/CodeGeneration/IntegrationTests/MixinTypeCodeGeneration/LoadingFlushedCodeTest.cs b/Remotion/Mixins/UnitTests/Core/CodeGeneration/IntegrationTests/MixinTypeCodeGeneration/LoadingFlushedCodeTest.cs index 444047b38a..cfaf6844be 100644 --- a/Remotion/Mixins/UnitTests/Core/CodeGeneration/IntegrationTests/MixinTypeCodeGeneration/LoadingFlushedCodeTest.cs +++ b/Remotion/Mixins/UnitTests/Core/CodeGeneration/IntegrationTests/MixinTypeCodeGeneration/LoadingFlushedCodeTest.cs @@ -39,7 +39,7 @@ public override void SetUp () // Use a dedicated pipeline to ensure that this test does not interfere with other tests. _savedPipeline = CreatePipeline(); var pipelineRegistry = new DefaultPipelineRegistry(_savedPipeline); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => pipelineRegistry); _serviceLocatorScope = new ServiceLocatorScope(serviceLocator); diff --git a/Remotion/Mixins/UnitTests/Core/CodeGeneration/IntegrationTests/ServiceLocation/ParticipantRegistrationTest.cs b/Remotion/Mixins/UnitTests/Core/CodeGeneration/IntegrationTests/ServiceLocation/ParticipantRegistrationTest.cs index fe96b5c0c5..49f8100c92 100644 --- a/Remotion/Mixins/UnitTests/Core/CodeGeneration/IntegrationTests/ServiceLocation/ParticipantRegistrationTest.cs +++ b/Remotion/Mixins/UnitTests/Core/CodeGeneration/IntegrationTests/ServiceLocation/ParticipantRegistrationTest.cs @@ -15,6 +15,7 @@ // along with re-motion; if not, see http://www.gnu.org/licenses. // using System; +using System.ComponentModel.Design; using System.Linq; using NUnit.Framework; using Remotion.Mixins.CodeGeneration.TypePipe; @@ -26,19 +27,27 @@ namespace Remotion.Mixins.UnitTests.Core.CodeGeneration.IntegrationTests.Service [TestFixture] public class ParticipantRegistrationTest { + private DefaultServiceLocator _serviceLocator; + + [SetUp] + public void SetUp () + { + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); + } + [Test] public void DefaultServiceLocator_ReturnsMixinParticipant () { - var serviceLocator = DefaultServiceLocator.Create(); - var participants = serviceLocator.GetAllInstances().ToArray(); + var participants = _serviceLocator.GetAllInstances().ToArray(); Assert.That(participants.Select(p => p.GetType()), Is.EqualTo(new[] { typeof(MixinParticipant) })); } [Test] - public void DefaultServiceConfigurationDiscoveryService_ReturnsMixinParticpant () + public void DefaultServiceConfigurationDiscoveryService_ReturnsMixinParticipant () { - var discoveryService = DefaultServiceConfigurationDiscoveryService.Create(); - var participantService = discoveryService.GetDefaultConfiguration(typeof(IParticipant)); + var typeDiscoveryService = _serviceLocator.GetInstance(); + var defaultServiceConfigurationDiscoveryService = new DefaultServiceConfigurationDiscoveryService(typeDiscoveryService); + var participantService = defaultServiceConfigurationDiscoveryService.GetDefaultConfiguration(typeof(IParticipant)); Assert.That(participantService, Is.Not.Null); Assert.That(participantService.ImplementationInfos.Select(i => i.ImplementationType), Is.EqualTo(new[] { typeof(MixinParticipant) })); diff --git a/Remotion/Mixins/UnitTests/Core/CodeGeneration/SetUpFixture.cs b/Remotion/Mixins/UnitTests/Core/CodeGeneration/SetUpFixture.cs index b54748acc4..35fa0a233b 100644 --- a/Remotion/Mixins/UnitTests/Core/CodeGeneration/SetUpFixture.cs +++ b/Remotion/Mixins/UnitTests/Core/CodeGeneration/SetUpFixture.cs @@ -17,6 +17,7 @@ using System; using NUnit.Framework; using Remotion.Development.UnitTesting; +using Remotion.Development.UnitTesting.PEVerifyPathSources; using Remotion.Mixins.CodeGeneration; using Remotion.Mixins.CodeGeneration.TypePipe; using Remotion.ServiceLocation; @@ -98,7 +99,7 @@ public void OneTimeSetUp () s_pipeline = defaultPipelineFactory.Create(pipelineName, settings, participants); #endif var pipelineRegistry = new DefaultPipelineRegistry(s_pipeline); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => pipelineRegistry); s_serviceLocatorScope = new ServiceLocatorScope(serviceLocator); } @@ -117,7 +118,15 @@ public void OneTimeTearDown () } #if ENABLE_PEVERIFY - s_assemblyTrackingCodeManager.PeVerifySavedAssemblies(); + // Instead of using the TypePipe-provided version of PEVerify, we supply the latest version available in the Framework codebase + // to decouple the installed version of Windows Kit from the versions supported by TypePipe. + + // s_assemblyTrackingCodeManager.PeVerifySavedAssemblies(); + + var peVerifier = PEVerifier.CreateDefault(); + var savedAssemblies = s_assemblyTrackingCodeManager.SavedAssemblies; + foreach (var savedAssembly in savedAssemblies) + peVerifier.VerifyPEFile(savedAssembly, PEVerifyVersion.DotNet4); #endif if (!s_skipDeletion) diff --git a/Remotion/Mixins/UnitTests/Core/CodeGeneration/TypePipe/IConcreteTypeMetadataImporterTest.cs b/Remotion/Mixins/UnitTests/Core/CodeGeneration/TypePipe/IConcreteTypeMetadataImporterTest.cs index d3e29a775a..fb77414cfa 100644 --- a/Remotion/Mixins/UnitTests/Core/CodeGeneration/TypePipe/IConcreteTypeMetadataImporterTest.cs +++ b/Remotion/Mixins/UnitTests/Core/CodeGeneration/TypePipe/IConcreteTypeMetadataImporterTest.cs @@ -30,7 +30,7 @@ public class IConcreteTypeMetadataImporterTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Mixins/UnitTests/Core/CodeGeneration/TypePipe/IConfigurationProviderTest.cs b/Remotion/Mixins/UnitTests/Core/CodeGeneration/TypePipe/IConfigurationProviderTest.cs index 2659b3fd7c..b83319fee4 100644 --- a/Remotion/Mixins/UnitTests/Core/CodeGeneration/TypePipe/IConfigurationProviderTest.cs +++ b/Remotion/Mixins/UnitTests/Core/CodeGeneration/TypePipe/IConfigurationProviderTest.cs @@ -30,7 +30,7 @@ public class IConfigurationProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Mixins/UnitTests/Core/CodeGeneration/TypePipe/IMixinTypeProviderTest.cs b/Remotion/Mixins/UnitTests/Core/CodeGeneration/TypePipe/IMixinTypeProviderTest.cs index c4f31f3af5..e351a92556 100644 --- a/Remotion/Mixins/UnitTests/Core/CodeGeneration/TypePipe/IMixinTypeProviderTest.cs +++ b/Remotion/Mixins/UnitTests/Core/CodeGeneration/TypePipe/IMixinTypeProviderTest.cs @@ -30,7 +30,7 @@ public class IMixinTypeProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Mixins/UnitTests/Core/CodeGeneration/TypePipe/INextCallProxyGeneratorTest.cs b/Remotion/Mixins/UnitTests/Core/CodeGeneration/TypePipe/INextCallProxyGeneratorTest.cs index e6c79f3ba1..2a52ad1a9e 100644 --- a/Remotion/Mixins/UnitTests/Core/CodeGeneration/TypePipe/INextCallProxyGeneratorTest.cs +++ b/Remotion/Mixins/UnitTests/Core/CodeGeneration/TypePipe/INextCallProxyGeneratorTest.cs @@ -29,7 +29,7 @@ public class INextCallProxyGeneratorTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Mixins/UnitTests/Core/CodeGeneration/TypePipe/ITargetTypeModifierTest.cs b/Remotion/Mixins/UnitTests/Core/CodeGeneration/TypePipe/ITargetTypeModifierTest.cs index 997df56dac..3e2362ae15 100644 --- a/Remotion/Mixins/UnitTests/Core/CodeGeneration/TypePipe/ITargetTypeModifierTest.cs +++ b/Remotion/Mixins/UnitTests/Core/CodeGeneration/TypePipe/ITargetTypeModifierTest.cs @@ -30,7 +30,7 @@ public class ITargetTypeModifierTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Mixins/UnitTests/Core/Context/DeclarativeConfigurationBuilder_IntegrationTests/DeclarativeConfigurationBuilderGeneralTest.cs b/Remotion/Mixins/UnitTests/Core/Context/DeclarativeConfigurationBuilder_IntegrationTests/DeclarativeConfigurationBuilderGeneralTest.cs index bfdc495380..ca83eee541 100644 --- a/Remotion/Mixins/UnitTests/Core/Context/DeclarativeConfigurationBuilder_IntegrationTests/DeclarativeConfigurationBuilderGeneralTest.cs +++ b/Remotion/Mixins/UnitTests/Core/Context/DeclarativeConfigurationBuilder_IntegrationTests/DeclarativeConfigurationBuilderGeneralTest.cs @@ -15,6 +15,7 @@ // along with re-motion; if not, see http://www.gnu.org/licenses. // using System; +using System.ComponentModel.Design; using System.IO; using System.Reflection; using NUnit.Framework; @@ -24,6 +25,7 @@ using Remotion.Reflection.TypeDiscovery; using Remotion.Reflection.TypeDiscovery.AssemblyFinding; using Remotion.Reflection.TypeDiscovery.AssemblyLoading; +using Remotion.ServiceLocation; namespace Remotion.Mixins.UnitTests.Core.Context.DeclarativeConfigurationBuilder_IntegrationTests { @@ -129,11 +131,7 @@ public void IgnoreForMixinConfiguration () [Test] public void FilterExcludesSystemAssemblies () { - var service = - (AssemblyFinderTypeDiscoveryService)PrivateInvoke.InvokeNonPublicStaticMethod(typeof(DeclarativeConfigurationBuilder), "GetTypeDiscoveryService"); - - var assemblyFinder = GetAssemblyFinder(service); - var filter = ((FilteringAssemblyLoader)assemblyFinder.AssemblyLoader).Filter; + var filter = SafeServiceLocator.Current.GetInstance(); Assert.That(filter.ShouldConsiderAssembly(typeof(object).Assembly.GetName()), Is.False); Assert.That(filter.ShouldConsiderAssembly(typeof(Uri).Assembly.GetName()), Is.False); @@ -142,30 +140,17 @@ public void FilterExcludesSystemAssemblies () [Test] public void FilterExcludesGeneratedAssemblies () { - var service = - (AssemblyFinderTypeDiscoveryService)PrivateInvoke.InvokeNonPublicStaticMethod(typeof(DeclarativeConfigurationBuilder), "GetTypeDiscoveryService"); - - var assemblyFinder = GetAssemblyFinder(service); - var filter = ((FilteringAssemblyLoader)assemblyFinder.AssemblyLoader).Filter; + var filter = SafeServiceLocator.Current.GetInstance(); Assembly generatedAssembly = TypeGenerationHelper.ForceTypeGeneration(typeof(object)).Assembly; Assert.That(filter.ShouldConsiderAssembly(generatedAssembly.GetName()), Is.False); } - private AssemblyFinder GetAssemblyFinder (AssemblyFinderTypeDiscoveryService service) - { - return (AssemblyFinder)((CachingAssemblyFinderDecorator)service.AssemblyFinder).InnerFinder; - } - [Test] public void FilterIncludesAllNormalAssemblies () { - var service = - (AssemblyFinderTypeDiscoveryService)PrivateInvoke.InvokeNonPublicStaticMethod(typeof(DeclarativeConfigurationBuilder), "GetTypeDiscoveryService"); - - var assemblyFinder = GetAssemblyFinder(service); - var filter = ((FilteringAssemblyLoader)assemblyFinder.AssemblyLoader).Filter; + var filter = SafeServiceLocator.Current.GetInstance(); Assert.That(filter.ShouldConsiderAssembly(typeof(DeclarativeConfigurationBuilderGeneralTest).Assembly.GetName()), Is.True); Assert.That(filter.ShouldConsiderAssembly(typeof(DeclarativeConfigurationBuilder).Assembly.GetName()), Is.True); diff --git a/Remotion/Mixins/UnitTests/Core/Definitions/Building/ITargetClassDefinitionBuilderTest.cs b/Remotion/Mixins/UnitTests/Core/Definitions/Building/ITargetClassDefinitionBuilderTest.cs index c850b774a6..cae0ff7752 100644 --- a/Remotion/Mixins/UnitTests/Core/Definitions/Building/ITargetClassDefinitionBuilderTest.cs +++ b/Remotion/Mixins/UnitTests/Core/Definitions/Building/ITargetClassDefinitionBuilderTest.cs @@ -13,7 +13,7 @@ public class ITargetClassDefinitionBuilderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Mixins/UnitTests/Core/Definitions/DependencySorting/IMixinDefinitionSorterTest.cs b/Remotion/Mixins/UnitTests/Core/Definitions/DependencySorting/IMixinDefinitionSorterTest.cs index b0030b58b7..b449038ba2 100644 --- a/Remotion/Mixins/UnitTests/Core/Definitions/DependencySorting/IMixinDefinitionSorterTest.cs +++ b/Remotion/Mixins/UnitTests/Core/Definitions/DependencySorting/IMixinDefinitionSorterTest.cs @@ -13,7 +13,7 @@ public class IMixinDefinitionSorterTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Mixins/UnitTests/Core/Validation/GeneralValidationTest.cs b/Remotion/Mixins/UnitTests/Core/Validation/GeneralValidationTest.cs index e0c3a4ac9e..7a6c34ee43 100644 --- a/Remotion/Mixins/UnitTests/Core/Validation/GeneralValidationTest.cs +++ b/Remotion/Mixins/UnitTests/Core/Validation/GeneralValidationTest.cs @@ -16,6 +16,7 @@ // using System; using System.Collections.Generic; +using System.ComponentModel.Design; using System.Linq; using NUnit.Framework; using Remotion.Development.Mixins.Validation; @@ -27,6 +28,7 @@ using Remotion.Mixins.Validation; using Remotion.Mixins.Validation.Rules; using Remotion.Reflection; +using Remotion.ServiceLocation; namespace Remotion.Mixins.UnitTests.Core.Validation { @@ -40,9 +42,10 @@ public void SetUp () { var validationTestDomainNamespace = typeof(AbstractMixinWithoutBase).Namespace; var globalTestDomainNamespace = typeof(BaseType1).Namespace; - var typeDiscoveryService = FilteringTypeDiscoveryService.CreateFromNamespaceWhitelist( - ContextAwareTypeUtility.GetTypeDiscoveryService(), validationTestDomainNamespace, globalTestDomainNamespace); - var types = typeDiscoveryService.GetTypes(null, false); + var typeDiscoveryService = SafeServiceLocator.Current.GetInstance(); + var filteringTypeDiscoveryService = FilteringTypeDiscoveryService.CreateFromNamespaceWhitelist( + typeDiscoveryService, validationTestDomainNamespace, globalTestDomainNamespace); + var types = filteringTypeDiscoveryService.GetTypes(null, false); _configurationScope = DeclarativeConfigurationBuilder.BuildConfigurationFromTypes(null, types.Cast()).EnterScope(); } diff --git a/Remotion/ObjectBinding/Security.UnitTests/BindableObject/IBindablePropertReadAccessStrategyTest.cs b/Remotion/ObjectBinding/Security.UnitTests/BindableObject/IBindablePropertReadAccessStrategyTest.cs index 74f023d5fa..4881879550 100644 --- a/Remotion/ObjectBinding/Security.UnitTests/BindableObject/IBindablePropertReadAccessStrategyTest.cs +++ b/Remotion/ObjectBinding/Security.UnitTests/BindableObject/IBindablePropertReadAccessStrategyTest.cs @@ -31,7 +31,7 @@ public class IBindablePropertReadAccessStrategyTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Security.UnitTests/BindableObject/IBindablePropertyWriteAccessStrategyTest.cs b/Remotion/ObjectBinding/Security.UnitTests/BindableObject/IBindablePropertyWriteAccessStrategyTest.cs index 08335c8ff6..62d6957ff6 100644 --- a/Remotion/ObjectBinding/Security.UnitTests/BindableObject/IBindablePropertyWriteAccessStrategyTest.cs +++ b/Remotion/ObjectBinding/Security.UnitTests/BindableObject/IBindablePropertyWriteAccessStrategyTest.cs @@ -31,7 +31,7 @@ public class IBindablePropertyWriteAccessStrategyTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Security.UnitTests/BindableObject/IntegrationTest.cs b/Remotion/ObjectBinding/Security.UnitTests/BindableObject/IntegrationTest.cs index ea000b4438..8ab3f3ae1f 100644 --- a/Remotion/ObjectBinding/Security.UnitTests/BindableObject/IntegrationTest.cs +++ b/Remotion/ObjectBinding/Security.UnitTests/BindableObject/IntegrationTest.cs @@ -45,7 +45,7 @@ public override void SetUp () _principalProviderStub.Setup(stub => stub.GetPrincipal()).Returns(_securityPrincipalStub.Object); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => _securityProviderStub.Object); serviceLocator.RegisterSingle(() => _principalProviderStub.Object); _serviceLocatorScope = new ServiceLocatorScope(serviceLocator); diff --git a/Remotion/ObjectBinding/Security.UnitTests/BindableObject/SecurityBasedBindablePropertyReadAccessStrategyTest.cs b/Remotion/ObjectBinding/Security.UnitTests/BindableObject/SecurityBasedBindablePropertyReadAccessStrategyTest.cs index 5849bf8599..d4344e84d4 100644 --- a/Remotion/ObjectBinding/Security.UnitTests/BindableObject/SecurityBasedBindablePropertyReadAccessStrategyTest.cs +++ b/Remotion/ObjectBinding/Security.UnitTests/BindableObject/SecurityBasedBindablePropertyReadAccessStrategyTest.cs @@ -56,7 +56,7 @@ public override void SetUp () var principalProviderStub = new Mock(); principalProviderStub.Setup(_ => _.GetPrincipal()).Returns(_principalStub.Object); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => _securityProviderStub.Object); serviceLocator.RegisterSingle(() => principalProviderStub.Object); _serviceLocatorScope = new ServiceLocatorScope(serviceLocator); diff --git a/Remotion/ObjectBinding/Security.UnitTests/BindableObject/SecurityBasedBindablePropertyWriteAccessStrategyTest.cs b/Remotion/ObjectBinding/Security.UnitTests/BindableObject/SecurityBasedBindablePropertyWriteAccessStrategyTest.cs index b165731718..4a2d3be7ea 100644 --- a/Remotion/ObjectBinding/Security.UnitTests/BindableObject/SecurityBasedBindablePropertyWriteAccessStrategyTest.cs +++ b/Remotion/ObjectBinding/Security.UnitTests/BindableObject/SecurityBasedBindablePropertyWriteAccessStrategyTest.cs @@ -56,7 +56,7 @@ public override void SetUp () var principalProviderStub = new Mock(); principalProviderStub.Setup(_ => _.GetPrincipal()).Returns(_principalStub.Object); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => _securityProviderStub.Object); serviceLocator.RegisterSingle(() => principalProviderStub.Object); _serviceLocatorScope = new ServiceLocatorScope(serviceLocator); diff --git a/Remotion/ObjectBinding/UnitTests/BindableObject/BindableObjectGlobalizationServiceIntegrationTest.cs b/Remotion/ObjectBinding/UnitTests/BindableObject/BindableObjectGlobalizationServiceIntegrationTest.cs index 9143aa05a6..5c148130d3 100644 --- a/Remotion/ObjectBinding/UnitTests/BindableObject/BindableObjectGlobalizationServiceIntegrationTest.cs +++ b/Remotion/ObjectBinding/UnitTests/BindableObject/BindableObjectGlobalizationServiceIntegrationTest.cs @@ -39,7 +39,7 @@ public override void SetUp () { base.SetUp(); - _defaultServiceLocator = DefaultServiceLocator.Create(); + _defaultServiceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); _globalizationService = _defaultServiceLocator.GetInstance(); var bindableObjectClass = BindableObjectProviderTestHelper.GetBindableObjectClass(typeof(ClassWithResources)); _targetType = TypeAdapter.Create(bindableObjectClass.TargetType); diff --git a/Remotion/ObjectBinding/UnitTests/BindableObject/BindableObjectGlobalizationServiceTest.cs b/Remotion/ObjectBinding/UnitTests/BindableObject/BindableObjectGlobalizationServiceTest.cs index 5962be3fda..9bc8379ecc 100644 --- a/Remotion/ObjectBinding/UnitTests/BindableObject/BindableObjectGlobalizationServiceTest.cs +++ b/Remotion/ObjectBinding/UnitTests/BindableObject/BindableObjectGlobalizationServiceTest.cs @@ -29,7 +29,7 @@ public class BindableObjectGlobalizationServiceTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/UnitTests/BindableObject/IBindablePropertReadAccessStrategyTest.cs b/Remotion/ObjectBinding/UnitTests/BindableObject/IBindablePropertReadAccessStrategyTest.cs index 9f941a8343..84c49db622 100644 --- a/Remotion/ObjectBinding/UnitTests/BindableObject/IBindablePropertReadAccessStrategyTest.cs +++ b/Remotion/ObjectBinding/UnitTests/BindableObject/IBindablePropertReadAccessStrategyTest.cs @@ -29,7 +29,7 @@ public class IBindablePropertReadAccessStrategyTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/UnitTests/BindableObject/IBindablePropertyWriteAccessStrategyTest.cs b/Remotion/ObjectBinding/UnitTests/BindableObject/IBindablePropertyWriteAccessStrategyTest.cs index 37714690c2..16abe9981c 100644 --- a/Remotion/ObjectBinding/UnitTests/BindableObject/IBindablePropertyWriteAccessStrategyTest.cs +++ b/Remotion/ObjectBinding/UnitTests/BindableObject/IBindablePropertyWriteAccessStrategyTest.cs @@ -29,7 +29,7 @@ public class IBindablePropertyWriteAccessStrategyTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/UnitTests/BusinessObjectPropertyConstraints/IBusinessObjectPropertyConstraintProviderTest.cs b/Remotion/ObjectBinding/UnitTests/BusinessObjectPropertyConstraints/IBusinessObjectPropertyConstraintProviderTest.cs index 252d8393b7..583ae717af 100644 --- a/Remotion/ObjectBinding/UnitTests/BusinessObjectPropertyConstraints/IBusinessObjectPropertyConstraintProviderTest.cs +++ b/Remotion/ObjectBinding/UnitTests/BusinessObjectPropertyConstraints/IBusinessObjectPropertyConstraintProviderTest.cs @@ -29,7 +29,7 @@ public class IBusinessObjectPropertyConstraintProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Validation.UnitTests/IBusinessObjectPropertyConstraintProviderTest.cs b/Remotion/ObjectBinding/Validation.UnitTests/IBusinessObjectPropertyConstraintProviderTest.cs index 11dd2b6a36..2312db2cd4 100644 --- a/Remotion/ObjectBinding/Validation.UnitTests/IBusinessObjectPropertyConstraintProviderTest.cs +++ b/Remotion/ObjectBinding/Validation.UnitTests/IBusinessObjectPropertyConstraintProviderTest.cs @@ -30,7 +30,7 @@ public class IBusinessObjectPropertyConstraintProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Validation.UnitTests/IPropertyValidatorToBusinessObjectPropertyConstraintConverterTest.cs b/Remotion/ObjectBinding/Validation.UnitTests/IPropertyValidatorToBusinessObjectPropertyConstraintConverterTest.cs index e70ce5aab7..aa1587f3f1 100644 --- a/Remotion/ObjectBinding/Validation.UnitTests/IPropertyValidatorToBusinessObjectPropertyConstraintConverterTest.cs +++ b/Remotion/ObjectBinding/Validation.UnitTests/IPropertyValidatorToBusinessObjectPropertyConstraintConverterTest.cs @@ -29,7 +29,7 @@ public class IPropertyValidatorToBusinessObjectPropertyConstraintConverterTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.Compatibility.UnitTests/UI/Controls/Validation/IBusinessObjectBoundEditableWebControlValidatorConfigurationTest.cs b/Remotion/ObjectBinding/Web.Compatibility.UnitTests/UI/Controls/Validation/IBusinessObjectBoundEditableWebControlValidatorConfigurationTest.cs index 2e568508d8..8280db07e6 100644 --- a/Remotion/ObjectBinding/Web.Compatibility.UnitTests/UI/Controls/Validation/IBusinessObjectBoundEditableWebControlValidatorConfigurationTest.cs +++ b/Remotion/ObjectBinding/Web.Compatibility.UnitTests/UI/Controls/Validation/IBusinessObjectBoundEditableWebControlValidatorConfigurationTest.cs @@ -29,7 +29,7 @@ public class IBusinessObjectBoundEditableWebControlValidatorConfigurationTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.Development.WebTesting.TestSite.NetFramework/Global.asax.cs b/Remotion/ObjectBinding/Web.Development.WebTesting.TestSite.NetFramework/Global.asax.cs index b85bf4c36d..87d3c39a01 100644 --- a/Remotion/ObjectBinding/Web.Development.WebTesting.TestSite.NetFramework/Global.asax.cs +++ b/Remotion/ObjectBinding/Web.Development.WebTesting.TestSite.NetFramework/Global.asax.cs @@ -101,7 +101,7 @@ private static void RegisterResourceVirtualPathProvider () private void SetRenderingFeatures (IRenderingFeatures renderingFeatures, ResourceTheme resourceTheme) { - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => renderingFeatures); serviceLocator.RegisterSingle(() => resourceTheme); ServiceLocator.SetLocatorProvider(() => serviceLocator); diff --git a/Remotion/ObjectBinding/Web.Development.WebTesting.TestSite/Global.asax.cs b/Remotion/ObjectBinding/Web.Development.WebTesting.TestSite/Global.asax.cs index d9d9dc64e0..11fd8ef22e 100644 --- a/Remotion/ObjectBinding/Web.Development.WebTesting.TestSite/Global.asax.cs +++ b/Remotion/ObjectBinding/Web.Development.WebTesting.TestSite/Global.asax.cs @@ -118,7 +118,7 @@ private static void RegisterResourceVirtualPathProvider () private void SetRenderingFeatures (IRenderingFeatures renderingFeatures, ResourceTheme resourceTheme) { - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => renderingFeatures); serviceLocator.RegisterSingle(() => resourceTheme); ServiceLocator.SetLocatorProvider(() => serviceLocator); diff --git a/Remotion/ObjectBinding/Web.Test/Global.asax.cs b/Remotion/ObjectBinding/Web.Test/Global.asax.cs index 00eb00e22d..6a915bf444 100644 --- a/Remotion/ObjectBinding/Web.Test/Global.asax.cs +++ b/Remotion/ObjectBinding/Web.Test/Global.asax.cs @@ -61,7 +61,7 @@ protected void Application_Start (Object sender, EventArgs e) string objectPath = Server.MapPath("~/objects"); if (!Directory.Exists(objectPath)) Directory.CreateDirectory(objectPath); - var defaultServiceLocator = DefaultServiceLocator.Create(); + var defaultServiceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); //defaultServiceLocator.RegisterSingle(() => new ResourceTheme.NovaGray()); diff --git a/Remotion/ObjectBinding/Web.UnitTests/SetUpFixture.cs b/Remotion/ObjectBinding/Web.UnitTests/SetUpFixture.cs index dd7ba81e45..f641473a02 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/SetUpFixture.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/SetUpFixture.cs @@ -41,7 +41,7 @@ public void OneTimeSetUp () { XmlNodeExtensions.Helper = new HtmlHelper(); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => new FakeInfrastructureResourceUrlFactory()); serviceLocator.RegisterSingle(() => new FakeScriptUtility()); serviceLocator.RegisterSingle(() => new FakeResourceUrlFactory()); diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocBooleanValueImplementation/Rendering/IBocBooleanValueRendererTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocBooleanValueImplementation/Rendering/IBocBooleanValueRendererTest.cs index e067db9277..2ca2938365 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocBooleanValueImplementation/Rendering/IBocBooleanValueRendererTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocBooleanValueImplementation/Rendering/IBocBooleanValueRendererTest.cs @@ -29,7 +29,7 @@ public class IBocBooleanValueRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocBooleanValueImplementation/Rendering/IBocBooleanValueResourceSetFactoryTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocBooleanValueImplementation/Rendering/IBocBooleanValueResourceSetFactoryTest.cs index 307f5932fb..8a832749fb 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocBooleanValueImplementation/Rendering/IBocBooleanValueResourceSetFactoryTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocBooleanValueImplementation/Rendering/IBocBooleanValueResourceSetFactoryTest.cs @@ -30,7 +30,7 @@ public class IBocBooleanValueResourceSetFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocBooleanValueImplementation/Rendering/IBocCheckBoxRendererFactoryTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocBooleanValueImplementation/Rendering/IBocCheckBoxRendererFactoryTest.cs index 7411c12a75..a9edcef93d 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocBooleanValueImplementation/Rendering/IBocCheckBoxRendererFactoryTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocBooleanValueImplementation/Rendering/IBocCheckBoxRendererFactoryTest.cs @@ -29,7 +29,7 @@ public class IBocCheckBoxRendererFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocBooleanValueImplementation/Validation/IBocBooleanValueValidatorFactoryTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocBooleanValueImplementation/Validation/IBocBooleanValueValidatorFactoryTest.cs index 8ecc035f99..da082579fc 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocBooleanValueImplementation/Validation/IBocBooleanValueValidatorFactoryTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocBooleanValueImplementation/Validation/IBocBooleanValueValidatorFactoryTest.cs @@ -17,7 +17,7 @@ public class IBocBooleanValueValidatorFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocBooleanValueImplementation/Validation/IBocCheckBoxValidatorFactoryTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocBooleanValueImplementation/Validation/IBocCheckBoxValidatorFactoryTest.cs index f63fb63cc7..476f269a80 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocBooleanValueImplementation/Validation/IBocCheckBoxValidatorFactoryTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocBooleanValueImplementation/Validation/IBocCheckBoxValidatorFactoryTest.cs @@ -17,7 +17,7 @@ public class IBocCheckBoxValidatorFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocDateTimeValueImplementation/IDateTimeFormatterTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocDateTimeValueImplementation/IDateTimeFormatterTest.cs index 52e23e1685..b73efca9af 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocDateTimeValueImplementation/IDateTimeFormatterTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocDateTimeValueImplementation/IDateTimeFormatterTest.cs @@ -29,7 +29,7 @@ public class IDateTimeFormatterTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocDateTimeValueImplementation/Rendering/IBocDateTimeValueRendererTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocDateTimeValueImplementation/Rendering/IBocDateTimeValueRendererTest.cs index 36c199b4cb..6e6efb2b28 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocDateTimeValueImplementation/Rendering/IBocDateTimeValueRendererTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocDateTimeValueImplementation/Rendering/IBocDateTimeValueRendererTest.cs @@ -29,7 +29,7 @@ public class IBocDateTimeValueRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocDateTimeValueImplementation/Validation/IBocDateTimeValueValidatorFactoryTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocDateTimeValueImplementation/Validation/IBocDateTimeValueValidatorFactoryTest.cs index e963b9cca0..6d3c9db8a8 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocDateTimeValueImplementation/Validation/IBocDateTimeValueValidatorFactoryTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocDateTimeValueImplementation/Validation/IBocDateTimeValueValidatorFactoryTest.cs @@ -17,7 +17,7 @@ public class IBocDateTimeValueValidatorFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocEnumValueImplementation/Rendering/IBocEnumValueRendererTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocEnumValueImplementation/Rendering/IBocEnumValueRendererTest.cs index 3b05354ab9..ea4e1e8073 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocEnumValueImplementation/Rendering/IBocEnumValueRendererTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocEnumValueImplementation/Rendering/IBocEnumValueRendererTest.cs @@ -29,7 +29,7 @@ public class IBocEnumValueRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocEnumValueImplementation/Validation/IBocEnumValueValidatorFactoryTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocEnumValueImplementation/Validation/IBocEnumValueValidatorFactoryTest.cs index ace21506a7..7a497e8383 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocEnumValueImplementation/Validation/IBocEnumValueValidatorFactoryTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocEnumValueImplementation/Validation/IBocEnumValueValidatorFactoryTest.cs @@ -17,7 +17,7 @@ public class IBocEnumValueValidatorFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/BocColumnRendererArrayBuilderTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/BocColumnRendererArrayBuilderTest.cs index cff232b777..f65a31370a 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/BocColumnRendererArrayBuilderTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/BocColumnRendererArrayBuilderTest.cs @@ -38,7 +38,7 @@ public class BocColumnRendererArrayBuilderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); _stubColumnDefinition = new StubColumnDefinition(); _stubValueColumnDefinition = new StubValueColumnDefinition(); } diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/BocColumnRendererBaseTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/BocColumnRendererBaseTest.cs index 4296fce5a6..220c6c411a 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/BocColumnRendererBaseTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/BocColumnRendererBaseTest.cs @@ -70,7 +70,7 @@ public void SetUp () [Test] public void IsNull () { - Assert.That(Column.GetRenderer(DefaultServiceLocator.Create()).IsNull, Is.False); + Assert.That(Column.GetRenderer(DefaultServiceLocator.CreateWithBootstrappedServices()).IsNull, Is.False); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/BocListCssClassDefinitionTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/BocListCssClassDefinitionTest.cs index dae66bbc0f..6b82316dbf 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/BocListCssClassDefinitionTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/BocListCssClassDefinitionTest.cs @@ -29,7 +29,7 @@ public class BocListCssClassDefinitionTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocCommandColumnRendererTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocCommandColumnRendererTest.cs index c252b02a5d..ecb0b59093 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocCommandColumnRendererTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocCommandColumnRendererTest.cs @@ -29,7 +29,7 @@ public class IBocCommandColumnRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocCompoundColumnRendererTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocCompoundColumnRendererTest.cs index 885212659e..e47fefdde9 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocCompoundColumnRendererTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocCompoundColumnRendererTest.cs @@ -29,7 +29,7 @@ public class IBocCompoundColumnRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocCustomColumnRendererTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocCustomColumnRendererTest.cs index 4e4f3b8a33..6f3e9ba22f 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocCustomColumnRendererTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocCustomColumnRendererTest.cs @@ -29,7 +29,7 @@ public class IBocCustomColumnRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocDropDownMenuColumnRendererTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocDropDownMenuColumnRendererTest.cs index 9f70b76778..aecbb28678 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocDropDownMenuColumnRendererTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocDropDownMenuColumnRendererTest.cs @@ -29,7 +29,7 @@ public class IBocDropDownMenuColumnRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocIndexColumnRendererTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocIndexColumnRendererTest.cs index 6e592d1572..fc9e05d618 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocIndexColumnRendererTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocIndexColumnRendererTest.cs @@ -29,7 +29,7 @@ public class IBocIndexColumnRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocListMenuBlockRendererTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocListMenuBlockRendererTest.cs index c04d0956b8..642711e463 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocListMenuBlockRendererTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocListMenuBlockRendererTest.cs @@ -29,7 +29,7 @@ public class IBocListMenuBlockRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocListNavigationBlockRendererTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocListNavigationBlockRendererTest.cs index 04466aff41..dc935b323d 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocListNavigationBlockRendererTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocListNavigationBlockRendererTest.cs @@ -29,7 +29,7 @@ public class IBocListNavigationBlockRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocListRendererTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocListRendererTest.cs index 03274ed0f2..0730313694 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocListRendererTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocListRendererTest.cs @@ -29,7 +29,7 @@ public class IBocListRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocListTableBlockRendererTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocListTableBlockRendererTest.cs index 501b49f996..0cca5bc4e5 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocListTableBlockRendererTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocListTableBlockRendererTest.cs @@ -29,7 +29,7 @@ public class IBocListTableBlockRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocRowEditModeColumnRendererTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocRowEditModeColumnRendererTest.cs index 18729d97b0..0d9e9ae5c0 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocRowEditModeColumnRendererTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocRowEditModeColumnRendererTest.cs @@ -29,7 +29,7 @@ public class IBocRowEditModeColumnRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocRowRendererTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocRowRendererTest.cs index 4ee56852a0..5c2f3d347c 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocRowRendererTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocRowRendererTest.cs @@ -29,7 +29,7 @@ public class IBocRowRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocSelectorColumnRendererTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocSelectorColumnRendererTest.cs index e5e4325f7f..2d59ddc93c 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocSelectorColumnRendererTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocSelectorColumnRendererTest.cs @@ -29,7 +29,7 @@ public class IBocSelectorColumnRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocSimpleColumnRendererTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocSimpleColumnRendererTest.cs index 21d83abb5d..4dfe3fb87d 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocSimpleColumnRendererTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IBocSimpleColumnRendererTest.cs @@ -29,7 +29,7 @@ public class IBocSimpleColumnRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IsColumnVisible_BocColumnRendererArrayBuilderTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IsColumnVisible_BocColumnRendererArrayBuilderTest.cs index 0304201c94..7e24d896f6 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IsColumnVisible_BocColumnRendererArrayBuilderTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Rendering/IsColumnVisible_BocColumnRendererArrayBuilderTest.cs @@ -33,7 +33,7 @@ public class IsColumnVisible_BocColumnRendererArrayBuilderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Validation/IBocListValidatorFactoryTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Validation/IBocListValidatorFactoryTest.cs index 7fe585cda8..57a32a7258 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Validation/IBocListValidatorFactoryTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocListImplementation/Validation/IBocListValidatorFactoryTest.cs @@ -17,7 +17,7 @@ public class IBocListValidatorFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocReferenceValueImplementation/Rendering/IBocAutoCompleteReferenceValueRendererTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocReferenceValueImplementation/Rendering/IBocAutoCompleteReferenceValueRendererTest.cs index 3201a64e39..77e5cd5ffa 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocReferenceValueImplementation/Rendering/IBocAutoCompleteReferenceValueRendererTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocReferenceValueImplementation/Rendering/IBocAutoCompleteReferenceValueRendererTest.cs @@ -29,7 +29,7 @@ public class IBocAutoCompleteReferenceValueRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocReferenceValueImplementation/Rendering/IBocReferenceValueRendererTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocReferenceValueImplementation/Rendering/IBocReferenceValueRendererTest.cs index b644ee587f..c8d1b85242 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocReferenceValueImplementation/Rendering/IBocReferenceValueRendererTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocReferenceValueImplementation/Rendering/IBocReferenceValueRendererTest.cs @@ -29,7 +29,7 @@ public class IBocReferenceValueRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocReferenceValueImplementation/Validation/IBocAutoCompleteReferenceValueValidatorFactoryTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocReferenceValueImplementation/Validation/IBocAutoCompleteReferenceValueValidatorFactoryTest.cs index 4a202e63fa..4ddd750fce 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocReferenceValueImplementation/Validation/IBocAutoCompleteReferenceValueValidatorFactoryTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocReferenceValueImplementation/Validation/IBocAutoCompleteReferenceValueValidatorFactoryTest.cs @@ -17,7 +17,7 @@ public class IBocAutoCompleteReferenceValueValidatorFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocReferenceValueImplementation/Validation/IBocReferenceValueValidatorFactoryTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocReferenceValueImplementation/Validation/IBocReferenceValueValidatorFactoryTest.cs index 7fc9f20e6c..c2bfb9a540 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocReferenceValueImplementation/Validation/IBocReferenceValueValidatorFactoryTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocReferenceValueImplementation/Validation/IBocReferenceValueValidatorFactoryTest.cs @@ -17,7 +17,7 @@ public class IBocReferenceValueValidatorFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocTextValueImplementation/Rendering/IBocMultilineTextValueRendererTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocTextValueImplementation/Rendering/IBocMultilineTextValueRendererTest.cs index c5457608fb..3cb20f85e9 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocTextValueImplementation/Rendering/IBocMultilineTextValueRendererTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocTextValueImplementation/Rendering/IBocMultilineTextValueRendererTest.cs @@ -29,7 +29,7 @@ public class IBocMultilineTextValueRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocTextValueImplementation/Rendering/IBocTextValueRendererTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocTextValueImplementation/Rendering/IBocTextValueRendererTest.cs index 537898ae2a..3d0459c825 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocTextValueImplementation/Rendering/IBocTextValueRendererTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocTextValueImplementation/Rendering/IBocTextValueRendererTest.cs @@ -29,7 +29,7 @@ public class IBocTextValueRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocTextValueTests/Validation/IBocMultilineTextValueValidatorFactoryTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocTextValueTests/Validation/IBocMultilineTextValueValidatorFactoryTest.cs index adeb3dc8f7..8c20c6c671 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocTextValueTests/Validation/IBocMultilineTextValueValidatorFactoryTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocTextValueTests/Validation/IBocMultilineTextValueValidatorFactoryTest.cs @@ -17,7 +17,7 @@ public class IBocMultilineTextValueValidatorFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocTextValueTests/Validation/IBocTextValueValidatorFactoryTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocTextValueTests/Validation/IBocTextValueValidatorFactoryTest.cs index c3d0751ad9..02d6547c87 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocTextValueTests/Validation/IBocTextValueValidatorFactoryTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/BocTextValueTests/Validation/IBocTextValueValidatorFactoryTest.cs @@ -17,7 +17,7 @@ public class IBocTextValueValidatorFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/IBusinessObjectReferenceDataSourceControlValidatorFactoryTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/IBusinessObjectReferenceDataSourceControlValidatorFactoryTest.cs index b3560e8321..4d7fc274a1 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/IBusinessObjectReferenceDataSourceControlValidatorFactoryTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/IBusinessObjectReferenceDataSourceControlValidatorFactoryTest.cs @@ -15,7 +15,7 @@ public class IBusinessObjectReferenceDataSourceControlValidatorFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/IUserControlBindingValidatorFactoryTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/IUserControlBindingValidatorFactoryTest.cs index 00673eee3f..8ab2d89122 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/IUserControlBindingValidatorFactoryTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/IUserControlBindingValidatorFactoryTest.cs @@ -31,7 +31,7 @@ public class IUserControlBindingValidatorFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/Validation/Factories/ValidationBocListValidatorFactoryTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/Validation/Factories/ValidationBocListValidatorFactoryTest.cs index 4de3b195be..6364ba1227 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/Validation/Factories/ValidationBocListValidatorFactoryTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/Validation/Factories/ValidationBocListValidatorFactoryTest.cs @@ -19,7 +19,7 @@ public class ValidationBocListValidatorFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/Validation/Factories/ValidationBocReferenceDataSourceValidatorFactoryTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/Validation/Factories/ValidationBocReferenceDataSourceValidatorFactoryTest.cs index d601786e45..50b7d8a883 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/Validation/Factories/ValidationBocReferenceDataSourceValidatorFactoryTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/Validation/Factories/ValidationBocReferenceDataSourceValidatorFactoryTest.cs @@ -17,7 +17,7 @@ public class ValidationBocReferenceDataSourceValidatorFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/Validation/Factories/ValidationBusinessObjectBoundEditableWebControlValidatorFactoryTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/Validation/Factories/ValidationBusinessObjectBoundEditableWebControlValidatorFactoryTest.cs index 2f1e09bae3..f06aab8305 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/Validation/Factories/ValidationBusinessObjectBoundEditableWebControlValidatorFactoryTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/Validation/Factories/ValidationBusinessObjectBoundEditableWebControlValidatorFactoryTest.cs @@ -31,7 +31,7 @@ public class ValidationBusinessObjectBoundEditableWebControlValidatorFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/Validation/Factories/ValidationUserControlBindingValidatorFactoryTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/Validation/Factories/ValidationUserControlBindingValidatorFactoryTest.cs index 94b2196a71..aaf89cd24c 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/Validation/Factories/ValidationUserControlBindingValidatorFactoryTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/Validation/Factories/ValidationUserControlBindingValidatorFactoryTest.cs @@ -17,7 +17,7 @@ public class ValidationUserControlBindingValidatorFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/Validation/IBocListValidationFailureHandlerTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/Validation/IBocListValidationFailureHandlerTest.cs index a045ebdc82..0d608b8b36 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/Validation/IBocListValidationFailureHandlerTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/Validation/IBocListValidationFailureHandlerTest.cs @@ -13,7 +13,7 @@ public class IBocListValidationFailureHandlerTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/Validation/IBusinessObjectBoundEditableWebControlValidatorConfigurationTest.cs b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/Validation/IBusinessObjectBoundEditableWebControlValidatorConfigurationTest.cs index 2e026eb862..c0e9961fb1 100644 --- a/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/Validation/IBusinessObjectBoundEditableWebControlValidatorConfigurationTest.cs +++ b/Remotion/ObjectBinding/Web.UnitTests/UI/Controls/Validation/IBusinessObjectBoundEditableWebControlValidatorConfigurationTest.cs @@ -29,7 +29,7 @@ public class IBusinessObjectBoundEditableWebControlValidatorConfigurationTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Security/UnitTests/IFunctionalSecurityStrategyTest.cs b/Remotion/Security/UnitTests/IFunctionalSecurityStrategyTest.cs index e8316e9558..f3405d6527 100644 --- a/Remotion/Security/UnitTests/IFunctionalSecurityStrategyTest.cs +++ b/Remotion/Security/UnitTests/IFunctionalSecurityStrategyTest.cs @@ -28,7 +28,7 @@ public class IFunctionalSecurityStrategyTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Security/UnitTests/IPrincipalProviderTest.cs b/Remotion/Security/UnitTests/IPrincipalProviderTest.cs index deb8e678f0..7a364e62e4 100644 --- a/Remotion/Security/UnitTests/IPrincipalProviderTest.cs +++ b/Remotion/Security/UnitTests/IPrincipalProviderTest.cs @@ -28,7 +28,7 @@ public class IPrincipalProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Security/UnitTests/ISecurityProviderTest.cs b/Remotion/Security/UnitTests/ISecurityProviderTest.cs index 334cac1670..238e46ee44 100644 --- a/Remotion/Security/UnitTests/ISecurityProviderTest.cs +++ b/Remotion/Security/UnitTests/ISecurityProviderTest.cs @@ -28,7 +28,7 @@ public class ISecurityProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Security/UnitTests/Metadata/IMemberResolverTest.cs b/Remotion/Security/UnitTests/Metadata/IMemberResolverTest.cs index fa2220c6e8..872cf09179 100644 --- a/Remotion/Security/UnitTests/Metadata/IMemberResolverTest.cs +++ b/Remotion/Security/UnitTests/Metadata/IMemberResolverTest.cs @@ -29,7 +29,7 @@ public class IMemberResolverTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Security/UnitTests/Metadata/IPermissionProviderTest.cs b/Remotion/Security/UnitTests/Metadata/IPermissionProviderTest.cs index 2b797c9ab6..190db97607 100644 --- a/Remotion/Security/UnitTests/Metadata/IPermissionProviderTest.cs +++ b/Remotion/Security/UnitTests/Metadata/IPermissionProviderTest.cs @@ -29,7 +29,7 @@ public class IPermissionProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Security/UnitTests/SecurityClientTests/CreateSecurityClientFromConfiguration.cs b/Remotion/Security/UnitTests/SecurityClientTests/CreateSecurityClientFromConfiguration.cs index e643a45b49..4261e09f61 100644 --- a/Remotion/Security/UnitTests/SecurityClientTests/CreateSecurityClientFromConfiguration.cs +++ b/Remotion/Security/UnitTests/SecurityClientTests/CreateSecurityClientFromConfiguration.cs @@ -42,7 +42,7 @@ public void SetUp () _stubMemberResolver = new Mock(); _stubFunctionalSecurityStrategy = new Mock(); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => _stubSecurityProvider.Object); serviceLocator.RegisterSingle(() => _stubPrincipalProvider.Object); serviceLocator.RegisterSingle(() => _stubPermissionProvider.Object); diff --git a/Remotion/Validation/Core/Implementation/DiscoveryServiceBasedValidationRuleCollectorReflector.cs b/Remotion/Validation/Core/Implementation/DiscoveryServiceBasedValidationRuleCollectorReflector.cs index d8f1fb122d..a6f5c3422e 100644 --- a/Remotion/Validation/Core/Implementation/DiscoveryServiceBasedValidationRuleCollectorReflector.cs +++ b/Remotion/Validation/Core/Implementation/DiscoveryServiceBasedValidationRuleCollectorReflector.cs @@ -38,25 +38,7 @@ public class DiscoveryServiceBasedValidationRuleCollectorReflector : IValidation private readonly Lazy> _validationCollectors; private readonly IValidatedTypeResolver _validatedTypeResolver; - public static IValidationRuleCollectorReflector Create (ITypeDiscoveryService typeDiscoveryService, IValidatedTypeResolver validatedTypeResolver) - { - ArgumentUtility.CheckNotNull("typeDiscoveryService", typeDiscoveryService); - ArgumentUtility.CheckNotNull("validatedTypeResolver", validatedTypeResolver); - - return new DiscoveryServiceBasedValidationRuleCollectorReflector(typeDiscoveryService, validatedTypeResolver); - } - - public DiscoveryServiceBasedValidationRuleCollectorReflector (IValidatedTypeResolver validatedTypeResolver) - : this(ContextAwareTypeUtility.GetTypeDiscoveryService(), validatedTypeResolver) - { - } - - public IValidatedTypeResolver ValidatedTypeResolver - { - get { return _validatedTypeResolver; } - } - - protected DiscoveryServiceBasedValidationRuleCollectorReflector ( + public DiscoveryServiceBasedValidationRuleCollectorReflector ( ITypeDiscoveryService typeDiscoveryService, IValidatedTypeResolver validatedTypeResolver) { @@ -68,6 +50,11 @@ protected DiscoveryServiceBasedValidationRuleCollectorReflector ( _validationCollectors = new Lazy>(GetValidationCollectors, LazyThreadSafetyMode.ExecutionAndPublication); } + public IValidatedTypeResolver ValidatedTypeResolver + { + get { return _validatedTypeResolver; } + } + public IEnumerable GetCollectorsForType (Type type) { ArgumentUtility.CheckNotNull("type", type); diff --git a/Remotion/Validation/Globalization.UnitTests/IValidationMessageFactoryTest.cs b/Remotion/Validation/Globalization.UnitTests/IValidationMessageFactoryTest.cs index 945a59199f..2e2f6ac938 100644 --- a/Remotion/Validation/Globalization.UnitTests/IValidationMessageFactoryTest.cs +++ b/Remotion/Validation/Globalization.UnitTests/IValidationMessageFactoryTest.cs @@ -30,7 +30,7 @@ public class IValidationMessageFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Validation/IntegrationTests/IntegrationTestBase.cs b/Remotion/Validation/IntegrationTests/IntegrationTestBase.cs index a783616946..bfc67cb47b 100644 --- a/Remotion/Validation/IntegrationTests/IntegrationTestBase.cs +++ b/Remotion/Validation/IntegrationTests/IntegrationTestBase.cs @@ -38,7 +38,7 @@ public abstract class IntegrationTestBase [SetUp] public virtual void SetUp () { - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); _serviceLocatorScope = new ServiceLocatorScope(serviceLocator); MemoryAppender = new MemoryAppender(); diff --git a/Remotion/Validation/Mixins.IntegrationTests/IntegrationTestBase.cs b/Remotion/Validation/Mixins.IntegrationTests/IntegrationTestBase.cs index 91d09343de..fbaffebd14 100644 --- a/Remotion/Validation/Mixins.IntegrationTests/IntegrationTestBase.cs +++ b/Remotion/Validation/Mixins.IntegrationTests/IntegrationTestBase.cs @@ -36,7 +36,7 @@ public abstract class IntegrationTestBase [SetUp] public virtual void SetUp () { - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); _serviceLocatorScope = new ServiceLocatorScope(serviceLocator); MemoryAppender = new MemoryAppender(); diff --git a/Remotion/Validation/Mixins.UnitTests/Implementation/DiscoveryServiceBasedValidationRuleCollectorReflectorTest.cs b/Remotion/Validation/Mixins.UnitTests/Implementation/DiscoveryServiceBasedValidationRuleCollectorReflectorTest.cs index deaf1d5fbb..1d3829efe7 100644 --- a/Remotion/Validation/Mixins.UnitTests/Implementation/DiscoveryServiceBasedValidationRuleCollectorReflectorTest.cs +++ b/Remotion/Validation/Mixins.UnitTests/Implementation/DiscoveryServiceBasedValidationRuleCollectorReflectorTest.cs @@ -54,7 +54,7 @@ public void GetValidationRuleCollectors_WithFakeTypeDiscoveryService () }; _typeDiscoveryServiceStub.Setup(stub => stub.GetTypes(typeof(IValidationRuleCollector), false)).Returns(appliedWithAttributeTypes); - var typeCollectorProvider = DiscoveryServiceBasedValidationRuleCollectorReflector.Create( + var typeCollectorProvider = new DiscoveryServiceBasedValidationRuleCollectorReflector( _typeDiscoveryServiceStub.Object, new MixinTypeAwareValidatedTypeResolverDecorator( new ClassTypeAwareValidatedTypeResolverDecorator( diff --git a/Remotion/Validation/Mixins.UnitTests/Implementation/IInvolvedTypeProviderTest.cs b/Remotion/Validation/Mixins.UnitTests/Implementation/IInvolvedTypeProviderTest.cs index 4c1b15ddf4..fd87488bc4 100644 --- a/Remotion/Validation/Mixins.UnitTests/Implementation/IInvolvedTypeProviderTest.cs +++ b/Remotion/Validation/Mixins.UnitTests/Implementation/IInvolvedTypeProviderTest.cs @@ -30,7 +30,7 @@ public class IInvolvedTypeProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Validation/Mixins.UnitTests/Implementation/IValidatedTypeResolverTest.cs b/Remotion/Validation/Mixins.UnitTests/Implementation/IValidatedTypeResolverTest.cs index e1306bdf02..2fd59ee2a0 100644 --- a/Remotion/Validation/Mixins.UnitTests/Implementation/IValidatedTypeResolverTest.cs +++ b/Remotion/Validation/Mixins.UnitTests/Implementation/IValidatedTypeResolverTest.cs @@ -30,7 +30,7 @@ public class IValidatedTypeResolverTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Validation/Mixins.UnitTests/Implementation/IValidationRuleCollectorValidatorTest.cs b/Remotion/Validation/Mixins.UnitTests/Implementation/IValidationRuleCollectorValidatorTest.cs index d44be29df9..927589dbd6 100644 --- a/Remotion/Validation/Mixins.UnitTests/Implementation/IValidationRuleCollectorValidatorTest.cs +++ b/Remotion/Validation/Mixins.UnitTests/Implementation/IValidationRuleCollectorValidatorTest.cs @@ -31,7 +31,7 @@ public class IValidationRuleCollectorValidatorTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Validation/Mixins.UnitTests/Implementation/IValidationTypeFilterTest.cs b/Remotion/Validation/Mixins.UnitTests/Implementation/IValidationTypeFilterTest.cs index 32e9cc515a..fba1a9c42b 100644 --- a/Remotion/Validation/Mixins.UnitTests/Implementation/IValidationTypeFilterTest.cs +++ b/Remotion/Validation/Mixins.UnitTests/Implementation/IValidationTypeFilterTest.cs @@ -31,7 +31,7 @@ public class IValidationTypeFilterTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Validation/Mixins.UnitTests/Providers/IValidationRuleCollectorProviderTest.cs b/Remotion/Validation/Mixins.UnitTests/Providers/IValidationRuleCollectorProviderTest.cs index 4f98d2f253..76456ed8c8 100644 --- a/Remotion/Validation/Mixins.UnitTests/Providers/IValidationRuleCollectorProviderTest.cs +++ b/Remotion/Validation/Mixins.UnitTests/Providers/IValidationRuleCollectorProviderTest.cs @@ -31,7 +31,7 @@ public class IValidationRuleCollectorProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Validation/UnitTests/IValidatorProviderTest.cs b/Remotion/Validation/UnitTests/IValidatorProviderTest.cs index 464f9e2a40..4cfd3ae266 100644 --- a/Remotion/Validation/UnitTests/IValidatorProviderTest.cs +++ b/Remotion/Validation/UnitTests/IValidatorProviderTest.cs @@ -28,7 +28,7 @@ public class IValidatorProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Validation/UnitTests/Implementation/DiscoveryServiceBasedValidationRuleCollectorReflectorTest.cs b/Remotion/Validation/UnitTests/Implementation/DiscoveryServiceBasedValidationRuleCollectorReflectorTest.cs index ba1b4fef32..860c0c0377 100644 --- a/Remotion/Validation/UnitTests/Implementation/DiscoveryServiceBasedValidationRuleCollectorReflectorTest.cs +++ b/Remotion/Validation/UnitTests/Implementation/DiscoveryServiceBasedValidationRuleCollectorReflectorTest.cs @@ -19,6 +19,7 @@ using System.Linq; using Moq; using NUnit.Framework; +using Remotion.ServiceLocation; using Remotion.Validation.Attributes; using Remotion.Validation.Implementation; using Remotion.Validation.UnitTests.TestDomain; @@ -56,7 +57,7 @@ public void GetValidationRuleCollectors_WithFakeTypeDiscoveryService () }; _typeDiscoveryServiceStub.Setup(stub => stub.GetTypes(typeof(IValidationRuleCollector), false)).Returns(appliedWithAttributeTypes); - var typeCollectorProvider = DiscoveryServiceBasedValidationRuleCollectorReflector.Create( + var typeCollectorProvider = new DiscoveryServiceBasedValidationRuleCollectorReflector( _typeDiscoveryServiceStub.Object, new ClassTypeAwareValidatedTypeResolverDecorator( new GenericTypeAwareValidatedTypeResolverDecorator(new NullValidatedTypeResolver()))); @@ -82,7 +83,7 @@ public void GetValidationRuleCollectors_InvalidCollectorWithoutGenericArgument ( Assert.That( () => - DiscoveryServiceBasedValidationRuleCollectorReflector.Create( + new DiscoveryServiceBasedValidationRuleCollectorReflector( _typeDiscoveryServiceStub.Object, validatedTypeResolverStub.Object).GetCollectorsForType( typeof(IValidationRuleCollector)), @@ -111,7 +112,7 @@ public void GetValidationRuleCollectors_AbstractAndInterfaceAndOpenGenericCollec programmaticallyCollectorType }); - var typeCollectorProvider = DiscoveryServiceBasedValidationRuleCollectorReflector.Create( + var typeCollectorProvider = new DiscoveryServiceBasedValidationRuleCollectorReflector( _typeDiscoveryServiceStub.Object, new ClassTypeAwareValidatedTypeResolverDecorator( new GenericTypeAwareValidatedTypeResolverDecorator(new NullValidatedTypeResolver()))); @@ -138,7 +139,7 @@ public void GetValidationRuleCollectors_GenericTypeNotAssignableFromClassType () Assert.That( () => - DiscoveryServiceBasedValidationRuleCollectorReflector.Create( + new DiscoveryServiceBasedValidationRuleCollectorReflector( _typeDiscoveryServiceStub.Object, new ClassTypeAwareValidatedTypeResolverDecorator( new GenericTypeAwareValidatedTypeResolverDecorator(new NullValidatedTypeResolver()))).GetCollectorsForType( @@ -153,6 +154,7 @@ public void GetValidationRuleCollectors_GenericTypeNotAssignableFromClassType () public void GetValidationRuleCollectors_WithRemotionDiscoveryService () { var typeCollectorProvider = new DiscoveryServiceBasedValidationRuleCollectorReflector( + SafeServiceLocator.Current.GetInstance(), new ClassTypeAwareValidatedTypeResolverDecorator( new GenericTypeAwareValidatedTypeResolverDecorator(new NullValidatedTypeResolver()))); @@ -178,7 +180,7 @@ public void GetValidationRuleCollectors_NoValidatedTypeFound_ExceptionIsThrown ( var validatedTypeResolverStub = new Mock(); validatedTypeResolverStub.Setup(stub => stub.GetValidatedType(typeof(CustomerValidationRuleCollector1))).Returns((Type)null); - var typeCollectorProvider = DiscoveryServiceBasedValidationRuleCollectorReflector.Create(_typeDiscoveryServiceStub.Object, validatedTypeResolverStub.Object); + var typeCollectorProvider = new DiscoveryServiceBasedValidationRuleCollectorReflector(_typeDiscoveryServiceStub.Object, validatedTypeResolverStub.Object); Assert.That( () => typeCollectorProvider.GetCollectorsForType(typeof(Customer)), Throws.InvalidOperationException diff --git a/Remotion/Validation/UnitTests/Implementation/IInvolvedTypeProviderTest.cs b/Remotion/Validation/UnitTests/Implementation/IInvolvedTypeProviderTest.cs index f0f52ec6b5..97bf75fda8 100644 --- a/Remotion/Validation/UnitTests/Implementation/IInvolvedTypeProviderTest.cs +++ b/Remotion/Validation/UnitTests/Implementation/IInvolvedTypeProviderTest.cs @@ -29,7 +29,7 @@ public class IInvolvedTypeProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Validation/UnitTests/Implementation/IValidatedTypeResolverTest.cs b/Remotion/Validation/UnitTests/Implementation/IValidatedTypeResolverTest.cs index 820bf69031..1dffe851d8 100644 --- a/Remotion/Validation/UnitTests/Implementation/IValidatedTypeResolverTest.cs +++ b/Remotion/Validation/UnitTests/Implementation/IValidatedTypeResolverTest.cs @@ -29,7 +29,7 @@ public class IValidatedTypeResolverTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Validation/UnitTests/Implementation/IValidationMessageFactoryTest.cs b/Remotion/Validation/UnitTests/Implementation/IValidationMessageFactoryTest.cs index e656d2dae6..8eddf3203a 100644 --- a/Remotion/Validation/UnitTests/Implementation/IValidationMessageFactoryTest.cs +++ b/Remotion/Validation/UnitTests/Implementation/IValidationMessageFactoryTest.cs @@ -30,7 +30,7 @@ public class IValidationMessageFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Validation/UnitTests/Implementation/IValidationRuleCollectorReflectorTest.cs b/Remotion/Validation/UnitTests/Implementation/IValidationRuleCollectorReflectorTest.cs index 117cf721e0..51a701f84f 100644 --- a/Remotion/Validation/UnitTests/Implementation/IValidationRuleCollectorReflectorTest.cs +++ b/Remotion/Validation/UnitTests/Implementation/IValidationRuleCollectorReflectorTest.cs @@ -29,7 +29,7 @@ public class IValidationRuleCollectorReflectorTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Validation/UnitTests/Implementation/IValidationRuleCollectorValidatorTest.cs b/Remotion/Validation/UnitTests/Implementation/IValidationRuleCollectorValidatorTest.cs index f88d7e2215..1e48ea4cb5 100644 --- a/Remotion/Validation/UnitTests/Implementation/IValidationRuleCollectorValidatorTest.cs +++ b/Remotion/Validation/UnitTests/Implementation/IValidationRuleCollectorValidatorTest.cs @@ -30,7 +30,7 @@ public class IValidationRuleCollectorValidatorTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Validation/UnitTests/Implementation/IValidationTypeFilterTest.cs b/Remotion/Validation/UnitTests/Implementation/IValidationTypeFilterTest.cs index 2a3429363c..868b5e92c8 100644 --- a/Remotion/Validation/UnitTests/Implementation/IValidationTypeFilterTest.cs +++ b/Remotion/Validation/UnitTests/Implementation/IValidationTypeFilterTest.cs @@ -30,7 +30,7 @@ public class IValidationTypeFilterTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Validation/UnitTests/Implementation/IValidatorBuilderTest.cs b/Remotion/Validation/UnitTests/Implementation/IValidatorBuilderTest.cs index e62dc3d7b4..3a796827b1 100644 --- a/Remotion/Validation/UnitTests/Implementation/IValidatorBuilderTest.cs +++ b/Remotion/Validation/UnitTests/Implementation/IValidatorBuilderTest.cs @@ -30,7 +30,7 @@ public class IValidatorBuilderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Validation/UnitTests/Implementation/IValidatorFormatterTest.cs b/Remotion/Validation/UnitTests/Implementation/IValidatorFormatterTest.cs index 2fc37a2758..b829a24903 100644 --- a/Remotion/Validation/UnitTests/Implementation/IValidatorFormatterTest.cs +++ b/Remotion/Validation/UnitTests/Implementation/IValidatorFormatterTest.cs @@ -29,7 +29,7 @@ public class IValidatorFormatterTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Validation/UnitTests/Implementation/ValidatorBuilderSerializationDecoratorTest.cs b/Remotion/Validation/UnitTests/Implementation/ValidatorBuilderSerializationDecoratorTest.cs index 5254d3c76a..fe0e0cfa12 100644 --- a/Remotion/Validation/UnitTests/Implementation/ValidatorBuilderSerializationDecoratorTest.cs +++ b/Remotion/Validation/UnitTests/Implementation/ValidatorBuilderSerializationDecoratorTest.cs @@ -20,7 +20,7 @@ public IValidator BuildValidator (Type validatedType) [Test] public void SerializeAndDeserializeReturnsSameInstance () { - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.Register( new ServiceConfigurationEntry( typeof(IValidatorBuilder), diff --git a/Remotion/Validation/UnitTests/Merging/IObjectValidatorExtractorFactoryTest.cs b/Remotion/Validation/UnitTests/Merging/IObjectValidatorExtractorFactoryTest.cs index d02a9bada4..593d1ad8c8 100644 --- a/Remotion/Validation/UnitTests/Merging/IObjectValidatorExtractorFactoryTest.cs +++ b/Remotion/Validation/UnitTests/Merging/IObjectValidatorExtractorFactoryTest.cs @@ -29,7 +29,7 @@ public class IObjectValidatorExtractorFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Validation/UnitTests/Merging/IPropertyValidatorExtractorFactoryTest.cs b/Remotion/Validation/UnitTests/Merging/IPropertyValidatorExtractorFactoryTest.cs index 2a5bf14b14..c01be01392 100644 --- a/Remotion/Validation/UnitTests/Merging/IPropertyValidatorExtractorFactoryTest.cs +++ b/Remotion/Validation/UnitTests/Merging/IPropertyValidatorExtractorFactoryTest.cs @@ -29,7 +29,7 @@ public class IPropertyValidatorExtractorFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Validation/UnitTests/Merging/IValidationRuleCollectorMergerTest.cs b/Remotion/Validation/UnitTests/Merging/IValidationRuleCollectorMergerTest.cs index 191accb35a..ba957fc0e3 100644 --- a/Remotion/Validation/UnitTests/Merging/IValidationRuleCollectorMergerTest.cs +++ b/Remotion/Validation/UnitTests/Merging/IValidationRuleCollectorMergerTest.cs @@ -30,7 +30,7 @@ public class IValidationRuleCollectorMergerTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Validation/UnitTests/MetaValidation/IObjectMetaValidationRuleValidatorFactoryTest.cs b/Remotion/Validation/UnitTests/MetaValidation/IObjectMetaValidationRuleValidatorFactoryTest.cs index e115dfbacc..341822f56b 100644 --- a/Remotion/Validation/UnitTests/MetaValidation/IObjectMetaValidationRuleValidatorFactoryTest.cs +++ b/Remotion/Validation/UnitTests/MetaValidation/IObjectMetaValidationRuleValidatorFactoryTest.cs @@ -29,7 +29,7 @@ public class IObjectMetaValidationRuleValidatorFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Validation/UnitTests/MetaValidation/IPropertyMetaValidationRuleValidatorFactoryTest.cs b/Remotion/Validation/UnitTests/MetaValidation/IPropertyMetaValidationRuleValidatorFactoryTest.cs index 4016c9d355..b3440b2152 100644 --- a/Remotion/Validation/UnitTests/MetaValidation/IPropertyMetaValidationRuleValidatorFactoryTest.cs +++ b/Remotion/Validation/UnitTests/MetaValidation/IPropertyMetaValidationRuleValidatorFactoryTest.cs @@ -29,7 +29,7 @@ public class IPropertyMetaValidationRuleValidatorFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Validation/UnitTests/MetaValidation/ISystemPropertyMetaValidationRuleProviderFactoryTest.cs b/Remotion/Validation/UnitTests/MetaValidation/ISystemPropertyMetaValidationRuleProviderFactoryTest.cs index 1dcfdb5780..1855f03fb8 100644 --- a/Remotion/Validation/UnitTests/MetaValidation/ISystemPropertyMetaValidationRuleProviderFactoryTest.cs +++ b/Remotion/Validation/UnitTests/MetaValidation/ISystemPropertyMetaValidationRuleProviderFactoryTest.cs @@ -29,7 +29,7 @@ public class ISystemPropertyMetaValidationRuleProviderFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Validation/UnitTests/Providers/IValidationRuleCollectorProviderTest.cs b/Remotion/Validation/UnitTests/Providers/IValidationRuleCollectorProviderTest.cs index 0335cde40a..3d4ddc572f 100644 --- a/Remotion/Validation/UnitTests/Providers/IValidationRuleCollectorProviderTest.cs +++ b/Remotion/Validation/UnitTests/Providers/IValidationRuleCollectorProviderTest.cs @@ -30,7 +30,7 @@ public class IValidationRuleCollectorProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/Development.WebTesting.TestSite.NetFramework/Global.asax.cs b/Remotion/Web/Development.WebTesting.TestSite.NetFramework/Global.asax.cs index ccfae3769d..223bf28056 100644 --- a/Remotion/Web/Development.WebTesting.TestSite.NetFramework/Global.asax.cs +++ b/Remotion/Web/Development.WebTesting.TestSite.NetFramework/Global.asax.cs @@ -67,7 +67,7 @@ private static void RegisterResourceVirtualPathProvider () private void SetRenderingFeatures (IRenderingFeatures renderingFeatures, ResourceTheme resourceTheme) { - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => renderingFeatures); serviceLocator.RegisterSingle(() => resourceTheme); ServiceLocator.SetLocatorProvider(() => serviceLocator); diff --git a/Remotion/Web/Development.WebTesting.TestSite/Global.asax.cs b/Remotion/Web/Development.WebTesting.TestSite/Global.asax.cs index 7f052c50d1..ca8f520bf5 100644 --- a/Remotion/Web/Development.WebTesting.TestSite/Global.asax.cs +++ b/Remotion/Web/Development.WebTesting.TestSite/Global.asax.cs @@ -67,7 +67,7 @@ private static void RegisterResourceVirtualPathProvider () private void SetRenderingFeatures (IRenderingFeatures renderingFeatures, ResourceTheme resourceTheme) { - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => renderingFeatures); serviceLocator.RegisterSingle(() => resourceTheme); ServiceLocator.SetLocatorProvider(() => serviceLocator); diff --git a/Remotion/Web/Test.NetFramework/Global.asax.cs b/Remotion/Web/Test.NetFramework/Global.asax.cs index 1a939f64ae..8063ed41cf 100644 --- a/Remotion/Web/Test.NetFramework/Global.asax.cs +++ b/Remotion/Web/Test.NetFramework/Global.asax.cs @@ -32,7 +32,7 @@ public class Global : HttpApplication protected void Application_Start (Object sender, EventArgs e) { - var defaultServiceLocator = DefaultServiceLocator.Create(); + var defaultServiceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); ServiceLocator.SetLocatorProvider(() => defaultServiceLocator); LogManager.Initialize(); diff --git a/Remotion/Web/Test/Global.asax.cs b/Remotion/Web/Test/Global.asax.cs index 4ee849f253..be05ad4509 100644 --- a/Remotion/Web/Test/Global.asax.cs +++ b/Remotion/Web/Test/Global.asax.cs @@ -33,7 +33,7 @@ public class Global : HttpApplication protected void Application_Start (Object sender, EventArgs e) { - var defaultServiceLocator = DefaultServiceLocator.Create(); + var defaultServiceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); var wxeLifetimeManagementSettings = WxeLifetimeManagementSettings.Create(functionTimeout: 16, refreshInterval: 5); defaultServiceLocator.RegisterSingle(() => wxeLifetimeManagementSettings); diff --git a/Remotion/Web/UnitTests/Core/Compilation/IControlBuilderCodeProcessorTest.cs b/Remotion/Web/UnitTests/Core/Compilation/IControlBuilderCodeProcessorTest.cs index b8a6fb189a..f169a4f072 100644 --- a/Remotion/Web/UnitTests/Core/Compilation/IControlBuilderCodeProcessorTest.cs +++ b/Remotion/Web/UnitTests/Core/Compilation/IControlBuilderCodeProcessorTest.cs @@ -29,7 +29,7 @@ public class IControlBuilderCodeProcessorTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/Context/ISafeContextStorageProviderTest.cs b/Remotion/Web/UnitTests/Core/Context/ISafeContextStorageProviderTest.cs index 005dcf8ed7..479c15656c 100644 --- a/Remotion/Web/UnitTests/Core/Context/ISafeContextStorageProviderTest.cs +++ b/Remotion/Web/UnitTests/Core/Context/ISafeContextStorageProviderTest.cs @@ -16,7 +16,7 @@ public class ISafeContextStorageProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/ExecutionEngine/IWxeLifetimeManagementSettingsTest.cs b/Remotion/Web/UnitTests/Core/ExecutionEngine/IWxeLifetimeManagementSettingsTest.cs index 7a3db4978e..2fb062c067 100644 --- a/Remotion/Web/UnitTests/Core/ExecutionEngine/IWxeLifetimeManagementSettingsTest.cs +++ b/Remotion/Web/UnitTests/Core/ExecutionEngine/IWxeLifetimeManagementSettingsTest.cs @@ -13,7 +13,7 @@ public class IWxeLifetimeManagementSettingsTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/ExecutionEngine/UrlMapping/IUrlMappingFileFinderTest.cs b/Remotion/Web/UnitTests/Core/ExecutionEngine/UrlMapping/IUrlMappingFileFinderTest.cs index acb90ed636..8583e97d45 100644 --- a/Remotion/Web/UnitTests/Core/ExecutionEngine/UrlMapping/IUrlMappingFileFinderTest.cs +++ b/Remotion/Web/UnitTests/Core/ExecutionEngine/UrlMapping/IUrlMappingFileFinderTest.cs @@ -28,7 +28,7 @@ public class IUrlMappingFileFinderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/ExecutionEngine/UrlMapping/IUrlMappingFileLoader.cs b/Remotion/Web/UnitTests/Core/ExecutionEngine/UrlMapping/IUrlMappingFileLoader.cs index 6d91604fcc..d721cf29d3 100644 --- a/Remotion/Web/UnitTests/Core/ExecutionEngine/UrlMapping/IUrlMappingFileLoader.cs +++ b/Remotion/Web/UnitTests/Core/ExecutionEngine/UrlMapping/IUrlMappingFileLoader.cs @@ -28,7 +28,7 @@ public class IUrlMappingFileLoaderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/ExecutionEngine/UrlMapping/UrlMappingConfigurationTest.cs b/Remotion/Web/UnitTests/Core/ExecutionEngine/UrlMapping/UrlMappingConfigurationTest.cs index 2a79ad7a16..18a13f0026 100644 --- a/Remotion/Web/UnitTests/Core/ExecutionEngine/UrlMapping/UrlMappingConfigurationTest.cs +++ b/Remotion/Web/UnitTests/Core/ExecutionEngine/UrlMapping/UrlMappingConfigurationTest.cs @@ -82,7 +82,7 @@ public void GetCurrentMapping () UrlMappingConfiguration.SetCurrent(null!); var fileFinder = BaseDirectoryBasedUrlMappingFileFinder.Create(@"Res\UrlMapping.xml"); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => fileFinder); using var _ = new ServiceLocatorScope(serviceLocator); diff --git a/Remotion/Web/UnitTests/Core/ExecutionEngine/WxeContextTest.cs b/Remotion/Web/UnitTests/Core/ExecutionEngine/WxeContextTest.cs index 459dfeca8d..d3db866531 100644 --- a/Remotion/Web/UnitTests/Core/ExecutionEngine/WxeContextTest.cs +++ b/Remotion/Web/UnitTests/Core/ExecutionEngine/WxeContextTest.cs @@ -296,7 +296,7 @@ private ServiceLocatorScope CreateWxeUrlSettingsScopeWithDefaultWxeHandler (int { var wxeUrlSettings = WxeUrlSettings.Create(maxLength, "WxeHandler.ashx"); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => wxeUrlSettings); return new ServiceLocatorScope(serviceLocator); } diff --git a/Remotion/Web/UnitTests/Core/ExecutionEngine/WxeFunctionTests/Security.cs b/Remotion/Web/UnitTests/Core/ExecutionEngine/WxeFunctionTests/Security.cs index 0c62893d56..e0ce1d5e21 100644 --- a/Remotion/Web/UnitTests/Core/ExecutionEngine/WxeFunctionTests/Security.cs +++ b/Remotion/Web/UnitTests/Core/ExecutionEngine/WxeFunctionTests/Security.cs @@ -39,7 +39,7 @@ public void SetUp () _wxeContext = WxeContextFactory.Create(rootFunction); _mockWxeSecurityAdapter = new Mock(MockBehavior.Strict); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterMultiple(() => _mockWxeSecurityAdapter.Object); _serviceLocatorScope = new ServiceLocatorScope(serviceLocator); } @@ -86,7 +86,7 @@ public void HasStatelessAccessDenied () [Test] public void HasStatelessAccessGrantedWithoutWxeSecurityProvider () { - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterMultiple(); using (new ServiceLocatorScope(serviceLocator)) { diff --git a/Remotion/Web/UnitTests/Core/ExecutionEngine/WxeUrlSettingsTest.cs b/Remotion/Web/UnitTests/Core/ExecutionEngine/WxeUrlSettingsTest.cs index 553aab7a2f..f39117aca8 100644 --- a/Remotion/Web/UnitTests/Core/ExecutionEngine/WxeUrlSettingsTest.cs +++ b/Remotion/Web/UnitTests/Core/ExecutionEngine/WxeUrlSettingsTest.cs @@ -14,7 +14,7 @@ public class WxeUrlSettingsTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/IResourceUrlFactoryTest.cs b/Remotion/Web/UnitTests/Core/IResourceUrlFactoryTest.cs index a7115e7945..b1828aec57 100644 --- a/Remotion/Web/UnitTests/Core/IResourceUrlFactoryTest.cs +++ b/Remotion/Web/UnitTests/Core/IResourceUrlFactoryTest.cs @@ -32,7 +32,7 @@ public void SetUp () { Console.WriteLine(typeof(HttpContext).AssemblyQualifiedName); - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/Infrastructure/IBuildManagerTest.cs b/Remotion/Web/UnitTests/Core/Infrastructure/IBuildManagerTest.cs index 0eee0d757f..07c1c6c876 100644 --- a/Remotion/Web/UnitTests/Core/Infrastructure/IBuildManagerTest.cs +++ b/Remotion/Web/UnitTests/Core/Infrastructure/IBuildManagerTest.cs @@ -29,7 +29,7 @@ public class IBuildManagerTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/Infrastructure/IHttpContextProviderTest.cs b/Remotion/Web/UnitTests/Core/Infrastructure/IHttpContextProviderTest.cs index e06dbb418a..73624f0b66 100644 --- a/Remotion/Web/UnitTests/Core/Infrastructure/IHttpContextProviderTest.cs +++ b/Remotion/Web/UnitTests/Core/Infrastructure/IHttpContextProviderTest.cs @@ -29,7 +29,7 @@ public class IHttpContextProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/Infrastructure/IInfrastructureResourceUrlFactoryTest.cs b/Remotion/Web/UnitTests/Core/Infrastructure/IInfrastructureResourceUrlFactoryTest.cs index 46216bf66b..9718712b62 100644 --- a/Remotion/Web/UnitTests/Core/Infrastructure/IInfrastructureResourceUrlFactoryTest.cs +++ b/Remotion/Web/UnitTests/Core/Infrastructure/IInfrastructureResourceUrlFactoryTest.cs @@ -29,7 +29,7 @@ public class IInfrastructureResourceUrlFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/Resources/ICacheableResourcePathBuilderTest.cs b/Remotion/Web/UnitTests/Core/Resources/ICacheableResourcePathBuilderTest.cs index 7376502b19..e36f89d9b4 100644 --- a/Remotion/Web/UnitTests/Core/Resources/ICacheableResourcePathBuilderTest.cs +++ b/Remotion/Web/UnitTests/Core/Resources/ICacheableResourcePathBuilderTest.cs @@ -29,7 +29,7 @@ public class ICacheableResourcePathBuilderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/Resources/IResourcePathBuilderTest.cs b/Remotion/Web/UnitTests/Core/Resources/IResourcePathBuilderTest.cs index baa984463c..d511c32d2a 100644 --- a/Remotion/Web/UnitTests/Core/Resources/IResourcePathBuilderTest.cs +++ b/Remotion/Web/UnitTests/Core/Resources/IResourcePathBuilderTest.cs @@ -29,7 +29,7 @@ public class IResourcePathBuilderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/Resources/IStaticResourceCacheKeyProviderTest.cs b/Remotion/Web/UnitTests/Core/Resources/IStaticResourceCacheKeyProviderTest.cs index 4b25869fe4..f0bdf3147c 100644 --- a/Remotion/Web/UnitTests/Core/Resources/IStaticResourceCacheKeyProviderTest.cs +++ b/Remotion/Web/UnitTests/Core/Resources/IStaticResourceCacheKeyProviderTest.cs @@ -29,7 +29,7 @@ public class IStaticResourceCacheKeyProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/Resources/ResourceRootTest.cs b/Remotion/Web/UnitTests/Core/Resources/ResourceRootTest.cs index a09c4834b6..028fd3e7da 100644 --- a/Remotion/Web/UnitTests/Core/Resources/ResourceRootTest.cs +++ b/Remotion/Web/UnitTests/Core/Resources/ResourceRootTest.cs @@ -10,7 +10,7 @@ public class ResourceRootTest [Test] public void GetInstance_Once () { - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); var factory = serviceLocator.GetInstance(); @@ -21,7 +21,7 @@ public void GetInstance_Once () [Test] public void GetInstance_Twice_ReturnsSameInstance () { - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); var factory1 = serviceLocator.GetInstance(); var factory2 = serviceLocator.GetInstance(); diff --git a/Remotion/Web/UnitTests/Core/Security/ExecutionEngine/IWxeSecurityAdapterTest.cs b/Remotion/Web/UnitTests/Core/Security/ExecutionEngine/IWxeSecurityAdapterTest.cs index 8982dde749..ff097f8b32 100644 --- a/Remotion/Web/UnitTests/Core/Security/ExecutionEngine/IWxeSecurityAdapterTest.cs +++ b/Remotion/Web/UnitTests/Core/Security/ExecutionEngine/IWxeSecurityAdapterTest.cs @@ -31,7 +31,7 @@ public class IWxeSecurityAdapterTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/Security/ExecutionEngine/WxeSecurityAdapterTestWithPermissionsFromConstructor.cs b/Remotion/Web/UnitTests/Core/Security/ExecutionEngine/WxeSecurityAdapterTestWithPermissionsFromConstructor.cs index 63ee2ea727..3859a0e3ea 100644 --- a/Remotion/Web/UnitTests/Core/Security/ExecutionEngine/WxeSecurityAdapterTestWithPermissionsFromConstructor.cs +++ b/Remotion/Web/UnitTests/Core/Security/ExecutionEngine/WxeSecurityAdapterTestWithPermissionsFromConstructor.cs @@ -63,7 +63,7 @@ public void SetUp () _mockPrincipalProvider.Setup(_ => _.GetPrincipal()).Returns(_stubUser.Object).Verifiable(); _mockFunctionalSecurityStrategy = new Mock(MockBehavior.Strict); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => _mockSecurityProvider.Object); serviceLocator.RegisterSingle(() => _mockPrincipalProvider.Object); serviceLocator.RegisterSingle(() => _mockFunctionalSecurityStrategy.Object); diff --git a/Remotion/Web/UnitTests/Core/Security/ExecutionEngine/WxeSecurityAdapterTestWithPermissionsFromInstanceMethod.cs b/Remotion/Web/UnitTests/Core/Security/ExecutionEngine/WxeSecurityAdapterTestWithPermissionsFromInstanceMethod.cs index b026da308a..be4d724a99 100644 --- a/Remotion/Web/UnitTests/Core/Security/ExecutionEngine/WxeSecurityAdapterTestWithPermissionsFromInstanceMethod.cs +++ b/Remotion/Web/UnitTests/Core/Security/ExecutionEngine/WxeSecurityAdapterTestWithPermissionsFromInstanceMethod.cs @@ -66,7 +66,7 @@ public void SetUp () _mockObjectSecurityStrategy = new Mock(MockBehavior.Strict); _mockFunctionalSecurityStrategy = new Mock(MockBehavior.Strict); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => _mockSecurityProvider.Object); serviceLocator.RegisterSingle(() => _mockPrincipalProvider.Object); serviceLocator.RegisterSingle(() => _mockFunctionalSecurityStrategy.Object); diff --git a/Remotion/Web/UnitTests/Core/Security/ExecutionEngine/WxeSecurityAdapterTestWithPermissionsFromStaticMethod.cs b/Remotion/Web/UnitTests/Core/Security/ExecutionEngine/WxeSecurityAdapterTestWithPermissionsFromStaticMethod.cs index 0c9a8d1df8..f7cbc20b1a 100644 --- a/Remotion/Web/UnitTests/Core/Security/ExecutionEngine/WxeSecurityAdapterTestWithPermissionsFromStaticMethod.cs +++ b/Remotion/Web/UnitTests/Core/Security/ExecutionEngine/WxeSecurityAdapterTestWithPermissionsFromStaticMethod.cs @@ -64,7 +64,7 @@ public void SetUp () _mockFunctionalSecurityStrategy = new Mock(MockBehavior.Strict); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => _mockSecurityProvider.Object); serviceLocator.RegisterSingle(() => _mockPrincipalProvider.Object); serviceLocator.RegisterSingle(() => _mockFunctionalSecurityStrategy.Object); diff --git a/Remotion/Web/UnitTests/Core/Security/ExecutionEngine/WxeSecurityAdapterTestWithoutPermissionAttribute.cs b/Remotion/Web/UnitTests/Core/Security/ExecutionEngine/WxeSecurityAdapterTestWithoutPermissionAttribute.cs index b4a8d5548c..0cef4254fe 100644 --- a/Remotion/Web/UnitTests/Core/Security/ExecutionEngine/WxeSecurityAdapterTestWithoutPermissionAttribute.cs +++ b/Remotion/Web/UnitTests/Core/Security/ExecutionEngine/WxeSecurityAdapterTestWithoutPermissionAttribute.cs @@ -58,7 +58,7 @@ public void SetUp () _mockPrincipalProvider = new Mock(MockBehavior.Strict); _mockFunctionalSecurityStrategy = new Mock(MockBehavior.Strict); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => _mockSecurityProvider.Object); serviceLocator.RegisterSingle(() => _mockPrincipalProvider.Object); serviceLocator.RegisterSingle(() => _mockFunctionalSecurityStrategy.Object); diff --git a/Remotion/Web/UnitTests/Core/Security/IPrincipalProviderTest.cs b/Remotion/Web/UnitTests/Core/Security/IPrincipalProviderTest.cs index e54fdf9b23..6745b7423f 100644 --- a/Remotion/Web/UnitTests/Core/Security/IPrincipalProviderTest.cs +++ b/Remotion/Web/UnitTests/Core/Security/IPrincipalProviderTest.cs @@ -30,7 +30,7 @@ public class IPrincipalProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/Security/UI/IWebSecurityAdapterTest.cs b/Remotion/Web/UnitTests/Core/Security/UI/IWebSecurityAdapterTest.cs index 21d7f5623e..fe664ff06d 100644 --- a/Remotion/Web/UnitTests/Core/Security/UI/IWebSecurityAdapterTest.cs +++ b/Remotion/Web/UnitTests/Core/Security/UI/IWebSecurityAdapterTest.cs @@ -31,7 +31,7 @@ public class IWebSecurityAdapterTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/Security/UI/WebSecurityAdapterTests/PermissionFromSecurableObjectTest.cs b/Remotion/Web/UnitTests/Core/Security/UI/WebSecurityAdapterTests/PermissionFromSecurableObjectTest.cs index 11a3d717b3..9f01968c06 100644 --- a/Remotion/Web/UnitTests/Core/Security/UI/WebSecurityAdapterTests/PermissionFromSecurableObjectTest.cs +++ b/Remotion/Web/UnitTests/Core/Security/UI/WebSecurityAdapterTests/PermissionFromSecurableObjectTest.cs @@ -39,7 +39,7 @@ public void SetUp () _testHelper = new WebPermissionProviderTestHelper(); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => _testHelper.SecurityProvider); serviceLocator.RegisterSingle(() => _testHelper.PrincipalProvider); serviceLocator.RegisterSingle(() => _testHelper.FunctionalSecurityStrategy); diff --git a/Remotion/Web/UnitTests/Core/Security/UI/WebSecurityAdapterTests/PermissionFromWxeFunctionTest.cs b/Remotion/Web/UnitTests/Core/Security/UI/WebSecurityAdapterTests/PermissionFromWxeFunctionTest.cs index c6f52a6310..983846f46c 100644 --- a/Remotion/Web/UnitTests/Core/Security/UI/WebSecurityAdapterTests/PermissionFromWxeFunctionTest.cs +++ b/Remotion/Web/UnitTests/Core/Security/UI/WebSecurityAdapterTests/PermissionFromWxeFunctionTest.cs @@ -38,7 +38,7 @@ public void SetUp () _securityAdapter = new WebSecurityAdapter(); _testHelper = new WebPermissionProviderTestHelper(); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterMultiple(); serviceLocator.RegisterMultiple(() => _testHelper.WxeSecurityAdapter); _serviceLocatorScope = new ServiceLocatorScope(serviceLocator); diff --git a/Remotion/Web/UnitTests/Core/Services/IWebServiceFactoryTest.cs b/Remotion/Web/UnitTests/Core/Services/IWebServiceFactoryTest.cs index 7d5ae6e3ce..c900650be8 100644 --- a/Remotion/Web/UnitTests/Core/Services/IWebServiceFactoryTest.cs +++ b/Remotion/Web/UnitTests/Core/Services/IWebServiceFactoryTest.cs @@ -12,7 +12,7 @@ public class IWebServiceFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/SetUpFixture.cs b/Remotion/Web/UnitTests/Core/SetUpFixture.cs index 1dff3d029e..f22ffa7e43 100644 --- a/Remotion/Web/UnitTests/Core/SetUpFixture.cs +++ b/Remotion/Web/UnitTests/Core/SetUpFixture.cs @@ -42,7 +42,7 @@ public void OneTimeSetUp () { XmlNodeExtensions.Helper = new HtmlHelper(); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => new FakeInfrastructureResourceUrlFactory()); serviceLocator.RegisterSingle(() => new FakeScriptUtility()); serviceLocator.RegisterSingle(() => new FakeResourceUrlFactory()); diff --git a/Remotion/Web/UnitTests/Core/UI/Controls/DatePickerButtonImplementation/Rendering/IDatePickerPageRendererTest.cs b/Remotion/Web/UnitTests/Core/UI/Controls/DatePickerButtonImplementation/Rendering/IDatePickerPageRendererTest.cs index 2fbed09cd8..2d9ace76e1 100644 --- a/Remotion/Web/UnitTests/Core/UI/Controls/DatePickerButtonImplementation/Rendering/IDatePickerPageRendererTest.cs +++ b/Remotion/Web/UnitTests/Core/UI/Controls/DatePickerButtonImplementation/Rendering/IDatePickerPageRendererTest.cs @@ -13,7 +13,7 @@ public class IDatePickerPageRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/UI/Controls/DropDownMenuImplementation/Rendering/IDropDownMenuRendererTest.cs b/Remotion/Web/UnitTests/Core/UI/Controls/DropDownMenuImplementation/Rendering/IDropDownMenuRendererTest.cs index 92c3bf37af..4182fab1b5 100644 --- a/Remotion/Web/UnitTests/Core/UI/Controls/DropDownMenuImplementation/Rendering/IDropDownMenuRendererTest.cs +++ b/Remotion/Web/UnitTests/Core/UI/Controls/DropDownMenuImplementation/Rendering/IDropDownMenuRendererTest.cs @@ -29,7 +29,7 @@ public class IDropDownMenuRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/UI/Controls/Hotkey/IHotkeyFormatterTest.cs b/Remotion/Web/UnitTests/Core/UI/Controls/Hotkey/IHotkeyFormatterTest.cs index 1f94a072e5..a028a43395 100644 --- a/Remotion/Web/UnitTests/Core/UI/Controls/Hotkey/IHotkeyFormatterTest.cs +++ b/Remotion/Web/UnitTests/Core/UI/Controls/Hotkey/IHotkeyFormatterTest.cs @@ -29,7 +29,7 @@ public class IHotkeyFormatterTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/UI/Controls/HtmlHeadContentsImplementation/Rendering/IHtmlHeadContentsRendererTest.cs b/Remotion/Web/UnitTests/Core/UI/Controls/HtmlHeadContentsImplementation/Rendering/IHtmlHeadContentsRendererTest.cs index 3f08afd8fd..1b3ce89540 100644 --- a/Remotion/Web/UnitTests/Core/UI/Controls/HtmlHeadContentsImplementation/Rendering/IHtmlHeadContentsRendererTest.cs +++ b/Remotion/Web/UnitTests/Core/UI/Controls/HtmlHeadContentsImplementation/Rendering/IHtmlHeadContentsRendererTest.cs @@ -30,7 +30,7 @@ public class IHtmlHeadContentsRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/UI/Controls/IClientScriptBehaviorTest.cs b/Remotion/Web/UnitTests/Core/UI/Controls/IClientScriptBehaviorTest.cs index 422bb23bb5..3929c1f57b 100644 --- a/Remotion/Web/UnitTests/Core/UI/Controls/IClientScriptBehaviorTest.cs +++ b/Remotion/Web/UnitTests/Core/UI/Controls/IClientScriptBehaviorTest.cs @@ -29,7 +29,7 @@ public class IClientScriptBehaviorTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/UI/Controls/IFallbackNavigationUrlProviderTest.cs b/Remotion/Web/UnitTests/Core/UI/Controls/IFallbackNavigationUrlProviderTest.cs index a577e063e3..da1123a090 100644 --- a/Remotion/Web/UnitTests/Core/UI/Controls/IFallbackNavigationUrlProviderTest.cs +++ b/Remotion/Web/UnitTests/Core/UI/Controls/IFallbackNavigationUrlProviderTest.cs @@ -28,7 +28,7 @@ public class IFallbackNavigationUrlProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/UI/Controls/ListMenuImplementation/Rendering/IListMenuRendererTest.cs b/Remotion/Web/UnitTests/Core/UI/Controls/ListMenuImplementation/Rendering/IListMenuRendererTest.cs index 2ea9cbed3d..2a826ff678 100644 --- a/Remotion/Web/UnitTests/Core/UI/Controls/ListMenuImplementation/Rendering/IListMenuRendererTest.cs +++ b/Remotion/Web/UnitTests/Core/UI/Controls/ListMenuImplementation/Rendering/IListMenuRendererTest.cs @@ -29,7 +29,7 @@ public class IListMenuRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/UI/Controls/ListMenuImplementation/Rendering/ListMenuRendererTest.cs b/Remotion/Web/UnitTests/Core/UI/Controls/ListMenuImplementation/Rendering/ListMenuRendererTest.cs index 3fb724e947..645039bba1 100644 --- a/Remotion/Web/UnitTests/Core/UI/Controls/ListMenuImplementation/Rendering/ListMenuRendererTest.cs +++ b/Remotion/Web/UnitTests/Core/UI/Controls/ListMenuImplementation/Rendering/ListMenuRendererTest.cs @@ -70,7 +70,7 @@ public void SetUp () PopulateMenu(); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => RenderingFeatures.WithDiagnosticMetadata); _serviceLocatorScope = new ServiceLocatorScope(serviceLocator); } diff --git a/Remotion/Web/UnitTests/Core/UI/Controls/MenuTabTests/SecurityTestWithVisible.cs b/Remotion/Web/UnitTests/Core/UI/Controls/MenuTabTests/SecurityTestWithVisible.cs index 9842e7bbd9..4248c0adb4 100644 --- a/Remotion/Web/UnitTests/Core/UI/Controls/MenuTabTests/SecurityTestWithVisible.cs +++ b/Remotion/Web/UnitTests/Core/UI/Controls/MenuTabTests/SecurityTestWithVisible.cs @@ -39,7 +39,7 @@ public void Setup () _mockWebSecurityAdapter = new Mock(MockBehavior.Strict); _mockNavigationCommand = new Mock(MockBehavior.Strict); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterMultiple(() => _mockWebSecurityAdapter.Object); serviceLocator.RegisterMultiple(); _serviceLocatorScope = new ServiceLocatorScope(serviceLocator); diff --git a/Remotion/Web/UnitTests/Core/UI/Controls/NavigationCommandTest.cs b/Remotion/Web/UnitTests/Core/UI/Controls/NavigationCommandTest.cs index 7e03bf62bc..7627c7be20 100644 --- a/Remotion/Web/UnitTests/Core/UI/Controls/NavigationCommandTest.cs +++ b/Remotion/Web/UnitTests/Core/UI/Controls/NavigationCommandTest.cs @@ -315,7 +315,7 @@ private ServiceLocatorScope CreateWxeUrlSettingsScope (string defaultWxeHandler { var wxeUrlSettings = WxeUrlSettings.Create(1024, defaultWxeHandler); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => wxeUrlSettings); return new ServiceLocatorScope(serviceLocator); } diff --git a/Remotion/Web/UnitTests/Core/UI/Controls/Rendering/ILabelReferenceRendererTest.cs b/Remotion/Web/UnitTests/Core/UI/Controls/Rendering/ILabelReferenceRendererTest.cs index e73cae553a..13bc07ceb7 100644 --- a/Remotion/Web/UnitTests/Core/UI/Controls/Rendering/ILabelReferenceRendererTest.cs +++ b/Remotion/Web/UnitTests/Core/UI/Controls/Rendering/ILabelReferenceRendererTest.cs @@ -29,7 +29,7 @@ public class ILabelReferenceRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/UI/Controls/Rendering/IValidationErrorsRendererTest.cs b/Remotion/Web/UnitTests/Core/UI/Controls/Rendering/IValidationErrorsRendererTest.cs index ba39e40d1c..32f5c0c28b 100644 --- a/Remotion/Web/UnitTests/Core/UI/Controls/Rendering/IValidationErrorsRendererTest.cs +++ b/Remotion/Web/UnitTests/Core/UI/Controls/Rendering/IValidationErrorsRendererTest.cs @@ -29,7 +29,7 @@ public class IValidationErrorsRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/UI/Controls/SingleViewImplementation/Rendering/ISingleViewRendererTest.cs b/Remotion/Web/UnitTests/Core/UI/Controls/SingleViewImplementation/Rendering/ISingleViewRendererTest.cs index b43a98862a..c6f8f9fe37 100644 --- a/Remotion/Web/UnitTests/Core/UI/Controls/SingleViewImplementation/Rendering/ISingleViewRendererTest.cs +++ b/Remotion/Web/UnitTests/Core/UI/Controls/SingleViewImplementation/Rendering/ISingleViewRendererTest.cs @@ -29,7 +29,7 @@ public class ISingleViewRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/UI/Controls/TabbedMenuImplementation/Rendering/IMenuTabRendererTest.cs b/Remotion/Web/UnitTests/Core/UI/Controls/TabbedMenuImplementation/Rendering/IMenuTabRendererTest.cs index e422b1b180..5b1808d263 100644 --- a/Remotion/Web/UnitTests/Core/UI/Controls/TabbedMenuImplementation/Rendering/IMenuTabRendererTest.cs +++ b/Remotion/Web/UnitTests/Core/UI/Controls/TabbedMenuImplementation/Rendering/IMenuTabRendererTest.cs @@ -29,7 +29,7 @@ public class IMenuTabRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/UI/Controls/TabbedMenuImplementation/Rendering/ITabbedMenuRendererTest.cs b/Remotion/Web/UnitTests/Core/UI/Controls/TabbedMenuImplementation/Rendering/ITabbedMenuRendererTest.cs index 6bc72cc69a..9e9170f26f 100644 --- a/Remotion/Web/UnitTests/Core/UI/Controls/TabbedMenuImplementation/Rendering/ITabbedMenuRendererTest.cs +++ b/Remotion/Web/UnitTests/Core/UI/Controls/TabbedMenuImplementation/Rendering/ITabbedMenuRendererTest.cs @@ -29,7 +29,7 @@ public class ITabbedMenuRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/UI/Controls/TabbedMultiViewImplementation/Rendering/ITabbedMultiViewRendererTest.cs b/Remotion/Web/UnitTests/Core/UI/Controls/TabbedMultiViewImplementation/Rendering/ITabbedMultiViewRendererTest.cs index 5180af1a94..3d4d3a730c 100644 --- a/Remotion/Web/UnitTests/Core/UI/Controls/TabbedMultiViewImplementation/Rendering/ITabbedMultiViewRendererTest.cs +++ b/Remotion/Web/UnitTests/Core/UI/Controls/TabbedMultiViewImplementation/Rendering/ITabbedMultiViewRendererTest.cs @@ -29,7 +29,7 @@ public class ITabbedMultiViewRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/UI/Controls/WebButtonImplementation/IWebButtonRendererTest.cs b/Remotion/Web/UnitTests/Core/UI/Controls/WebButtonImplementation/IWebButtonRendererTest.cs index 3f03d7b8e4..de8b96015e 100644 --- a/Remotion/Web/UnitTests/Core/UI/Controls/WebButtonImplementation/IWebButtonRendererTest.cs +++ b/Remotion/Web/UnitTests/Core/UI/Controls/WebButtonImplementation/IWebButtonRendererTest.cs @@ -29,7 +29,7 @@ public class IWebButtonRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/UI/Controls/WebButtonTests/SecurityTestWithEnabled.cs b/Remotion/Web/UnitTests/Core/UI/Controls/WebButtonTests/SecurityTestWithEnabled.cs index 9926939402..88a8d01e1e 100644 --- a/Remotion/Web/UnitTests/Core/UI/Controls/WebButtonTests/SecurityTestWithEnabled.cs +++ b/Remotion/Web/UnitTests/Core/UI/Controls/WebButtonTests/SecurityTestWithEnabled.cs @@ -39,7 +39,7 @@ public void Setup () _mockWebSecurityAdapter = new Mock(MockBehavior.Strict); _mockSecurableObject = new Mock(MockBehavior.Strict); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterMultiple(() => _mockWebSecurityAdapter.Object); serviceLocator.RegisterMultiple(); _serviceLocatorScope = new ServiceLocatorScope(serviceLocator); @@ -82,7 +82,7 @@ public void EvaluateFalse_FromFalseAndWithMissingPermissionBehaviorSetToInvisibl [Test] public void EvaluateTrue_FromTrueAndWithoutWebSeucrityProvider () { - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterMultiple(); serviceLocator.RegisterMultiple(); using (new ServiceLocatorScope(serviceLocator)) @@ -101,7 +101,7 @@ public void EvaluateTrue_FromTrueAndWithoutWebSeucrityProvider () [Test] public void EvaluateFalse_FromFalseAndWithoutWebSeucrityProvider () { - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterMultiple(); serviceLocator.RegisterMultiple(); using (new ServiceLocatorScope(serviceLocator)) diff --git a/Remotion/Web/UnitTests/Core/UI/Controls/WebButtonTests/SecurityTestWithVisible.cs b/Remotion/Web/UnitTests/Core/UI/Controls/WebButtonTests/SecurityTestWithVisible.cs index be73709b17..5e4463c050 100644 --- a/Remotion/Web/UnitTests/Core/UI/Controls/WebButtonTests/SecurityTestWithVisible.cs +++ b/Remotion/Web/UnitTests/Core/UI/Controls/WebButtonTests/SecurityTestWithVisible.cs @@ -39,7 +39,7 @@ public void Setup () _mockWebSecurityAdapter = new Mock(MockBehavior.Strict); _mockSecurableObject = new Mock(MockBehavior.Strict); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterMultiple(() => _mockWebSecurityAdapter.Object); serviceLocator.RegisterMultiple(); _serviceLocatorStub = new ServiceLocatorScope(serviceLocator); @@ -82,7 +82,7 @@ public void EvaluateFalse_FromFalseAndWithMissingPermissionBehaviorSetToDisabled [Test] public void EvaluateTrue_FromTrueAndWithoutWebSeucrityProvider () { - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterMultiple(); serviceLocator.RegisterMultiple(); using (new ServiceLocatorScope(serviceLocator)) @@ -101,7 +101,7 @@ public void EvaluateTrue_FromTrueAndWithoutWebSeucrityProvider () [Test] public void EvaluateFalse_FromFalseAndWithoutWebSeucrityProvider () { - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterMultiple(); serviceLocator.RegisterMultiple(); using (new ServiceLocatorScope(serviceLocator)) diff --git a/Remotion/Web/UnitTests/Core/UI/Controls/WebButtonTests/WebButtonDiagnosticMetadataTest.cs b/Remotion/Web/UnitTests/Core/UI/Controls/WebButtonTests/WebButtonDiagnosticMetadataTest.cs index 52fcd276c7..b19f409705 100644 --- a/Remotion/Web/UnitTests/Core/UI/Controls/WebButtonTests/WebButtonDiagnosticMetadataTest.cs +++ b/Remotion/Web/UnitTests/Core/UI/Controls/WebButtonTests/WebButtonDiagnosticMetadataTest.cs @@ -20,7 +20,7 @@ public override void SetUp () { base.SetUp(); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => RenderingFeatures.WithDiagnosticMetadata); _serviceLocatorScope = new ServiceLocatorScope(serviceLocator); } diff --git a/Remotion/Web/UnitTests/Core/UI/Controls/WebMenuItemTests/SecurityTestWithVisible.cs b/Remotion/Web/UnitTests/Core/UI/Controls/WebMenuItemTests/SecurityTestWithVisible.cs index 8723598775..c1e2de20da 100644 --- a/Remotion/Web/UnitTests/Core/UI/Controls/WebMenuItemTests/SecurityTestWithVisible.cs +++ b/Remotion/Web/UnitTests/Core/UI/Controls/WebMenuItemTests/SecurityTestWithVisible.cs @@ -42,7 +42,7 @@ public void Setup () _mockSecurableObject = new Mock(MockBehavior.Strict); _mockCommand = new Mock(MockBehavior.Strict); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterMultiple(() => _mockWebSecurityAdapter.Object); serviceLocator.RegisterMultiple(); _serviceLocatorStub = new ServiceLocatorScope(serviceLocator); diff --git a/Remotion/Web/UnitTests/Core/UI/Controls/WebTabStripImplementation/Rendering/IWebTabRendererTest.cs b/Remotion/Web/UnitTests/Core/UI/Controls/WebTabStripImplementation/Rendering/IWebTabRendererTest.cs index 1422133939..3666809808 100644 --- a/Remotion/Web/UnitTests/Core/UI/Controls/WebTabStripImplementation/Rendering/IWebTabRendererTest.cs +++ b/Remotion/Web/UnitTests/Core/UI/Controls/WebTabStripImplementation/Rendering/IWebTabRendererTest.cs @@ -29,7 +29,7 @@ public class IWebTabRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/UI/Controls/WebTabStripImplementation/Rendering/IWebTabStripRendererTest.cs b/Remotion/Web/UnitTests/Core/UI/Controls/WebTabStripImplementation/Rendering/IWebTabStripRendererTest.cs index 86e7f38b7a..bbad7cb359 100644 --- a/Remotion/Web/UnitTests/Core/UI/Controls/WebTabStripImplementation/Rendering/IWebTabStripRendererTest.cs +++ b/Remotion/Web/UnitTests/Core/UI/Controls/WebTabStripImplementation/Rendering/IWebTabStripRendererTest.cs @@ -29,7 +29,7 @@ public class IWebTabStripRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/UI/Controls/WebTreeViewImplementation/IWebTreeViewRendererTest.cs b/Remotion/Web/UnitTests/Core/UI/Controls/WebTreeViewImplementation/IWebTreeViewRendererTest.cs index 71bcf0bbd6..e6938a8b23 100644 --- a/Remotion/Web/UnitTests/Core/UI/Controls/WebTreeViewImplementation/IWebTreeViewRendererTest.cs +++ b/Remotion/Web/UnitTests/Core/UI/Controls/WebTreeViewImplementation/IWebTreeViewRendererTest.cs @@ -29,7 +29,7 @@ public class IWebTreeViewRendererTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/Utilities/IInternalControlMemberCallerTest.cs b/Remotion/Web/UnitTests/Core/Utilities/IInternalControlMemberCallerTest.cs index fc5f2c235e..138f19708d 100644 --- a/Remotion/Web/UnitTests/Core/Utilities/IInternalControlMemberCallerTest.cs +++ b/Remotion/Web/UnitTests/Core/Utilities/IInternalControlMemberCallerTest.cs @@ -13,7 +13,7 @@ public class IInternalControlMemberCallerTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/Remotion/Web/UnitTests/Core/Utilities/IScriptUtilityTest.cs b/Remotion/Web/UnitTests/Core/Utilities/IScriptUtilityTest.cs index 0091ceb8d6..b5506655bf 100644 --- a/Remotion/Web/UnitTests/Core/Utilities/IScriptUtilityTest.cs +++ b/Remotion/Web/UnitTests/Core/Utilities/IScriptUtilityTest.cs @@ -13,7 +13,7 @@ public class IScriptUtilityTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/SecurityManager/Clients.Web.Test/Global.asax.cs b/SecurityManager/Clients.Web.Test/Global.asax.cs index 03cbcbe18f..41102aa43e 100644 --- a/SecurityManager/Clients.Web.Test/Global.asax.cs +++ b/SecurityManager/Clients.Web.Test/Global.asax.cs @@ -34,7 +34,7 @@ public class Global : SecurityManagerHttpApplication protected void Application_Start (object sender, EventArgs e) { - var defaultServiceLocator = DefaultServiceLocator.Create(); + var defaultServiceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); var storageSettingsFactory = StorageSettingsFactory.CreateForSqlServer( diff --git a/SecurityManager/Core.UnitTests/Domain/AccessControl/AccessEvaluation/IAccessControlListFinderTest.cs b/SecurityManager/Core.UnitTests/Domain/AccessControl/AccessEvaluation/IAccessControlListFinderTest.cs index fc075fc45e..c57f8c85bd 100644 --- a/SecurityManager/Core.UnitTests/Domain/AccessControl/AccessEvaluation/IAccessControlListFinderTest.cs +++ b/SecurityManager/Core.UnitTests/Domain/AccessControl/AccessEvaluation/IAccessControlListFinderTest.cs @@ -13,7 +13,7 @@ public class IAccessControlListFinderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/SecurityManager/Core.UnitTests/Domain/AccessControl/AccessEvaluation/IAccessResolverTest.cs b/SecurityManager/Core.UnitTests/Domain/AccessControl/AccessEvaluation/IAccessResolverTest.cs index ae65c61301..a86b15cb31 100644 --- a/SecurityManager/Core.UnitTests/Domain/AccessControl/AccessEvaluation/IAccessResolverTest.cs +++ b/SecurityManager/Core.UnitTests/Domain/AccessControl/AccessEvaluation/IAccessResolverTest.cs @@ -13,7 +13,7 @@ public class IAccessResolverTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/SecurityManager/Core.UnitTests/Domain/AccessControl/AccessEvaluation/ISecurityContextRepositoryTest.cs b/SecurityManager/Core.UnitTests/Domain/AccessControl/AccessEvaluation/ISecurityContextRepositoryTest.cs index 86bfe2c248..dd110dbf79 100644 --- a/SecurityManager/Core.UnitTests/Domain/AccessControl/AccessEvaluation/ISecurityContextRepositoryTest.cs +++ b/SecurityManager/Core.UnitTests/Domain/AccessControl/AccessEvaluation/ISecurityContextRepositoryTest.cs @@ -13,7 +13,7 @@ public class ISecurityContextRepositoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/SecurityManager/Core.UnitTests/Domain/AccessControl/AccessEvaluation/ISecurityPrincipalRepositoryTest.cs b/SecurityManager/Core.UnitTests/Domain/AccessControl/AccessEvaluation/ISecurityPrincipalRepositoryTest.cs index 054c2d5c39..5e2e6ddb18 100644 --- a/SecurityManager/Core.UnitTests/Domain/AccessControl/AccessEvaluation/ISecurityPrincipalRepositoryTest.cs +++ b/SecurityManager/Core.UnitTests/Domain/AccessControl/AccessEvaluation/ISecurityPrincipalRepositoryTest.cs @@ -13,7 +13,7 @@ public class ISecurityPrincipalRepositoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/SecurityManager/Core.UnitTests/Domain/AccessControl/AccessEvaluation/ISecurityTokenBuilderTest.cs b/SecurityManager/Core.UnitTests/Domain/AccessControl/AccessEvaluation/ISecurityTokenBuilderTest.cs index f3c5273fb5..bce088f0cd 100644 --- a/SecurityManager/Core.UnitTests/Domain/AccessControl/AccessEvaluation/ISecurityTokenBuilderTest.cs +++ b/SecurityManager/Core.UnitTests/Domain/AccessControl/AccessEvaluation/ISecurityTokenBuilderTest.cs @@ -13,7 +13,7 @@ public class ISecurityTokenBuilderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/SecurityManager/Core.UnitTests/Domain/AccessControl/IAccessControlSettingsTest.cs b/SecurityManager/Core.UnitTests/Domain/AccessControl/IAccessControlSettingsTest.cs index b221234e66..d8916e115a 100644 --- a/SecurityManager/Core.UnitTests/Domain/AccessControl/IAccessControlSettingsTest.cs +++ b/SecurityManager/Core.UnitTests/Domain/AccessControl/IAccessControlSettingsTest.cs @@ -29,7 +29,7 @@ public class IAccessControlSettingsTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/SecurityManager/Core.UnitTests/Domain/IDomainRevisionProviderTest.cs b/SecurityManager/Core.UnitTests/Domain/IDomainRevisionProviderTest.cs index 30a11a4e25..e1ed87e037 100644 --- a/SecurityManager/Core.UnitTests/Domain/IDomainRevisionProviderTest.cs +++ b/SecurityManager/Core.UnitTests/Domain/IDomainRevisionProviderTest.cs @@ -13,7 +13,7 @@ public class IDomainRevisionProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/SecurityManager/Core.UnitTests/Domain/IPrincipalProviderTest.cs b/SecurityManager/Core.UnitTests/Domain/IPrincipalProviderTest.cs index 3ff2a14a5e..57d84b3c87 100644 --- a/SecurityManager/Core.UnitTests/Domain/IPrincipalProviderTest.cs +++ b/SecurityManager/Core.UnitTests/Domain/IPrincipalProviderTest.cs @@ -31,7 +31,7 @@ public class IPrincipalProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/SecurityManager/Core.UnitTests/Domain/ISecurityManagerPrincipalFactoryTest.cs b/SecurityManager/Core.UnitTests/Domain/ISecurityManagerPrincipalFactoryTest.cs index e6b350b8e1..eddbeaaa35 100644 --- a/SecurityManager/Core.UnitTests/Domain/ISecurityManagerPrincipalFactoryTest.cs +++ b/SecurityManager/Core.UnitTests/Domain/ISecurityManagerPrincipalFactoryTest.cs @@ -28,7 +28,7 @@ public class ISecurityManagerPrincipalFactoryTest [Test] public void GetDefaultImplementationFromServiceLocator () { - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); Assert.That(serviceLocator.GetInstance(), Is.TypeOf()); } diff --git a/SecurityManager/Core.UnitTests/Domain/IUserNamesRevisionProviderTest.cs b/SecurityManager/Core.UnitTests/Domain/IUserNamesRevisionProviderTest.cs index e36fceb5eb..4ab005911a 100644 --- a/SecurityManager/Core.UnitTests/Domain/IUserNamesRevisionProviderTest.cs +++ b/SecurityManager/Core.UnitTests/Domain/IUserNamesRevisionProviderTest.cs @@ -30,7 +30,7 @@ public class IUserNamesRevisionProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/SecurityManager/Core.UnitTests/Domain/IUserRevisionProviderTest.cs b/SecurityManager/Core.UnitTests/Domain/IUserRevisionProviderTest.cs index 0f42c16ad8..79bc250863 100644 --- a/SecurityManager/Core.UnitTests/Domain/IUserRevisionProviderTest.cs +++ b/SecurityManager/Core.UnitTests/Domain/IUserRevisionProviderTest.cs @@ -13,7 +13,7 @@ public class IUserRevisionProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/SecurityManager/Core.UnitTests/Domain/OrganizationalStructure/GroupTests/GetHierarchy.cs b/SecurityManager/Core.UnitTests/Domain/OrganizationalStructure/GroupTests/GetHierarchy.cs index 0294c313a9..c4e23b9b2d 100644 --- a/SecurityManager/Core.UnitTests/Domain/OrganizationalStructure/GroupTests/GetHierarchy.cs +++ b/SecurityManager/Core.UnitTests/Domain/OrganizationalStructure/GroupTests/GetHierarchy.cs @@ -124,7 +124,7 @@ public void Test_WithSecurity_PermissionDeniedOnChild () .Setup(stub => stub.GetAccess(childOfChild2SecurityContext, It.IsAny())) .Returns(new AccessType[0]); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => securityProviderStub.Object); serviceLocator.RegisterSingle(() => new NullPrincipalProvider()); using (new ServiceLocatorScope(serviceLocator)) @@ -152,7 +152,7 @@ public void Test_WithSecurity_PermissionDeniedOnRoot () .Setup(stub => stub.GetAccess(It.IsAny(), It.IsAny())) .Returns(new AccessType[0]); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => securityProviderStub.Object); serviceLocator.RegisterSingle(() => new NullPrincipalProvider()); using (new ServiceLocatorScope(serviceLocator)) diff --git a/SecurityManager/Core.UnitTests/Domain/OrganizationalStructure/GroupTests/GetParents.cs b/SecurityManager/Core.UnitTests/Domain/OrganizationalStructure/GroupTests/GetParents.cs index efd99ee5d6..f44dc90f64 100644 --- a/SecurityManager/Core.UnitTests/Domain/OrganizationalStructure/GroupTests/GetParents.cs +++ b/SecurityManager/Core.UnitTests/Domain/OrganizationalStructure/GroupTests/GetParents.cs @@ -152,7 +152,7 @@ public void Test_WithSecurity_PermissionDeniedOnParent () .Setup(stub => stub.GetAccess(grandParent1SecurityContext, It.IsAny())) .Returns(new AccessType[0]); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => securityProviderStub.Object); serviceLocator.RegisterSingle(() => new NullPrincipalProvider()); using (new ServiceLocatorScope(serviceLocator)) @@ -177,7 +177,7 @@ public void Test_WithSecurity_PermissionDeniedOnRoot () .Setup(stub => stub.GetAccess(It.IsAny(), It.IsAny())) .Returns(new AccessType[0]); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => securityProviderStub.Object); serviceLocator.RegisterSingle(() => new NullPrincipalProvider()); using (new ServiceLocatorScope(serviceLocator)) diff --git a/SecurityManager/Core.UnitTests/Domain/OrganizationalStructure/IOrganizationalStructureFactoryTest.cs b/SecurityManager/Core.UnitTests/Domain/OrganizationalStructure/IOrganizationalStructureFactoryTest.cs index f9f13d434f..1e1d559145 100644 --- a/SecurityManager/Core.UnitTests/Domain/OrganizationalStructure/IOrganizationalStructureFactoryTest.cs +++ b/SecurityManager/Core.UnitTests/Domain/OrganizationalStructure/IOrganizationalStructureFactoryTest.cs @@ -29,7 +29,7 @@ public class IOrganizationalStructureFactoryTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/SecurityManager/Core.UnitTests/Domain/OrganizationalStructure/TenantTests/GetHierachy.cs b/SecurityManager/Core.UnitTests/Domain/OrganizationalStructure/TenantTests/GetHierachy.cs index 00633dd939..c0bb082aba 100644 --- a/SecurityManager/Core.UnitTests/Domain/OrganizationalStructure/TenantTests/GetHierachy.cs +++ b/SecurityManager/Core.UnitTests/Domain/OrganizationalStructure/TenantTests/GetHierachy.cs @@ -115,7 +115,7 @@ public void Test_WithSecurity_PermissionDeniedOnChild () .Setup(stub => stub.GetAccess(childOfChild2SecurityContext, It.IsAny())) .Returns(new AccessType[0]); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => securityProviderStub.Object); serviceLocator.RegisterSingle(() => new NullPrincipalProvider()); using (new ServiceLocatorScope(serviceLocator)) @@ -142,7 +142,7 @@ public void Test_WithSecurity_PermissionDeniedOnRoot () .Setup(stub => stub.GetAccess(It.IsAny(), It.IsAny())) .Returns(new AccessType[0]); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => securityProviderStub.Object); serviceLocator.RegisterSingle(() => new NullPrincipalProvider()); using (new ServiceLocatorScope(serviceLocator)) diff --git a/SecurityManager/Core.UnitTests/Domain/OrganizationalStructure/TenantTests/GetParents.cs b/SecurityManager/Core.UnitTests/Domain/OrganizationalStructure/TenantTests/GetParents.cs index 6ba19a9b3d..9157b1cf1d 100644 --- a/SecurityManager/Core.UnitTests/Domain/OrganizationalStructure/TenantTests/GetParents.cs +++ b/SecurityManager/Core.UnitTests/Domain/OrganizationalStructure/TenantTests/GetParents.cs @@ -156,7 +156,7 @@ public void Test_WithSecurity_PermissionDeniedOnParent () .Setup(stub => stub.GetAccess(grandParent1SecurityContext, It.IsAny())) .Returns(new AccessType[0]); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => securityProviderStub.Object); serviceLocator.RegisterSingle(() => new NullPrincipalProvider()); using (new ServiceLocatorScope(serviceLocator)) @@ -180,7 +180,7 @@ public void Test_WithSecurity_PermissionDeniedOnRoot () .Setup(stub => stub.GetAccess(It.IsAny(), It.IsAny())) .Returns(new AccessType[0]); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => securityProviderStub.Object); serviceLocator.RegisterSingle(() => new NullPrincipalProvider()); using (new ServiceLocatorScope(serviceLocator)) diff --git a/SecurityManager/Core.UnitTests/Domain/OrganizationalStructure/UserTests/GetActiveSubstitutions.cs b/SecurityManager/Core.UnitTests/Domain/OrganizationalStructure/UserTests/GetActiveSubstitutions.cs index 969c955f04..44003e9bff 100644 --- a/SecurityManager/Core.UnitTests/Domain/OrganizationalStructure/UserTests/GetActiveSubstitutions.cs +++ b/SecurityManager/Core.UnitTests/Domain/OrganizationalStructure/UserTests/GetActiveSubstitutions.cs @@ -82,7 +82,7 @@ public void Test_WithPermissionDeniedOnUser () .Setup(stub => stub.GetAccess(It.IsAny(), It.IsAny())) .Returns(new AccessType[0]); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => securityProviderStub.Object); serviceLocator.RegisterSingle(() => new NullPrincipalProvider()); using (new ServiceLocatorScope(serviceLocator)) diff --git a/SecurityManager/Core.UnitTests/Domain/SearchInfrastructure/OrganizationalStructure/RolePropertiesSearchServiceTests/SearchPositionWithSecurityChecks.cs b/SecurityManager/Core.UnitTests/Domain/SearchInfrastructure/OrganizationalStructure/RolePropertiesSearchServiceTests/SearchPositionWithSecurityChecks.cs index 8cb6ef36d8..75304520a2 100644 --- a/SecurityManager/Core.UnitTests/Domain/SearchInfrastructure/OrganizationalStructure/RolePropertiesSearchServiceTests/SearchPositionWithSecurityChecks.cs +++ b/SecurityManager/Core.UnitTests/Domain/SearchInfrastructure/OrganizationalStructure/RolePropertiesSearchServiceTests/SearchPositionWithSecurityChecks.cs @@ -73,7 +73,7 @@ public override void SetUp () _mockPrincipalProvider = new Mock(MockBehavior.Strict); _stubFunctionalSecurityStrategy = new Mock(MockBehavior.Strict); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => _stubFunctionalSecurityStrategy.Object); serviceLocator.RegisterSingle(() => _mockSecurityProvider.Object); serviceLocator.RegisterSingle(() => _mockPrincipalProvider.Object); diff --git a/SecurityManager/Core.UnitTests/Domain/SecurityManagerPrincipalTests/Common.cs b/SecurityManager/Core.UnitTests/Domain/SecurityManagerPrincipalTests/Common.cs index 2d3e16c290..28d593e6b5 100644 --- a/SecurityManager/Core.UnitTests/Domain/SecurityManagerPrincipalTests/Common.cs +++ b/SecurityManager/Core.UnitTests/Domain/SecurityManagerPrincipalTests/Common.cs @@ -173,7 +173,7 @@ public void ActiveSecurityProviderAddsSecurityClientTransactionExtension () var storageSettings = SafeServiceLocator.Current.GetInstance(); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => securityProviderStub.Object); serviceLocator.RegisterSingle(() => new NullPrincipalProvider()); serviceLocator.RegisterSingle(() => storageSettings); diff --git a/SecurityManager/Core.UnitTests/Domain/SecurityManagerPrincipalTests/GetTenants.cs b/SecurityManager/Core.UnitTests/Domain/SecurityManagerPrincipalTests/GetTenants.cs index b2a5491294..0351bc1297 100644 --- a/SecurityManager/Core.UnitTests/Domain/SecurityManagerPrincipalTests/GetTenants.cs +++ b/SecurityManager/Core.UnitTests/Domain/SecurityManagerPrincipalTests/GetTenants.cs @@ -109,7 +109,7 @@ public void UsesSecurityFreeSectionToAccessTenantOfUser () var storageSettings = SafeServiceLocator.Current.GetInstance(); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => securityProviderStub.Object); serviceLocator.RegisterSingle(() => new NullPrincipalProvider()); serviceLocator.RegisterSingle(() => storageSettings); diff --git a/SecurityManager/Core.UnitTests/SecurityProvider/ISecurityProviderTest.cs b/SecurityManager/Core.UnitTests/SecurityProvider/ISecurityProviderTest.cs index 6e39fe414f..530c83b75d 100644 --- a/SecurityManager/Core.UnitTests/SecurityProvider/ISecurityProviderTest.cs +++ b/SecurityManager/Core.UnitTests/SecurityProvider/ISecurityProviderTest.cs @@ -31,7 +31,7 @@ public class ISecurityProviderTest [SetUp] public void SetUp () { - _serviceLocator = DefaultServiceLocator.Create(); + _serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); } [Test] diff --git a/SecurityManager/Core.UnitTests/SecurityProvider/SecurityServiceTest.cs b/SecurityManager/Core.UnitTests/SecurityProvider/SecurityServiceTest.cs index 400fb72169..8572916aca 100644 --- a/SecurityManager/Core.UnitTests/SecurityProvider/SecurityServiceTest.cs +++ b/SecurityManager/Core.UnitTests/SecurityProvider/SecurityServiceTest.cs @@ -218,7 +218,7 @@ public void GetAccess_UsesSecurityFreeSection () } } - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => new Mock()); using (new ServiceLocatorScope(serviceLocator)) { diff --git a/SecurityManager/Core.UnitTests/SetUpFixture.cs b/SecurityManager/Core.UnitTests/SetUpFixture.cs index b29351ae32..349fc82359 100644 --- a/SecurityManager/Core.UnitTests/SetUpFixture.cs +++ b/SecurityManager/Core.UnitTests/SetUpFixture.cs @@ -65,7 +65,7 @@ public void OneTimeSetUp () var securityProvider = new FakeSecurityProvider(); var storageSettingsFactory = StorageSettingsFactory.CreateForSqlServer(TestDomainConnectionString); - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); serviceLocator.RegisterSingle(() => securityProvider); serviceLocator.RegisterSingle(() => new NullPrincipalProvider()); serviceLocator.RegisterSingle(() => storageSettingsFactory); @@ -78,7 +78,7 @@ public void OneTimeSetUp () MappingConfiguration.SetCurrent( MappingConfiguration.Create( - MappingReflector.Create( + new MappingReflector( typeDiscoveryService, SafeServiceLocator.Current.GetInstance(), SafeServiceLocator.Current.GetInstance(), diff --git a/SecurityManager/Core/AclTools/Expansion/AclExpanderApplication.cs b/SecurityManager/Core/AclTools/Expansion/AclExpanderApplication.cs index d0879bfec5..471bc0c520 100644 --- a/SecurityManager/Core/AclTools/Expansion/AclExpanderApplication.cs +++ b/SecurityManager/Core/AclTools/Expansion/AclExpanderApplication.cs @@ -71,7 +71,7 @@ public virtual void Run (AclExpanderApplicationSettings settings, TextWriter err { if (!hasOriginalServiceLocator) { - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); var storageSettingsFactory = StorageSettingsFactory.CreateForSqlServer(settings.ConnectionString); serviceLocator.RegisterSingle(() => storageSettingsFactory); ServiceLocator.SetLocatorProvider(() => serviceLocator); diff --git a/SecurityManager/Metadata.Importer/Program.cs b/SecurityManager/Metadata.Importer/Program.cs index 02dff1b9d5..350f1bd8b3 100644 --- a/SecurityManager/Metadata.Importer/Program.cs +++ b/SecurityManager/Metadata.Importer/Program.cs @@ -87,7 +87,7 @@ public int Run () { if (!hasOriginalServiceLocator) { - var serviceLocator = DefaultServiceLocator.Create(); + var serviceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); var storageSettingsFactory = StorageSettingsFactory.CreateForSqlServer(_arguments.ConnectionString); serviceLocator.RegisterSingle(() => storageSettingsFactory); ServiceLocator.SetLocatorProvider(() => serviceLocator); @@ -100,7 +100,7 @@ public int Run () ITypeDiscoveryService typeDiscoveryService = new AssemblyFinderTypeDiscoveryService(assemblyFinder); MappingConfiguration.SetCurrent( MappingConfiguration.Create( - MappingReflector.Create( + new MappingReflector( typeDiscoveryService, SafeServiceLocator.Current.GetInstance(), SafeServiceLocator.Current.GetInstance(), diff --git a/SecurityManager/PerformanceTests/Program.cs b/SecurityManager/PerformanceTests/Program.cs index 72b2cd6f6c..d09ceeb5fa 100644 --- a/SecurityManager/PerformanceTests/Program.cs +++ b/SecurityManager/PerformanceTests/Program.cs @@ -25,7 +25,7 @@ class Program { private static void Main (string[] args) { - var defaultServiceLocator = DefaultServiceLocator.Create(); + var defaultServiceLocator = DefaultServiceLocator.CreateWithBootstrappedServices(); defaultServiceLocator.Register( typeof(Remotion.Data.DomainObjects.IClientTransactionExtensionFactory),