protected virtual void InitializeConfiguration(string assemblyDirectory) { ApplicationAssemblyLoaderFilter filter = ApplicationAssemblyLoaderFilter.Instance; // TODO: Duplicates logic from AssemblyFinder? The DLL searching part below can probably be removed. List <Assembly> assemblies = new List <Assembly>(); DirectoryInfo dir = new DirectoryInfo(assemblyDirectory); foreach (FileInfo file in dir.GetFiles("*.dll")) { Assembly asm = Assembly.LoadFile(file.FullName); if (filter.ShouldConsiderAssembly(asm.GetName()) && filter.ShouldIncludeAssembly(asm)) { assemblies.Add(asm); } } DomainObjectsConfiguration.SetCurrent( new FakeDomainObjectsConfiguration(DomainObjectsConfiguration.Current.MappingLoader, GetPersistenceConfiguration(), new QueryConfiguration())); var rootAssemblyFinder = new FixedRootAssemblyFinder(assemblies.Select(a => new RootAssembly(a, false)).ToArray()); var assemblyLoader = new FilteringAssemblyLoader(filter); ITypeDiscoveryService typeDiscoveryService = new AssemblyFinderTypeDiscoveryService(new AssemblyFinder(rootAssemblyFinder, assemblyLoader)); var mappingReflector = new MappingReflector(typeDiscoveryService); var persistenceModelLoader = new PersistenceModelLoader(new StorageProviderDefinitionFinder(DomainObjectsConfiguration.Current.Storage)); var mappingConfiguration = new MappingConfiguration(mappingReflector, persistenceModelLoader); MappingConfiguration.SetCurrent(mappingConfiguration); }
private IEnumerable <ClassDefinition> GetTypeDefinitionsAndValidateMapping(MappingReflector mappingReflector) { var storageGroupBasedStorageProviderDefinitionFinder = new StorageGroupBasedStorageProviderDefinitionFinder( StandardConfiguration.Instance.GetPersistenceConfiguration()); var persistenceModelLoader = new PersistenceModelLoader(storageGroupBasedStorageProviderDefinitionFinder); return(new MappingConfiguration(mappingReflector, persistenceModelLoader).GetTypeDefinitions()); }
protected virtual void InitializeConfiguration(string assemblyDirectory) { ApplicationAssemblyLoaderFilter filter = ApplicationAssemblyLoaderFilter.Instance; // TODO: Duplicates logic from AssemblyFinder? The DLL searching part below can probably be removed. List<Assembly> assemblies = new List<Assembly>(); DirectoryInfo dir = new DirectoryInfo (assemblyDirectory); foreach (FileInfo file in dir.GetFiles ("*.dll")) { Assembly asm = Assembly.LoadFile (file.FullName); if (filter.ShouldConsiderAssembly (asm.GetName()) && filter.ShouldIncludeAssembly (asm)) assemblies.Add (asm); } DomainObjectsConfiguration.SetCurrent ( new FakeDomainObjectsConfiguration (DomainObjectsConfiguration.Current.MappingLoader, GetPersistenceConfiguration (), new QueryConfiguration())); var rootAssemblyFinder = new FixedRootAssemblyFinder(assemblies.Select(a => new RootAssembly(a, false)).ToArray()); var assemblyLoader = new FilteringAssemblyLoader(filter); ITypeDiscoveryService typeDiscoveryService = new AssemblyFinderTypeDiscoveryService(new AssemblyFinder(rootAssemblyFinder, assemblyLoader)); var mappingReflector = new MappingReflector (typeDiscoveryService); var persistenceModelLoader = new PersistenceModelLoader(new StorageProviderDefinitionFinder(DomainObjectsConfiguration.Current.Storage)); var mappingConfiguration = new MappingConfiguration (mappingReflector, persistenceModelLoader); MappingConfiguration.SetCurrent (mappingConfiguration); }
public void SetUp() { _storageProviderDefinitionStub = MockRepository.GenerateStub <IStorageProviderDefinitionFinder> (); _persistenceModelLoader = new PersistenceModelLoader(_storageProviderDefinitionStub); _classDefinition = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(Order), baseClass: null); }