public void InitializeForStartup() { Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("en"); updateGoDiagramKey(); InfrastructureRegister.Initialize(); var container = IoC.Container; container.RegisterImplementationOf(getCurrentContext()); container.Register <IApplicationController, ApplicationController>(LifeStyle.Singleton); container.Register <PKSimApplication, PKSimApplication>(LifeStyle.Singleton); //UI and Presentation mandatory ojects for startup container.Register <IProgressUpdater, PKSimProgressUpdater>(); container.RegisterImplementationOf(NumericFormatterOptions.Instance); container.Register <IExceptionManager, ExceptionManager>(LifeStyle.Singleton); container.AddRegister(x => x.FromType <UIRegister>()); container.AddRegister(x => x.FromType <PresenterRegister>()); //must be registered so that the ui thread can start the startup container.RegisterImplementationOf(this); container.Register <IConfigurableContainerLayoutView, AccordionLayoutView>(ViewLayouts.AccordionView.Id); container.Register <IConfigurableContainerLayoutView, TabbedLayoutView>(ViewLayouts.TabbedView.Id); }
public void InitializeForStartup(LogLevel logLevel, Action <IContainer> registrationAction) { Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("en"); ApplicationIcons.DefaultIcon = ApplicationIcons.PKSim; updateGoDiagramKey(); initializeSynchronizationContext(); var container = InfrastructureRegister.Initialize(); container.RegisterImplementationOf(SynchronizationContext.Current); container.Register <IApplicationController, ApplicationController>(LifeStyle.Singleton); container.Register <PKSimApplication, PKSimApplication>(LifeStyle.Singleton); //UI and Presentation mandatory objects for startup container.Register <IProgressUpdater, PKSimProgressUpdater>(); container.RegisterImplementationOf(NumericFormatterOptions.Instance); container.Register <IExceptionManager, ExceptionManager>(LifeStyle.Singleton); container.AddRegister(x => x.FromType <UIRegister>()); container.AddRegister(x => x.FromType <PresenterRegister>()); //must be registered so that the ui thread can start the startup container.RegisterImplementationOf(this); container.Register <IConfigurableContainerLayoutView, AccordionLayoutView>(ViewLayouts.AccordionView.Id); container.Register <IConfigurableContainerLayoutView, TabbedLayoutView>(ViewLayouts.TabbedView.Id); configureLogger(container, logLevel); registrationAction?.Invoke(container); }
public override void GlobalContext() { if (IoC.Container != null) { return; } InfrastructureRegister.Initialize(); //use only in tests var container = IoC.Container; using (container.OptimizeDependencyResolution()) { var configuration = container.Resolve <IPKSimConfiguration>(); // configuration.PKSimDb = DomainHelperForSpecs.DbFilePath; // configuration.DimensionFilePath = DomainHelperForSpecs.DimensionFilePath; // configuration.PKParametersFilePath = DomainHelperForSpecs.PKParametersFilePath; //need to register these serives for which the default implementation is in the UI container.RegisterImplementationOf(new SynchronizationContext()); container.Register <IApplicationController, ApplicationController>(LifeStyle.Singleton); container.Register <IExceptionManager, ExceptionManagerForSpecs>(LifeStyle.Singleton); container.Register <IDisplayUnitRetriever, MatlabDisplayUnitRetriever>(); container.Register <IOntogenyFactorsRetriever, OntogenyFactorsRetriever>(); container.RegisterImplementationOf(A.Fake <IProgressUpdater>()); container.RegisterImplementationOf(A.Fake <IDialogCreator>()); container.RegisterImplementationOf(A.Fake <IHistoryManager>()); container.RegisterImplementationOf(A.Fake <IWorkspace>()); container.RegisterImplementationOf(A.Fake <OSPSuite.Core.IWorkspace>()); container.RegisterImplementationOf(A.Fake <IHeavyWorkManager>()); container.RegisterImplementationOf(A.Fake <IChartTemplatingTask>()); container.RegisterImplementationOf(A.Fake <IPresentationSettingsTask>()); container.RegisterImplementationOf(A.Fake <IJournalDiagramManagerFactory>()); container.AddRegister(x => { x.FromInstance(new CoreRegister()); x.FromType <InfrastructureRegister>(); x.FromType <PresenterRegister>(); x.FromType <OSPSuite.Presentation.PresenterRegister>(); x.FromType <BatchRegister>(); }); var userSettings = container.Resolve <IUserSettings>(); userSettings.AbsTol = 1e-10; userSettings.RelTol = 1e-5; //this is use to create reports userSettings.NumberOfBins = CoreConstants.DEFAULT_NUMBER_OF_BINS; InfrastructureRegister.RegisterSerializationDependencies(); } //Required for usage with nunit 3 Environment.CurrentDirectory = AppDomain.CurrentDomain.BaseDirectory; }
public static void Initialize() { Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("en"); var container = InfrastructureRegister.Initialize(); container.RegisterImplementationOf(new SynchronizationContext()); container.Register <IExceptionManager, CLIExceptionManager>(LifeStyle.Singleton); }
private void initializeForMatlab(string dimensionFilePath, string databaseFilePath, string pkParameterFilePath) { if (IoC.Container != null) { return; } InfrastructureRegister.Initialize(); var container = IoC.Container; var pksimConfiguration = container.Resolve <IPKSimConfiguration>(); //path was specified, update the default path if (!string.IsNullOrEmpty(dimensionFilePath)) { pksimConfiguration.DimensionFilePath = dimensionFilePath; } //path was specified, update the default path if (!string.IsNullOrEmpty(databaseFilePath)) { pksimConfiguration.PKSimDb = databaseFilePath; } //path was specified, update the default path if (!string.IsNullOrEmpty(pkParameterFilePath)) { pksimConfiguration.PKParametersFilePath = pkParameterFilePath; } using (container.OptimizeDependencyResolution()) { container.RegisterImplementationOf(new SynchronizationContext()); container.AddRegister(x => x.FromType <MatlabRegister>()); container.AddRegister(x => x.FromType <PresenterRegister>()); container.AddRegister(x => x.FromType <CoreRegister>()); container.AddRegister(x => x.FromType <InfrastructureRegister>()); container.AddRegister(x => x.FromType <OSPSuite.Presentation.PresenterRegister>()); //no computation required in matlab interface InfrastructureRegister.RegisterSerializationDependencies(registerSimModelSchema: false); } }
private void initializeForMatlab() { if (IoC.Container != null) { return; } var container = InfrastructureRegister.Initialize(); using (container.OptimizeDependencyResolution()) { container.RegisterImplementationOf(new SynchronizationContext()); container.AddRegister(x => x.FromType <MatlabRegister>()); container.AddRegister(x => x.FromType <CoreRegister>()); container.AddRegister(x => x.FromType <InfrastructureRegister>()); InfrastructureRegister.LoadSerializers(container); container.Register <ICoreWorkspace, OSPSuite.Core.IWorkspace, CLIWorkspace>(LifeStyle.Singleton); } }
private IContainer performInitialization() { // We do not want to register the IoC container to avoid static pollution that may collide with OSPSuite-R var container = InfrastructureRegister.Initialize(registerContainerAsStatic: false); using (container.OptimizeDependencyResolution()) { container.RegisterImplementationOf(new SynchronizationContext()); container.AddRegister(x => x.FromType <RRegister>()); container.AddRegister(x => x.FromType <CoreRegister>()); container.AddRegister(x => x.FromType <InfrastructureRegister>()); InfrastructureRegister.RegisterSerializationDependencies(container); registerMinimalImplementations(container); } var configuration = container.Resolve <IPKSimConfiguration>(); var currentPath = new FileInfo(Assembly.GetAssembly(GetType()).Location).DirectoryName; if (!File.Exists(configuration.PKSimDbPath)) { configuration.PKSimDbPath = Path.Combine(currentPath, CoreConstants.PK_SIM_DB_FILE); } if (!File.Exists(configuration.PKParametersFilePath)) { configuration.PKParametersFilePath = Path.Combine(currentPath, Constants.Files.PK_PARAMETERS_FILE_NAME); } if (!File.Exists(configuration.DimensionFilePath)) { configuration.DimensionFilePath = Path.Combine(currentPath, Constants.Files.DIMENSIONS_FILE_NAME); } // This will log the version of PKSIm used to R Console.WriteLine(PKSimConstants.Information.InitializingPKSim(CoreConstants.PRODUCT_NAME, configuration.FullVersion)); // Serialization mapping will require access to PKSim DB and as such, it needs to be performed after the DB was set. InfrastructureRegister.LoadDefaultEntities(container); return(container); }
private void initializeForMatlab() { if (IoC.Container != null) { return; } InfrastructureRegister.Initialize(); var container = IoC.Container; using (container.OptimizeDependencyResolution()) { container.RegisterImplementationOf(new SynchronizationContext()); container.AddRegister(x => x.FromType <MatlabRegister>()); container.AddRegister(x => x.FromType <CoreRegister>()); container.AddRegister(x => x.FromType <InfrastructureRegister>()); //no computation required in matlab interface InfrastructureRegister.RegisterSerializationDependencies(registerSimModelSchema: false); InfrastructureRegister.RegisterWorkspace <CLIWorkspace>(); } }