Exemple #1
0
        private static void ConfigureServiceLocator(IContainer container)
        {
            var structureMapPillarContainer = new Pillar.IoC.StructureMap.Container(container);

            IoC.SetContainerProvider(() => structureMapPillarContainer);
            container.Configure(c => c.For <Pillar.Common.InversionOfControl.IContainer> ().Singleton().Use(IoC.CurrentContainer));
        }
        public void SetUp()
        {
            container = new Container();

            container.RegisterAsEasyNetQContainerFactory();

            bus = new MockBuilder().Bus;
        }
        public void SetUp()
        {
            container = new Container();

            container.RegisterAsEasyNetQContainerFactory();

            bus = new MockBuilder().Bus;

            easynetQContainer = bus.Advanced.Container;
        }
        public void SetUp()
        {
            container = new Container(cfg =>
                {
                    cfg.AddRegistry<MessagingRegistry>();
                });

            container.RegisterAsEasyNetQContainerFactory();

            bus = RabbitHutch.CreateBus("host=localhost");

            easynetQContainer = bus.Advanced.Container;
        }
Exemple #5
0
        private static void InitializeAndRegisterPersistenceStuff(IContainer container)
        {
            var configurationProvider = container.GetInstance <IConfigurationProvider> ();
            var configuration         = configurationProvider.Configure().GetEnumerator().Current;

            configuration.SetProperty(
                Environment.CurrentSessionContextClass,
                "uNhAddIns.SessionEasier.Contexts.ThreadLocalSessionContext, uNhAddIns");
            var sessionFactoryProvider = new SessionFactoryProvider(configurationProvider);

            sessionFactoryProvider.Initialize();

            container.Configure(x => x.For <ISessionFactoryProvider> ().Singleton().Use(sessionFactoryProvider));
            container.Configure(x => x.For <ISessionProvider> ().Use <SessionProvider> ());
        }
        public MaintainProductConfigurationTests()
        {
            var mockSession = new Mock<ISessionState>();
            mockSession.Setup(x => x.Store(It.IsAny<string>(), It.IsAny<object>())).Callback<string, object>(
                    (x, y) => _sessionStore[x] = y);

            mockSession.Setup(x => x.Get(It.IsAny<string>())).Returns<string>(x => 
            {
                object result = null;
                _sessionStore.TryGetValue(x, out result);
                return result;
            });

            var provider = new SessionDataProvider<ProductConfigSessionData>(mockSession.Object);
            
            _container = new Container();
            _container.Configure(x => x.For<ISessionDataProvider<ProductConfigSessionData>>().Use(() => provider));
        }
Exemple #7
0
 public Help(GitTfsCommandFactory commandFactory, IContainer container)
 {
     _commandFactory = commandFactory;
     _container = container;
 }
 public StructureMapContainer(StructureMap.IContainer container)
 {
     this.container = container;
 }
Exemple #9
0
        private void RegisterIRequestHandlerOfGetRequestDtoByKey(IContainer container)
        {
            var assemblyLocator = container.GetInstance<IAssemblyLocator>();
            var assemblies = assemblyLocator.LocateWebServiceAssemblies();

            foreach (var assembly in assemblies)
            {
                Logger.Debug("Registering IRequestHandler<GetDtoRequestByKey<TDto>> instance in DI container: {0}.", assembly);

                var dtoTypes = from dtoType in assembly.GetTypes()
                               where dtoType.IsSubclassOf(typeof(KeyedDataTransferObject)) && !dtoType.IsAbstract
                               select dtoType;
                foreach (var dtoType in dtoTypes)
                {
                    var openGetDtoRequestType = typeof(GetDtoRequest<>);
                    var closedGetDtoRequestType = openGetDtoRequestType.MakeGenericType(dtoType);

                    var openGetDtoByKeyRequestHandlerType = typeof(GetDtoByKeyRequestHandler<>);
                    var closedGetDtoByKeyRequestHandlerType =
                        openGetDtoByKeyRequestHandlerType.MakeGenericType(dtoType);

                    var openRequestHandlerInterfaceType = typeof(IRequestHandler<>);
                    var closedGetDtoByKeyRequestHandlerInterfaceType =
                        openRequestHandlerInterfaceType.MakeGenericType(closedGetDtoRequestType);

                    if (!container.Model.HasDefaultImplementationFor(closedGetDtoByKeyRequestHandlerInterfaceType))
                    {
                        container.Configure(
                            c =>
                            c.For(closedGetDtoByKeyRequestHandlerInterfaceType).Use(
                                p => PillarIoC.CurrentContainer.Resolve(closedGetDtoByKeyRequestHandlerType)));
                    }
                }
            }
        }
Exemple #10
0
        /// <summary>
        /// Configures the agatha.
        /// </summary>
        /// <param name="appContainer">The app container.</param>
        protected virtual void ConfigureAgatha(IContainer appContainer)
        {
            var structureMapContainer = new Agatha.StructureMap.Container ( appContainer );
            IoC.Container = structureMapContainer;

            var assemblyLocator = appContainer.GetInstance<IAssemblyLocator> ();
            var infrastructureAssemblies = assemblyLocator.LocateInfrastructureAssemblies();

            var genericsToApply = new Dictionary<Type, Type> ();
            foreach (var infrastructureAssembly in infrastructureAssemblies)
            {
                var genericsToApplyInAssebmly = KnownTypeHelper.GetGenerics ( infrastructureAssembly );

                foreach ( KeyValuePair<Type, Type> keyValuePair in genericsToApplyInAssebmly )
                {
                    genericsToApply.Add(keyValuePair.Key, keyValuePair.Value);
                }
            }

            var serviceLayerConfiguration = new ServiceLayerConfiguration ( structureMapContainer );

            var serviceAssemblies = assemblyLocator.LocateWebServiceAssemblies();

            foreach ( var assembly in serviceAssemblies )
            {
                var assemblyRef = assembly;
                Logger.Debug ( "Registering Requests, Responses, Handlers, and Dtos for Assembly: {0}", assemblyRef );

                KnownTypeHelper.RegisterNonGenericRequestsAndResponses ( assembly );
                serviceLayerConfiguration.AddRequestHandlerAssembly ( assembly );

                KnownTypeProvider.RegisterDerivedTypesOf<AbstractDataTransferObject> ( assembly.GetTypes ().Where ( t => !t.IsGenericType ) );

                KnownTypeHelper.RegisterGenerics ( genericsToApply, assembly );
            }

            KnownTypeProvider.Register<TerminologyConcept> ();
            KnownTypeProvider.Register<TerminologyProperty> ();
            KnownTypeProvider.Register<TerminologyPropertyType> ();
            KnownTypeProvider.Register<TerminologyVocabulary> ();

            // register the agatha interceptors
            serviceLayerConfiguration.RegisterRequestHandlerInterceptor<SecurityInterceptor>();
            serviceLayerConfiguration.RegisterRequestHandlerInterceptor<RuleViolationEventInterceptor> ();

            serviceLayerConfiguration.RequestProcessorImplementation = typeof ( Service.PerformanceLoggingRequestProcessor );
            serviceLayerConfiguration.Initialize ();

            RegisterIRequestHandlerOfGetRequestDtoByKey ( appContainer );
            CallKnownTypeProviders ( appContainer );
        }
Exemple #11
0
 public Help(TextWriter output, GitTfsCommandFactory commandFactory, IContainer container)
 {
     this.output = output;
     this.commandFactory = commandFactory;
     _container = container;
 }
Exemple #12
0
        /// <summary>
        /// Initializes the Nhibernate.
        /// </summary>
        /// <param name="container">The container.</param>
        protected virtual void InitializeNHibernate(IContainer container)
        {
            var configurationProvider = container.GetInstance<IConfigurationProvider>();
            var configuration = configurationProvider.Configure().GetEnumerator().Current;

            configuration.SetListener(ListenerType.Flush, new PostFlushFixEventListener());
            configuration.SetListener(ListenerType.Autoflush, new AutoFlushFixEventListener());
            configuration.SetListener(ListenerType.PostUpdate, new PatientAccessAuditablePostUpdateListener());
            configuration.SetListener(ListenerType.PostInsert, new PatientAccessAuditablePostInsertListener());
            configuration.SetListener(ListenerType.PostDelete, new PatientAccessAuditablePostDeleteListener());

            ConfigureNHibernateSession(configurationProvider, container);
        }
Exemple #13
0
 /// <summary>
 /// Configures the security.
 /// </summary>
 /// <param name="appContainer">The app container.</param>
 protected virtual void ConfigureSecurity( IContainer appContainer )
 {
     appContainer.Configure ( c => c.For<ICurrentUserPermissionService>().Use<CurrentUserPermissionService>() );
     var accessCtrlMgr = appContainer.GetInstance<IAccessControlManager> ();
     var permissionDescriptors = appContainer.GetAllInstances<IPermissionDescriptor> ();
     accessCtrlMgr.RegisterPermissionDescriptor ( permissionDescriptors.ToArray () );
 }
Exemple #14
0
        /// <summary>
        /// Configures the raven db.
        /// </summary>
        /// <param name="container">The container.</param>
        protected virtual void ConfigureRavenDb(IContainer container)
        {
            ForceLoadingRavenDbAssemblies ();
            var appsettingsProvider = container.GetInstance<IConfigurationPropertiesProvider> ();
            var ravenDbUrl = appsettingsProvider.GetProperty ( "RavenDBUrl" );
            var runInMemory = appsettingsProvider.GetProperty ( "RavenDBRunInMemory" );

            IDocumentStore store = runInMemory.ToLower () == "true" ?
                                                                        new EmbeddableDocumentStore { RunInMemory = true } : new DocumentStore { Url = ravenDbUrl };

            store.Initialize ();
            container.Configure ( c => c.For<IDocumentStore> ().Singleton ().Use ( store ) );

            RegisterDocumentSessionProvider ( container );
            container.Configure ( c => c.For<IDocumentSessionProvider> ().HttpContextScoped ().Use<DocumentSessionProvider> () );
        }
Exemple #15
0
 /// <summary>
 /// Configures the pillar IoC.
 /// </summary>
 /// <param name="container">The container.</param>
 protected virtual void ConfigurePillarIoC(IContainer container)
 {
     PillarIoC.SetContainerProvider(() => new Pillar.IoC.StructureMap.Container(container));
     PillarIoC.Bootstrap();
 }
Exemple #16
0
 /// <summary>
 /// Configures the NHibernate session.
 /// </summary>
 /// <param name="configurationProvider">The configuration provider.</param>
 /// <param name="container">The container.</param>
 protected abstract void ConfigureNHibernateSession(IConfigurationProvider configurationProvider, IContainer container);
Exemple #17
0
 /// <summary>
 /// Configures the auto mapper.
 /// </summary>
 /// <param name="appContainer">The app container.</param>
 protected virtual void ConfigureAutoMapper( IContainer appContainer )
 {
     var originalMapperFunction = MapperRegistry.AllMappers;
     MapperRegistry.AllMappers = () =>
                                     {
                                         var mappers = ( originalMapperFunction.Invoke () as IObjectMapper[] ).ToList ();
                                         var objectMappers = appContainer.GetAllInstances<IObjectMapper> ();
                                         mappers.AddRange ( objectMappers );
                                         return mappers.ToArray ();
                                     };
 }
Exemple #18
0
        private static void InitializeAndRegisterPersistenceStuff( IContainer container )
        {
            var configurationProvider = container.GetInstance<IConfigurationProvider> ();
            var configuration = configurationProvider.Configure ().GetEnumerator ().Current;
            configuration.SetProperty (
                Environment.CurrentSessionContextClass,
                "uNhAddIns.SessionEasier.Contexts.ThreadLocalSessionContext, uNhAddIns" );
            var sessionFactoryProvider = new SessionFactoryProvider ( configurationProvider );
            sessionFactoryProvider.Initialize ();

            container.Configure ( x => x.For<ISessionFactoryProvider> ().Singleton ().Use ( sessionFactoryProvider ) );
            container.Configure ( x => x.For<ISessionProvider> ().Use<SessionProvider> () );
        }
Exemple #19
0
 private static void ConfigureServiceLocator( IContainer container )
 {
     var structureMapPillarContainer = new Pillar.IoC.StructureMap.Container ( container );
     IoC.SetContainerProvider ( () => structureMapPillarContainer );
     container.Configure ( c => c.For<Pillar.Common.InversionOfControl.IContainer> ().Singleton ().Use ( IoC.CurrentContainer ) );
 }
Exemple #20
0
 /// <summary>
 /// Registers the document session provider.
 /// </summary>
 /// <param name="container">The container.</param>
 protected abstract void RegisterDocumentSessionProvider( IContainer container );
Exemple #21
0
 public HelpHelper(IContainer container)
 {
     _container = container;
 }
 public StructureMapObjectBuilder(IContainer container)
 {
     this.container = container;
 }
Exemple #23
0
 /// <summary>
 /// Registers the domain event service.
 /// </summary>
 /// <param name="container">The container.</param>
 protected abstract void RegisterDomainEventService( IContainer container );
Exemple #24
0
 /// <summary>
 /// Calls the service registries.
 /// </summary>
 /// <param name="container">The container.</param>
 protected virtual void CallServiceRegistries(IContainer container)
 {
     var serviceRegistries = container.GetAllInstances<IServiceRegistry> ();
     foreach ( var serviceRegistry in serviceRegistries )
     {
         var serviceRegistryName = serviceRegistry.GetType ().ToString ();
         Logger.Debug ( "ServiceRegistries: {0}", serviceRegistryName );
         serviceRegistry.RegisterServices ();
     }
 }
 public StructureMapObjectBuilder()
 {
     container = ObjectFactory.GetInstance<IContainer>();
 }
Exemple #26
0
 /// <summary>
 /// Runs the bootstrapper tasks.
 /// </summary>
 /// <param name="container">The container.</param>
 protected virtual void RunBootstrapperTasks(IContainer container)
 {
     var tasks = container.GetAllInstances<IBootstrapperTask> ();
     foreach ( var bootstrapperTask in tasks )
     {
         bootstrapperTask.Execute ();
     }
 }
 public StructureMapDependencyResolver(StructureMap.IContainer container)
 {
     _container = container;
 }
Exemple #28
0
 private void CallKnownTypeProviders(IContainer container)
 {
     Logger.Info("Running Known Type Providers");
     var knownTypeProviders = container.GetAllInstances<IKnownTypeProvider>();
     foreach (var knownTypeProvider in knownTypeProviders)
     {
         var knownTypeProviderName = knownTypeProvider.GetType().ToString();
         Logger.Debug("KnownTypeProviders: {0}", knownTypeProviderName);
         knownTypeProvider.RegisterTypes();
     }
 }