public override void RegisterInContainer(IContainer container) { container.AddScanner(scan => { scan.AssemblyContainingType <CoreRegister>(); scan.ExcludeType <MoBiDimensionFactory>(); scan.ExcludeType <MoBiContext>(); scan.ExcludeType <MoBiDimensionFactory>(); scan.ExcludeType <MoBiConfiguration>(); scan.ExcludeType <ObjectTypeResolver>(); scan.ExcludeType <FormulaTypeCaptionRepository>(); scan.ExcludeType <GroupRepository>(); scan.ExcludeType <ClipboardManager>(); scan.ExcludeType <ApplicationSettings>(); scan.ExcludeType <MoBiLogger>(); scan.ExcludeNamespaceContainingType <IMoBiObjectConverter>(); scan.ExcludeNamespaceContainingType <ProjectReporter>(); scan.ExcludeNamespaceContainingType <MoBiSimulationDiffBuilder>(); scan.WithConvention(new OSPSuiteRegistrationConvention()); }); container.Register <IMoBiContext, IOSPSuiteExecutionContext, IWorkspace, MoBiContext>(LifeStyle.Singleton); container.Register <OSPSuite.Core.IApplicationSettings, IApplicationSettings, ApplicationSettings>(LifeStyle.Singleton); container.Register <IMoBiDimensionFactory, IDimensionFactory, MoBiDimensionFactory>(LifeStyle.Singleton); container.Register <IObjectTypeResolver, ObjectTypeResolver>(LifeStyle.Singleton); container.Register <FormulaTypeCaptionRepository, FormulaTypeCaptionRepository>(LifeStyle.Singleton); container.Register <IObjectBaseFactory, ObjectBaseFactory>(LifeStyle.Singleton); container.Register <IGroupRepository, GroupRepository>(LifeStyle.Singleton); container.Register <IClipboardManager, ClipboardManager>(LifeStyle.Singleton); container.Register <ICloneManager, CloneManagerForBuildingBlock>(LifeStyle.Singleton); container.Register <ICompression, SharpLibCompression>(); container.Register <IStringCompression, StringCompression>(); container.Register <IProjectRetriever, MoBiProjectRetriever>(); container.Register <IHistoryManager, MoBiHistoryManager>(); container.Register <IObjectIdResetter, ObjectIdResetter>(); container.Register <ISetParameterTask, ParameterTask>(); container.Register <ITransferOptimizedParametersToSimulationsTask, TransferOptimizedParametersToSimulationsTask <IMoBiContext> >(); //Register opened types generics container.Register(typeof(IRepository <>), typeof(ImplementationRepository <>)); container.Register(typeof(IEntitiesInBuildingBlockRetriever <>), typeof(EntitiesInBuildingBlockRetriever <>)); container.Register <IList <IDimensionMergingInformation>, List <IDimensionMergingInformation> >(LifeStyle.Singleton); //Register abstract factories container.RegisterFactory <IHistoryManagerFactory>(); container.RegisterFactory <IDiagramManagerFactory>(); registerReporters(container); registerComparers(container); registerCommitTasks(container); registerConverters(container); }
public override void RegisterInContainer(IContainer container) { container.AddScanner(scan => { scan.AssemblyContainingType <TestRegister>(); scan.IncludeNamespaceContainingType <JournalTestPresenter>(); scan.IncludeNamespaceContainingType <JournalTestView>(); scan.IncludeNamespaceContainingType <ProjectRetriever>(); scan.IncludeNamespaceContainingType <LazyLoadTask>(); scan.ExcludeType <Workspace>(); scan.ExcludeType <ShellView>(); scan.ExcludeType <ShellPresenter>(); scan.ExcludeType <ProgressManager>(); scan.ExcludeType <GroupRepository>(); scan.ExcludeType <SimulationRepository>(); scan.ExcludeType <DimensionRetriever>(); scan.ExcludeType <ProjectRetriever>(); scan.ExcludeType <ApplicationSettings>(); scan.ExcludeType <HistoryManagerRetriever>(); }); container.Register <IToolTipCreator, ToolTipCreator>(LifeStyle.Singleton); container.Register <IProjectRetriever, ProjectRetriever>(LifeStyle.Singleton); container.Register <IWorkspace, Workspace>(LifeStyle.Singleton); container.Register <IFileLocker, FileLocker>(LifeStyle.Singleton); container.Register <IExceptionManager, ExceptionManager>(LifeStyle.Singleton); container.Register <IHistoryManagerRetriever, HistoryManagerRetriever>(LifeStyle.Singleton); container.Register <IProgressManager, ProgressManager>(LifeStyle.Singleton); container.Register <IGroupRepository, GroupRepository>(LifeStyle.Singleton); container.Register <IReactionDimensionRetriever, DimensionRetriever>(LifeStyle.Singleton); container.Register <ISimulationRepository, SimulationRepository>(LifeStyle.Singleton); container.Register <IShellPresenter, IMainViewPresenter, ShellPresenter>(LifeStyle.Singleton); container.Register <IShell, IShellView, IMainView, ShellView>(LifeStyle.Singleton); container.Register <IApplicationSettings, ApplicationSettings>(LifeStyle.Singleton);; container.Register <IObjectIdResetter, ObjectIdResetter>(); container.Register <ITreeNodeFactory, TreeNodeFactory>(); container.Register <IDisplayNameProvider, DisplayNameProvider>(); container.Register <IPathToPathElementsMapper, PathToPathElementsMapper>(); container.Register <IDataColumnToPathElementsMapper, DataColumnToPathElementsMapper>(); container.Register <IQuantityPathToQuantityDisplayPathMapper, QuantityPathToQuantityDisplayPathMapper>(); container.Register <BarManager, BarManager>(); container.Register <ModelHelperForSpecs, ModelHelperForSpecs>(); container.Register <IDataNamingService, DataNamingServiceForSpecs>(); container.RegisterFactory <IHeavyWorkPresenterFactory>(); container.Register <TestEnvironment, TestEnvironment>(); container.Register <DataPersistor, DataPersistor>(); }
public override void RegisterInContainer(IContainer container) { container.AddRegister(x => x.FromInstance(new OSPSuite.Core.CoreRegister { RegisterParameter = false })); //Register PKSim.Core container.AddScanner(scan => { scan.AssemblyContainingType <CoreRegister>(); //Exclude type that should be register as singleton because of caching scan.ExcludeType <FormulationValuesRetriever>(); scan.ExcludeType <ObjectTypeResolver>(); scan.ExcludeType <PKSimDimensionFactory>(); scan.ExcludeType <PKSimObjectBaseFactory>(); scan.ExcludeType <DistributionFormulaFactory>(); scan.ExcludeType <ApplicationSettings>(); scan.ExcludeType <ProjectChangedNotifier>(); scan.ExcludeType <IndividualSimulationEngine>(); scan.ExcludeType <DefaultIndividualRetriever>(); scan.ExcludeType <IPopulationSimulationEngine>(); //Do not register the InteractiveSimulationRunner as it should be registered only if needed scan.ExcludeType <InteractiveSimulationRunner>(); scan.ExcludeType <SnapshotMapper>(); scan.ExcludeNamespaceContainingType <IndividualDiffBuilder>(); scan.WithConvention <PKSimRegistrationConvention>(); }); //Register singletons explicitly container.AddScanner(scan => { scan.AssemblyContainingType <CoreRegister>(); scan.IncludeType <FormulationValuesRetriever>(); scan.IncludeType <ObjectTypeResolver>(); scan.IncludeType <DistributionFormulaFactory>(); scan.IncludeType <ProjectChangedNotifier>(); scan.IncludeType <SnapshotMapper>(); scan.IncludeType <DefaultIndividualRetriever>(); scan.RegisterAs(LifeStyle.Singleton); scan.WithConvention <PKSimRegistrationConvention>(); }); container.Register <ICoreSimulationFactory, SimulationFactory>(); container.Register <ISetParameterTask, ParameterTask>(LifeStyle.Transient); container.Register <ITransferOptimizedParametersToSimulationsTask, TransferOptimizedParametersToSimulationsTask <IExecutionContext> >(); container.Register <IIndividualSimulationEngine, ISimulationEngine <IndividualSimulation, SimulationRunResults>, IndividualSimulationEngine>(LifeStyle.Transient); container.Register <IPopulationSimulationEngine, ISimulationEngine <PopulationSimulation, PopulationRunResults>, PopulationSimulationEngine>(LifeStyle.Transient); //other singleton external to application container.Register <ICloneManager, Cloner>(LifeStyle.Singleton); //Register special type for parameters so that core methods in the context of pksim creates a PKSimParameter container.Register <IParameter, PKSimParameter>(); container.Register <IDistributedParameter, PKSimDistributedParameter>(); //specific PKSim Implementations container.Register <IPathToPathElementsMapper, PKSimPathToPathElementsMapper>(); container.Register <IDataColumnToPathElementsMapper, PKSimDataColumnToPathElementsMapper>(); container.Register <IQuantityPathToQuantityDisplayPathMapper, PKSimQuantityPathToQuantityDisplayPathMapper>(); //Register Factories container.RegisterFactory <ISimulationEngineFactory>(); container.RegisterFactory <IChartDataToTableMapperFactory>(); container.Register <IPKSimObjectBaseFactory, IObjectBaseFactory, PKSimObjectBaseFactory>(LifeStyle.Singleton); container.Register <IPKSimDimensionFactory, IDimensionFactory, PKSimDimensionFactory>(LifeStyle.Singleton); container.Register <IApplicationSettings, OSPSuite.Core.IApplicationSettings, ApplicationSettings>(LifeStyle.Singleton); //Register opened types generics container.Register <IInterpolation, LinearInterpolation>(); container.Register <IPivoter, Pivoter>(); container.Register <ISimulationSubject, Individual>(); container.Register <Protocol, SimpleProtocol>(); container.Register <Simulation, IndividualSimulation>(); container.Register <Population, RandomPopulation>(); container.Register <SchemaItem, SchemaItem>(); //generic command registration container.Register <IOSPSuiteExecutionContext, ExecutionContext>(); registerMoleculeFactories(container); registerComparers(container); }
private static void registerFactoryIn(IContainer container) { container.RegisterFactory <IProgressManager>(); container.RegisterFactory <IHistoryManagerFactory>(); }
public override void RegisterInContainer(IContainer container) { container.AddScanner(scan => { scan.AssemblyContainingType <PresentationRegister>(); scan.ExcludeNamespaceContainingType <IMenuAndToolBarPresenter>(); scan.ExcludeNamespaceContainingType <ContextMenuBase>(); scan.ExcludeNamespaceContainingType <IExitCommand>(); scan.ExcludeType <MenuBarItemRepository>(); scan.ExcludeType <SimulationRunner>(); scan.ExcludeType <MoBiApplicationController>(); scan.ExcludeType <MoBiXmlSerializerRepository>(); scan.ExcludeType <MoBiMainViewPresenter>(); scan.Exclude(t => t.IsAnImplementationOf <IMoBiBaseDiagramPresenter>()); //exclude presenter already registered at startup scan.ExcludeType <SplashScreenPresenter>(); scan.WithConvention <OSPSuiteRegistrationConvention>(); }); container.Register <IMenuBarItemRepository, MenuBarItemRepository>(LifeStyle.Singleton); container.Register <ISimulationRunner, SimulationRunner>(LifeStyle.Singleton); container.Register <IMoBiApplicationController, IApplicationController, MoBiApplicationController>(LifeStyle.Singleton); registerMainPresenters(container); registerSingleStartPresenters(container); registerCreatePresenter(container); registerContextMenuAndCommands(container); registerDiagramPresenter(container); //selection presenter container.Register <ISelectionPresenter <XElement>, SelectXmlElementPresenter>(); container.Register(typeof(IBuildingBlockSelectionPresenter <>), typeof(BuildingBlockSelectionPresenter <>)); container.Register(typeof(IDescriptorConditionListPresenter <>), typeof(DescriptorConditionListPresenter <>)); container.Register(typeof(IBuildingBlockMergePresenter <>), typeof(BuildingBlockMergePresenter <>)); container.Register(typeof(ICreateBuildingBlockMergePresenter <>), typeof(CreateBuildingBlockMergePresenter <>)); container.Register <ISelectManyPresenter <XElement>, SelectXmlElementPresenter>(); container.Register <ISelectManyPresenter <OSPSuite.Core.Domain.IContainer>, SelectObjectBasePresenter <OSPSuite.Core.Domain.IContainer> >(); container.Register <ISelectManyPresenter <IEventGroupBuilder>, SelectObjectBasePresenter <IEventGroupBuilder> >(); container.Register <ICreateStartValuesPresenter <IMoleculeStartValuesBuildingBlock>, CreateMoleculeStartValuesPresenter>(); container.Register <ICreateStartValuesPresenter <IParameterStartValuesBuildingBlock>, CreateParameterStartValuesPresenter>(); container.Register <ISettingsPersistor <IUserSettings>, UserSettingsPersistor>(); container.Register <ISettingsPersistor <IApplicationSettings>, ApplicationSettingsPersistor>(); container.Register(typeof(IItemToListItemMapper <>), typeof(ItemToListItemMapper <>)); container.RegisterFactory <IHeavyWorkPresenterFactory>(); container.Register <IObservedDataConfiguration, ObservedDataTask>(); container.Register <IPathToPathElementsMapper, PathToPathElementsMapper>(); container.Register <IDataColumnToPathElementsMapper, DataColumnToPathElementsMapper>(); container.Register <IDisplayNameProvider, DisplayNameProvider>(); container.Register <IRenameObjectDTOFactory, RenameObjectDTOFactory>(); registerTasks(container); registerContextMenus(container); ApplicationIcons.DefaultIcon = ApplicationIcons.MoBi; //Create one instance of the invoker so that the object is available //since it is not created anywhere and is only used as event listener container.RegisterImplementationOf(container.Resolve <ICloseSubjectPresenterInvoker>()); container.Register <IWithWorkspaceLayout, Workspace>(LifeStyle.Singleton); container.Register <IQuantityPathToQuantityDisplayPathMapper, MoBiQuantityPathToQuantityDisplayPathMapper>(); container.Register <IMoBiXmlSerializerRepository, MoBiXmlSerializerRepository>(LifeStyle.Singleton); }
public override void RegisterInContainer(IContainer container) { //REGISTSTER DOMAIN OBJECTS container.AddScanner(scan => { scan.AssemblyContainingType <CoreRegister>(); scan.ExcludeNamespaceContainingType <IDiffBuilder>(); scan.ExcludeNamespaceContainingType <IObjectConverter>(); //sepcial registration handled by other registers or conventions scan.ExcludeNamespaceContainingType <CoreSerializerRegister>(); scan.ExcludeNamespaceContainingType <IOptimizationAlgorithm>(); //should be registered as singleton explicitely scan.ExcludeType <ObjectBaseFactory>(); scan.ExcludeType <WithIdRepository>(); scan.ExcludeType <DimensionFactory>(); scan.ExcludeType <PKParameterRepository>(); scan.ExcludeType <CoreCalculationMethodRepository>(); scan.ExcludeType <PKParameterRepositoryLoader>(); scan.ExcludeType <ParameterIdentificationRunner>(); scan.ExcludeType <SensitivityAnalysisRunner>(); //PK-Sim registers its own implementation scan.ExcludeType <ObjectIdResetter>(); if (!RegisterParameter) { scan.ExcludeType <Parameter>(); scan.ExcludeType <DistributedParameter>(); } scan.WithConvention(new OSPSuiteRegistrationConvention(registerConcreteType: true)); }); //this should be registered as singleton container.Register <IWithIdRepository, WithIdRepository>(LifeStyle.Singleton); container.Register <IDiffBuilderRepository, DiffBuilderRepository>(LifeStyle.Singleton); container.Register <IPKParameterRepository, PKParameterRepository>(LifeStyle.Singleton); container.Register <ICoreCalculationMethodRepository, CoreCalculationMethodRepository>(LifeStyle.Singleton); container.Register <IPKParameterRepositoryLoader, PKParameterRepositoryLoader>(LifeStyle.Singleton); container.Register <IParameterIdentificationRunner, ParameterIdentificationRunner>(LifeStyle.Singleton); container.Register <ISensitivityAnalysisRunner, SensitivityAnalysisRunner>(LifeStyle.Singleton); registerComparers(container); reigsterConverters(container); registerParameterIdentificationRunFactories(container); //FACTORIES container.RegisterFactory <IDiagramModelFactory>(); container.RegisterFactory <IModelValidatorFactory>(); container.RegisterFactory <IParameterIdentificationEngineFactory>(); container.RegisterFactory <ISimModelBatchFactory>(); container.RegisterFactory <IParameterIdentificationRunInitializerFactory>(); container.RegisterFactory <ISensitivityAnalysisEngineFactory>(); container.RegisterFactory <IStartableProcessFactory>(); container.RegisterFactory <ISimulationExportCreatorFactory>(); //Register Optimization algorithm explicitely container.Register <IOptimizationAlgorithm, NelderMeadOptimizer>(Constants.OptimizationAlgorithm.NELDER_MEAD_PKSIM); container.Register <IOptimizationAlgorithm, MPFitLevenbergMarquardtOptimizer>(Constants.OptimizationAlgorithm.MPFIT); container.Register <IOptimizationAlgorithm, MonteCarloOptimizer>(Constants.OptimizationAlgorithm.MONTE_CARLO); }
public override void RegisterInContainer(IContainer container) { container.AddRegister(x => x.FromInstance(new OSPSuite.Core.CoreRegister { RegisterParameter = false })); //Register PKSim.Core container.AddScanner(scan => { scan.AssemblyContainingType <CoreRegister>(); //Exclude type that should be register as singleton because of caching scan.ExcludeType <FormulationValuesRetriever>(); scan.ExcludeType <ObjectTypeResolver>(); scan.ExcludeType <PKSimDimensionFactory>(); scan.ExcludeType <PKSimObjectBaseFactory>(); scan.ExcludeType <DistributionFormulaFactory>(); scan.ExcludeType <ApplicationSettings>(); scan.ExcludeType <ProjectChangedNotifier>(); scan.ExcludeType <BatchLogger>(); scan.ExcludeType <SimulationRunner>(); scan.ExcludeNamespaceContainingType <IndividualDiffBuilder>(); scan.WithConvention <PKSimRegistrationConvention>(); }); //Register singletons explicitely container.AddScanner(scan => { scan.AssemblyContainingType <CoreRegister>(); scan.IncludeType <FormulationValuesRetriever>(); scan.IncludeType <ObjectTypeResolver>(); scan.IncludeType <PKSimObjectBaseFactory>(); scan.IncludeType <DistributionFormulaFactory>(); scan.IncludeType <ApplicationSettings>(); scan.IncludeType <ProjectChangedNotifier>(); scan.IncludeType <BatchLogger>(); scan.IncludeType <SimulationRunner>(); scan.RegisterAs(LifeStyle.Singleton); scan.WithConvention <PKSimRegistrationConvention>(); }); container.Register <ICoreSimulationFactory, SimulationFactory>(); container.Register <ISetParameterTask, ParameterTask>(); container.Register <ITransferOptimizedParametersToSimulationsTask, TransferOptimizedParametersToSimulationsTask <IExecutionContext> >(); //other singleton external to application container.Register <ICloneManager, Cloner>(LifeStyle.Singleton); //Register special type for parameters so that core methods in the context of pksim creates a PKSimParameter container.Register <IParameter, PKSimParameter>(); container.Register <IDistributedParameter, PKSimDistributedParameter>(); //Register Factories container.RegisterFactory <ISimulationEngineFactory>(); container.RegisterFactory <IChartDataToTableMapperFactory>(); container.Register <IPKSimDimensionFactory, IDimensionFactory, PKSimDimensionFactory>(LifeStyle.Singleton); //Register opened types generics container.Register(typeof(IRepository <>), typeof(ImplementationRepository <>)); container.Register <IInterpolation, LinearInterpolation>(); container.Register <IPivoter, Pivoter>(); container.Register <ISimulationSubject, Individual>(); container.Register <Protocol, SimpleProtocol>(); container.Register <Simulation, IndividualSimulation>(); container.Register <Population, RandomPopulation>(); //generic command registration container.Register <IOSPSuiteExecutionContext, ExecutionContext>(); registerMoleculeFactories(container); registerComparers(container); }
public override void RegisterInContainer(IContainer container) { //REGISTER DOMAIN OBJECTS container.AddScanner(scan => { scan.AssemblyContainingType <CoreRegister>(); scan.ExcludeNamespaceContainingType <IDiffBuilder>(); scan.ExcludeNamespaceContainingType <IObjectConverter>(); //special registration handled by other registers or conventions scan.ExcludeNamespaceContainingType <CoreSerializerRegister>(); scan.ExcludeNamespaceContainingType <IOptimizationAlgorithm>(); //should be registered as singleton explicitly scan.ExcludeType <ObjectBaseFactory>(); scan.ExcludeType <WithIdRepository>(); scan.ExcludeType <DimensionFactory>(); scan.ExcludeType <PKParameterRepository>(); scan.ExcludeType <CoreCalculationMethodRepository>(); scan.ExcludeType <PKParameterRepositoryLoader>(); scan.ExcludeType <ParameterIdentificationRunner>(); scan.ExcludeType <SensitivityAnalysisRunner>(); scan.ExcludeType(typeof(ExtendedProperty <>)); scan.ExcludeType(typeof(HistoryManager <>)); scan.ExcludeType(typeof(MacroCommand <>)); scan.ExcludeType(typeof(RollBackCommand <>)); //Exclude these implementations that are specific to each application scan.ExcludeType <ObjectIdResetter>(); scan.ExcludeType <DisplayNameProvider>(); scan.ExcludeType <FullPathDisplayResolver>(); scan.ExcludeType <PathToPathElementsMapper>(); scan.ExcludeType <QuantityPathToQuantityDisplayPathMapper>(); scan.ExcludeType <DataColumnToPathElementsMapper>(); if (!RegisterParameter) { scan.ExcludeType <Parameter>(); scan.ExcludeType <DistributedParameter>(); } scan.WithConvention(new OSPSuiteRegistrationConvention(registerConcreteType: true)); }); container.Register(typeof(IHistoryManager <>), typeof(HistoryManager <>)); //this should be registered as singleton container.Register <IWithIdRepository, WithIdRepository>(LifeStyle.Singleton); container.Register <IDiffBuilderRepository, DiffBuilderRepository>(LifeStyle.Singleton); container.Register <IPKParameterRepository, PKParameterRepository>(LifeStyle.Singleton); container.Register <ICoreCalculationMethodRepository, CoreCalculationMethodRepository>(LifeStyle.Singleton); container.Register <IPKParameterRepositoryLoader, PKParameterRepositoryLoader>(LifeStyle.Singleton); container.Register <IParameterIdentificationRunner, ParameterIdentificationRunner>(LifeStyle.Singleton); container.Register <ISensitivityAnalysisRunner, SensitivityAnalysisRunner>(LifeStyle.Singleton); registerComparers(container); registerConverters(container); registerParameterIdentificationRunFactories(container); registerThirdPartyComponents(container); container.RegisterFactory <IStartableProcessFactory>(); //Register Optimization algorithm explicitly container.Register <IOptimizationAlgorithm, NelderMeadOptimizer>(Constants.OptimizationAlgorithm.NELDER_MEAD_PKSIM); container.Register <IOptimizationAlgorithm, MPFitLevenbergMarquardtOptimizer>(Constants.OptimizationAlgorithm.MPFIT); container.Register <IOptimizationAlgorithm, MonteCarloOptimizer>(Constants.OptimizationAlgorithm.MONTE_CARLO); }