public static void Initialize() { ProviderCollection <StorageProviderDefinition> providers = new ProviderCollection <StorageProviderDefinition>(); providers.Add(new RdbmsProviderDefinition("PerformanceTestDomain", new SqlStorageObjectFactory(), ConnectionString)); StorageConfiguration storageConfiguration = new StorageConfiguration(providers, providers["PerformanceTestDomain"]); DomainObjectsConfiguration.SetCurrent(new FakeDomainObjectsConfiguration(storage: storageConfiguration)); var rootAssemblyFinder = new FixedRootAssemblyFinder(new RootAssembly(typeof(StandardConfiguration).Assembly, true)); var assemblyLoader = new FilteringAssemblyLoader(ApplicationAssemblyLoaderFilter.Instance); var assemblyFinder = new CachingAssemblyFinderDecorator(new AssemblyFinder(rootAssemblyFinder, assemblyLoader)); ITypeDiscoveryService typeDiscoveryService = new AssemblyFinderTypeDiscoveryService(assemblyFinder); MappingConfiguration mappingConfiguration = new MappingConfiguration( new MappingReflector( typeDiscoveryService, new ClassIDProvider(), new ReflectionBasedMemberInformationNameResolver(), new PropertyMetadataReflector(), new DomainModelConstraintProvider(), MappingReflector.CreateDomainObjectCreator()), new PersistenceModelLoader(new StorageGroupBasedStorageProviderDefinitionFinder(DomainObjectsConfiguration.Current.Storage))); MappingConfiguration.SetCurrent(mappingConfiguration); }
public static void Callback() { Remotion.Logging.LogManager.InitializeConsole(); string path = Environment.GetCommandLineArgs()[1]; FilteringAssemblyLoader loader = new FilteringAssemblyLoader(ApplicationAssemblyLoaderFilter.Instance); try { if (loader.TryLoadAssembly(path) == null) { Environment.Exit(0); } else { Console.WriteLine("Assembly was loaded, but should not be loaded."); Environment.Exit(3); } } catch (FileLoadException ex) { Console.WriteLine(ex.Message); Environment.Exit(1); } catch (Exception ex) { Console.WriteLine(ex.Message); Environment.Exit(2); } }
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 ITypeDiscoveryService GetTypeDiscoveryService(string testDomainNamespace, params Assembly[] rootAssemblies) { var rootAssemblyFinder = new FixedRootAssemblyFinder(rootAssemblies.Select(asm => new RootAssembly(asm, true)).ToArray()); var assemblyLoader = new FilteringAssemblyLoader(ApplicationAssemblyLoaderFilter.Instance); var assemblyFinder = new CachingAssemblyFinderDecorator(new AssemblyFinder(rootAssemblyFinder, assemblyLoader)); ITypeDiscoveryService typeDiscoveryService = new AssemblyFinderTypeDiscoveryService(assemblyFinder); return(FilteringTypeDiscoveryService.CreateFromNamespaceWhitelist(typeDiscoveryService, testDomainNamespace)); }
public void SetUp() { _mockRepository = new MockRepository(); _filterMock = _mockRepository.StrictMock <IAssemblyLoaderFilter>(); _loader = new FilteringAssemblyLoader(_filterMock); _memoryAppender = new MemoryAppender(); BasicConfigurator.Configure(_memoryAppender); Assert.That(LogManager.GetLogger(typeof(FilteringAssemblyLoader)).IsDebugEnabled, Is.True); }
public static Mixer Create(string assemblyName, string assemblyOutputDirectory, int degreeOfParallelism) { var builderFactory = new MixerPipelineFactory(assemblyName, degreeOfParallelism); // Use a custom TypeDiscoveryService with the LoadAllAssemblyLoaderFilter so that mixed types within system assemblies are also considered. var assemblyLoader = new FilteringAssemblyLoader(new LoadAllAssemblyLoaderFilter()); var rootAssemblyFinder = SearchPathRootAssemblyFinder.CreateForCurrentAppDomain(false, assemblyLoader); var assemblyFinder = new CachingAssemblyFinderDecorator(new AssemblyFinder(rootAssemblyFinder, assemblyLoader)); var typeDiscoveryService = new AssemblyFinderTypeDiscoveryService(assemblyFinder); var finder = new MixedTypeFinder(typeDiscoveryService); return(new Mixer(finder, builderFactory, assemblyOutputDirectory)); }
public static ITypeDiscoveryService GetTypeDiscoveryService() { var mappingRootNamespace = typeof(TestMappingConfiguration).Namespace; var testMappingNamespace = mappingRootNamespace + ".TestDomain.Integration"; var rootAssemlbies = new[] { new RootAssembly(typeof(TestMappingConfiguration).Assembly, true) }; var rootAssemblyFinder = new FixedRootAssemblyFinder(rootAssemlbies); var assemblyLoader = new FilteringAssemblyLoader(ApplicationAssemblyLoaderFilter.Instance); var assemblyFinder = new CachingAssemblyFinderDecorator(new AssemblyFinder(rootAssemblyFinder, assemblyLoader)); var typeDiscoveryService = (ITypeDiscoveryService) new AssemblyFinderTypeDiscoveryService(assemblyFinder); typeDiscoveryService = FilteringTypeDiscoveryService.CreateFromNamespaceWhitelist(typeDiscoveryService, testMappingNamespace); return(typeDiscoveryService); }
public int Run() { try { ServiceLocator.SetLocatorProvider(() => null); var assemblyLoader = new FilteringAssemblyLoader(ApplicationAssemblyLoaderFilter.Instance); var rootAssemblyFinder = new FixedRootAssemblyFinder(new RootAssembly(typeof(BaseSecurityManagerObject).Assembly, true)); var assemblyFinder = new CachingAssemblyFinderDecorator(new AssemblyFinder(rootAssemblyFinder, assemblyLoader)); ITypeDiscoveryService typeDiscoveryService = new AssemblyFinderTypeDiscoveryService(assemblyFinder); MappingConfiguration.SetCurrent( new MappingConfiguration( new MappingReflector( typeDiscoveryService, new ClassIDProvider(), new ReflectionBasedMemberInformationNameResolver(), new PropertyMetadataReflector(), new DomainModelConstraintProvider(), MappingReflector.CreateDomainObjectCreator()), new PersistenceModelLoader(new StorageGroupBasedStorageProviderDefinitionFinder(DomainObjectsConfiguration.Current.Storage)))); ClientTransaction transaction = ClientTransaction.CreateRootTransaction(); if (_arguments.ImportMetadata) { ImportMetadata(transaction); } transaction.Commit(); if (_arguments.ImportLocalization) { ImportLocalization(transaction); } transaction.Commit(); return(0); } catch (Exception e) { HandleException(e); return(1); } }
public void SetUp() { try { var serviceLocator = DefaultServiceLocator.Create(); serviceLocator.RegisterSingle <ISecurityProvider> (() => new NullSecurityProvider()); serviceLocator.RegisterSingle <IPrincipalProvider> (() => new NullPrincipalProvider()); ServiceLocator.SetLocatorProvider(() => serviceLocator); var providers = new ProviderCollection <StorageProviderDefinition>(); providers.Add(new RdbmsProviderDefinition("SecurityManager", new SecurityManagerSqlStorageObjectFactory(), TestDomainConnectionString)); var storageConfiguration = new StorageConfiguration(providers, providers["SecurityManager"]); storageConfiguration.StorageGroups.Add(new StorageGroupElement(new SecurityManagerStorageGroupAttribute(), "SecurityManager")); DomainObjectsConfiguration.SetCurrent(new FakeDomainObjectsConfiguration(storage: storageConfiguration)); var rootAssemblyFinder = new FixedRootAssemblyFinder(new RootAssembly(typeof(BaseSecurityManagerObject).Assembly, true)); var assemblyLoader = new FilteringAssemblyLoader(ApplicationAssemblyLoaderFilter.Instance); var assemblyFinder = new CachingAssemblyFinderDecorator(new AssemblyFinder(rootAssemblyFinder, assemblyLoader)); ITypeDiscoveryService typeDiscoveryService = new AssemblyFinderTypeDiscoveryService(assemblyFinder); MappingConfiguration.SetCurrent( new MappingConfiguration( new MappingReflector( typeDiscoveryService, new ClassIDProvider(), new ReflectionBasedMemberInformationNameResolver(), new PropertyMetadataReflector(), new DomainModelConstraintProvider(), MappingReflector.CreateDomainObjectCreator()), new PersistenceModelLoader(new StorageGroupBasedStorageProviderDefinitionFinder(DomainObjectsConfiguration.Current.Storage)))); SqlConnection.ClearAllPools(); DatabaseAgent masterAgent = new DatabaseAgent(MasterConnectionString); masterAgent.ExecuteBatchFile("SecurityManagerCreateDB.sql", false, DatabaseConfiguration.GetReplacementDictionary()); DatabaseAgent databaseAgent = new DatabaseAgent(TestDomainConnectionString); databaseAgent.ExecuteBatchFile("SecurityManagerSetupDB.sql", true); databaseAgent.ExecuteBatchFile("SecurityManagerSetupConstraints.sql", true); databaseAgent.ExecuteBatchFile("SecurityManagerSetupDBSpecialTables.sql", true); } catch (Exception e) { Console.WriteLine(e); } }
public static ITypeDiscoveryService GetTypeDiscoveryService(params Assembly[] rootAssemblies) { var rootAssemblyFinder = new FixedRootAssemblyFinder(rootAssemblies.Select(asm => new RootAssembly(asm, true)).ToArray()); var assemblyLoader = new FilteringAssemblyLoader(ApplicationAssemblyLoaderFilter.Instance); var assemblyFinder = new CachingAssemblyFinderDecorator(new AssemblyFinder(rootAssemblyFinder, assemblyLoader)); ITypeDiscoveryService typeDiscoveryService = new AssemblyFinderTypeDiscoveryService(assemblyFinder); return(FilteringTypeDiscoveryService.CreateFromNamespaceBlacklist( typeDiscoveryService, "Remotion.Data.DomainObjects.UnitTests.Mapping.TestDomain.Errors", "Remotion.Data.DomainObjects.UnitTests.Mapping.TestDomain.Integration", "Remotion.Data.DomainObjects.UnitTests.Mapping.TestDomain.RelationReflector", "Remotion.Data.DomainObjects.UnitTests.Mapping.TestDomain.Validation", "Remotion.Data.DomainObjects.UnitTests.Mapping.MappingReflectionIntegrationTests", "Remotion.Data.DomainObjects.UnitTests.Security.TestDomain", "Remotion.Data.DomainObjects.UnitTests.Persistence.Rdbms.SchemaGenerationTestDomain" )); }
public void FindAssemblies_WithSpecificFiler_ConsiderAssemblyFalse() { ExecuteInSeparateAppDomain(delegate { InitializeDynamicDirectory(); var filterMock = new MockRepository().StrictMock <IAssemblyLoaderFilter> (); filterMock.Expect(mock => mock.ShouldConsiderAssembly(Arg <AssemblyName> .Is.Anything)).Return(false).Repeat.AtLeastOnce(); filterMock.Replay(); var assemblyLoader = new FilteringAssemblyLoader(filterMock); var rootAssemblyFinder = SearchPathRootAssemblyFinder.CreateForCurrentAppDomain(true, assemblyLoader); var assemblyFinder = new AssemblyFinder(rootAssemblyFinder, assemblyLoader); Assembly[] assemblies = assemblyFinder.FindAssemblies().ToArray(); filterMock.VerifyAllExpectations(); Assert.That(assemblies, Is.Empty); }); }
public void SetUp() { try { ProviderCollection <StorageProviderDefinition> providers = new ProviderCollection <StorageProviderDefinition>(); providers.Add(new RdbmsProviderDefinition("Development.Data.DomainObjects", new SqlStorageObjectFactory(), "ConnectionString")); StorageConfiguration storageConfiguration = new StorageConfiguration(providers, providers["Development.Data.DomainObjects"]); DomainObjectsConfiguration.SetCurrent( new FakeDomainObjectsConfiguration( new MappingLoaderConfiguration(), storageConfiguration, new QueryConfiguration())); var rootAssemblyFinder = new FixedRootAssemblyFinder(new RootAssembly(typeof(TestDomainObject).Assembly, true)); var assemblyLoader = new FilteringAssemblyLoader(ApplicationAssemblyLoaderFilter.Instance); var assemblyFinder = new CachingAssemblyFinderDecorator(new AssemblyFinder(rootAssemblyFinder, assemblyLoader)); ITypeDiscoveryService typeDiscoveryService = new AssemblyFinderTypeDiscoveryService(assemblyFinder); MappingConfiguration.SetCurrent( new MappingConfiguration( new MappingReflector( typeDiscoveryService, new ClassIDProvider(), new ReflectionBasedMemberInformationNameResolver(), new PropertyMetadataReflector(), new DomainModelConstraintProvider(), new ThrowingDomainObjectCreator()), new PersistenceModelLoader(new StorageGroupBasedStorageProviderDefinitionFinder(DomainObjectsConfiguration.Current.Storage)))); } catch (Exception e) { Console.WriteLine(e); throw; } }
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); }