From ca67022db1dbdb164fefbfd2b6d7045366cc08d9 Mon Sep 17 00:00:00 2001 From: Harald Martini <harald.martini@student.tugraz.at> Date: Mon, 30 May 2022 09:53:59 +0200 Subject: [PATCH] added Mockup SimulatorFactory --- .../Ninject/SimulatorFactoryModule.cs | 26 +++++++++++ .../VectoMockup/Ninject/VIFMockupModule.cs | 21 +++++++++ .../MockupDeclarationSimulatorFactory.cs | 44 +++++++++++++++++++ 3 files changed, 91 insertions(+) create mode 100644 VectoMockup/VectoMockup/Ninject/SimulatorFactoryModule.cs create mode 100644 VectoMockup/VectoMockup/Ninject/VIFMockupModule.cs create mode 100644 VectoMockup/VectoMockup/Simulation/SimulatorFactory/MockupDeclarationSimulatorFactory.cs diff --git a/VectoMockup/VectoMockup/Ninject/SimulatorFactoryModule.cs b/VectoMockup/VectoMockup/Ninject/SimulatorFactoryModule.cs new file mode 100644 index 0000000000..da2023bc9f --- /dev/null +++ b/VectoMockup/VectoMockup/Ninject/SimulatorFactoryModule.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using TUGraz.VectoCommon.Models; +using TUGraz.VectoCore; +using TUGraz.VectoCore.Models.Simulation; +using TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory; +using TUGraz.VectoMockup.Simulation.SimulatorFactory; + +namespace TUGraz.VectoMockup.Ninject +{ + public class SimulatorFactoryModule : AbstractNinjectModule + { + #region Overrides of NinjectModule + + public override void Load() + { + Kernel.Rebind<ISimulatorFactory>().To<MockupDeclarationSimulatorFactory>().Named(ExecutionMode.Declaration.ToString()); + //Bind<ISimulatorFactory>().To<SimulatorFactoryEngineering>().Named(ExecutionMode.Engineering.ToString()); + } + + #endregion + } +} diff --git a/VectoMockup/VectoMockup/Ninject/VIFMockupModule.cs b/VectoMockup/VectoMockup/Ninject/VIFMockupModule.cs new file mode 100644 index 0000000000..e448064bed --- /dev/null +++ b/VectoMockup/VectoMockup/Ninject/VIFMockupModule.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using TUGraz.VectoCore; + +namespace TUGraz.VectoMockup.Ninject +{ + internal class VIFMockupModulen : AbstractNinjectModule + { + #region Overrides of NinjectModule + + public override void Load() + { + + } + + #endregion + } +} diff --git a/VectoMockup/VectoMockup/Simulation/SimulatorFactory/MockupDeclarationSimulatorFactory.cs b/VectoMockup/VectoMockup/Simulation/SimulatorFactory/MockupDeclarationSimulatorFactory.cs new file mode 100644 index 0000000000..da21bd6941 --- /dev/null +++ b/VectoMockup/VectoMockup/Simulation/SimulatorFactory/MockupDeclarationSimulatorFactory.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using TUGraz.VectoCommon.InputData; +using TUGraz.VectoCommon.Models; +using TUGraz.VectoCore.InputData; +using TUGraz.VectoCore.InputData.FileIO.XML; +using TUGraz.VectoCore.Models.Simulation; +using TUGraz.VectoCore.Models.Simulation.Data; +using TUGraz.VectoCore.Models.Simulation.Impl; +using TUGraz.VectoCore.Models.Simulation.Impl.Mockup; +using TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory; +using TUGraz.VectoCore.OutputData; +using TUGraz.VectoCore.OutputData.XML; + +namespace TUGraz.VectoMockup.Simulation.SimulatorFactory +{ + internal class MockupDeclarationSimulatorFactory : SimulatorFactoryDeclaration + { + public MockupDeclarationSimulatorFactory(IInputDataProvider dataProvider, IOutputDataWriter writer, IDeclarationReport declarationReport, IVTPReport vtpReport, bool validate, IXMLInputDataReader xmlInputDataReader, ISimulatorFactoryFactory simulatorFactoryFactory, IXMLDeclarationReportFactory xmlDeclarationReportFactory, IVectoRunDataFactoryFactory runDataFactoryFactory) : base(dataProvider, writer, declarationReport, vtpReport, validate, xmlInputDataReader, simulatorFactoryFactory, xmlDeclarationReportFactory, runDataFactoryFactory) { } + public MockupDeclarationSimulatorFactory(IInputDataProvider dataProvider, IOutputDataWriter writer, bool validate, IXMLInputDataReader xmlInputDataReader, ISimulatorFactoryFactory simulatorFactoryFactory, IXMLDeclarationReportFactory xmlDeclarationReportFactory, IVectoRunDataFactoryFactory runDataFactoryFactory) : base(dataProvider, writer, validate, xmlInputDataReader, simulatorFactoryFactory, xmlDeclarationReportFactory, runDataFactoryFactory) { } + + #region Overrides of SimulatorFactory + + protected override IVectoRun GetExemptedRun(VectoRunData data) + { + throw new NotImplementedException("Exempted Mockup not implemented"); + return base.GetExemptedRun(data); + } + + protected override IVectoRun GetNonExemptedRun(VectoRunData data, int current, VectoRunData d, ref bool warning1Hz) + { + var addReportResult = PrepareReport(data); + return new MockupRun(new VehicleContainer(ExecutionMode.Declaration, + new ModalDataContainer(data, ReportWriter, addReportResult)) + { RunData = data }); + + } + + #endregion + } +} -- GitLab