From 47ba858db335ce4373df5f564eb82270575a7ba3 Mon Sep 17 00:00:00 2001 From: "harald.martini@student.tugraz.at" <harald.martini@student.tugraz.at> Date: Tue, 12 Oct 2021 09:27:29 +0200 Subject: [PATCH] replaced switch case in CreateSimulatorFactory with call to ISimulatorFactoryFactory --- VECTO/GUI/MainForm.vb | 3 +- .../Models/Simulation/ISimulatorFactory.cs | 3 ++ .../Simulation/ISimulatorFactoryFactory.cs | 3 +- .../Impl/SimulatorFactory/SimulatorFactory.cs | 29 +++++++++---------- 4 files changed, 21 insertions(+), 17 deletions(-) diff --git a/VECTO/GUI/MainForm.vb b/VECTO/GUI/MainForm.vb index b42ea57526..ee4824c169 100644 --- a/VECTO/GUI/MainForm.vb +++ b/VECTO/GUI/MainForm.vb @@ -48,6 +48,7 @@ Imports TUGraz.VectoCommon.Resources Imports TUGraz.VectoCommon.Utils Imports TUGraz.VectoCore Imports TUGraz.VectoCore.InputData.FileIO.XML +Imports TUGraz.VectoCore.Models.Simulation Imports TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory Imports TUGraz.VectoCore.Models.SimulationComponent.Data Imports TUGraz.VectoCore.OutputData @@ -1024,7 +1025,7 @@ lbFound: Dim outFile As String = GetOutputDirectory(jobFile) Dim fileWriter As FileOutputWriter = New FileOutputWriter(outFile) - Dim runsFactory As SimulatorFactory = SimulatorFactory.CreateSimulatorFactory(mode, input, fileWriter) + Dim runsFactory As ISimulatorFactory = SimulatorFactory.CreateSimulatorFactory(mode, input, fileWriter) runsFactory.WriteModalResults = Cfg.ModOut runsFactory.ModalResults1Hz = Cfg.Mod1Hz runsFactory.Validate = cbValidateRunData.Checked diff --git a/VectoCore/VectoCore/Models/Simulation/ISimulatorFactory.cs b/VectoCore/VectoCore/Models/Simulation/ISimulatorFactory.cs index d370c58c7e..878c80f6a2 100644 --- a/VectoCore/VectoCore/Models/Simulation/ISimulatorFactory.cs +++ b/VectoCore/VectoCore/Models/Simulation/ISimulatorFactory.cs @@ -47,6 +47,9 @@ namespace TUGraz.VectoCore.Models.Simulation IVectoRunDataFactory DataReader { get; } ISimulatorFactory FollowUpSimulatorFactory { get; } IOutputDataWriter ReportWriter { get; } + bool SerializeVectoRunData { get; set; } + + bool CreateFollowUpSimulatorFactory { get; set; } /// <summary> /// Creates powertrain and initializes it with the component's data. diff --git a/VectoCore/VectoCore/Models/Simulation/ISimulatorFactoryFactory.cs b/VectoCore/VectoCore/Models/Simulation/ISimulatorFactoryFactory.cs index 8e8617343e..50ae3f960f 100644 --- a/VectoCore/VectoCore/Models/Simulation/ISimulatorFactoryFactory.cs +++ b/VectoCore/VectoCore/Models/Simulation/ISimulatorFactoryFactory.cs @@ -41,7 +41,8 @@ namespace TUGraz.VectoCore.Models.Simulation ExecutionMode mode, IInputDataProvider dataProvider, IOutputDataWriter writer); - ISimulatorFactory Factory(IInputDataProvider dataProvider, + ISimulatorFactory Factory(ExecutionMode mode, + IInputDataProvider dataProvider, IOutputDataWriter writer, IDeclarationReport declarationReport = null, IVTPReport vtpReport = null, diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory/SimulatorFactory.cs b/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory/SimulatorFactory.cs index d1c9d38447..59fb4431bd 100644 --- a/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory/SimulatorFactory.cs +++ b/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory/SimulatorFactory.cs @@ -71,30 +71,29 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory { get => CreateFollowUpSimulatorFactory ? _followingSimulatorFactoryCreator?.Invoke() : null; } - - public bool CreateFollowUpSimulatorFactory = false; + public bool CreateFollowUpSimulatorFactory { get; set; } = false; protected readonly ExecutionMode _mode; #region Constructors and Factory Methods to instantiate Instances of SimulatorFactory without NInject (should only be used in Testcases that are not updated yet) [Obsolete("Creation of new SimulatorFactories should be done with SimulatorFactoryFactory NInject Factory", false)] - public static SimulatorFactory CreateSimulatorFactory(ExecutionMode mode, IInputDataProvider dataProvider, IOutputDataWriter writer, IDeclarationReport declarationReport = null, IVTPReport vtpReport=null, bool validate = true) + public static ISimulatorFactory CreateSimulatorFactory(ExecutionMode mode, IInputDataProvider dataProvider, IOutputDataWriter writer, IDeclarationReport declarationReport = null, IVTPReport vtpReport=null, bool validate = true) { - switch (mode) - { - case ExecutionMode.Declaration: - ISimulatorFactoryFactory simFactoryFactory = - new StandardKernel(new VectoNinjectModule()).Get<ISimulatorFactoryFactory>(); - return new SimulatorFactoryDeclaration(dataProvider, writer, declarationReport, vtpReport, validate); - case ExecutionMode.Engineering: - return new SimulatorFactoryEngineering(dataProvider, writer, validate); - default: - throw new VectoException("Unkown factory mode in SimulatorFactory: {0}", mode); - } + return new StandardKernel(new VectoNinjectModule()).Get<ISimulatorFactoryFactory>().Factory(mode, dataProvider, writer, declarationReport, vtpReport, validate); + //switch (mode) + //{ + // case ExecutionMode.Declaration: + + // return new SimulatorFactoryDeclaration(dataProvider, writer, declarationReport, vtpReport, validate); + // case ExecutionMode.Engineering: + // return new SimulatorFactoryEngineering(dataProvider, writer, validate); + // default: + // throw new VectoException("Unkown factory mode in SimulatorFactory: {0}", mode); + //} } [Obsolete("Creation of new SimulatorFactories should be done with SimulatorFactoryFactory NInject Factory", false)] - public static SimulatorFactory CreateSimulatorFactory(ExecutionMode mode, IInputDataProvider dataProvider, IOutputDataWriter writer) + public static ISimulatorFactory CreateSimulatorFactory(ExecutionMode mode, IInputDataProvider dataProvider, IOutputDataWriter writer) { return CreateSimulatorFactory(mode, dataProvider, writer, null, null, true); } -- GitLab