Пример #1
0
        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());
        }
Пример #3
0
        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);
        }
Пример #4
0
 public void SetUp()
 {
     _storageProviderDefinitionStub = MockRepository.GenerateStub <IStorageProviderDefinitionFinder> ();
     _persistenceModelLoader        = new PersistenceModelLoader(_storageProviderDefinitionStub);
     _classDefinition = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(Order), baseClass: null);
 }