Exemplo n.º 1
0
        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);
        }
Exemplo n.º 3
0
        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;
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
            }
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 8
0
        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>();
            }
        }