From 6bbcf9bd2a33fe458325ec5c039e7be3a567afd0 Mon Sep 17 00:00:00 2001 From: Harald Martini <harald.martini@student.tugraz.at> Date: Wed, 1 Jun 2022 15:29:40 +0200 Subject: [PATCH] override CreateFollowUpSimulatorFactoryCreator in MockupDeclarationSimulatorFactory --- .../MockupDeclarationSimulatorFactory.cs | 60 +++++++++++++++++-- 1 file changed, 56 insertions(+), 4 deletions(-) diff --git a/VectoMockup/VectoMockup/Simulation/SimulatorFactory/MockupDeclarationSimulatorFactory.cs b/VectoMockup/VectoMockup/Simulation/SimulatorFactory/MockupDeclarationSimulatorFactory.cs index da21bd6941..ff38379ff0 100644 --- a/VectoMockup/VectoMockup/Simulation/SimulatorFactory/MockupDeclarationSimulatorFactory.cs +++ b/VectoMockup/VectoMockup/Simulation/SimulatorFactory/MockupDeclarationSimulatorFactory.cs @@ -10,23 +10,39 @@ 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; +using TUGraz.VectoMockup.Reports; 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) { } + 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"); + + //var addReportResult = PrepareReport(data); + //return new MockupRun(new VehicleContainer(ExecutionMode.Declaration, + // new ModalDataContainer(data, ReportWriter, addReportResult)) + // { RunData = data }); + return base.GetExemptedRun(data); } @@ -39,6 +55,42 @@ namespace TUGraz.VectoMockup.Simulation.SimulatorFactory } + #region Overrides of SimulatorFactoryDeclaration + + protected override IFollowUpSimulatorFactoryCreator CreateFollowUpFactoryCreator(IInputDataProvider currentStageInputData, + IDeclarationReport currentStageDeclarationReport) + { + switch (currentStageInputData) + { + case IMultistagePrimaryAndStageInputDataProvider multistagePrimaryAndStageInputDataProvider: + return new MockupInterimAfterPrimaryFactoryCreator( + multistagePrimaryAndStageInputDataProvider, + ReportWriter, + currentStageDeclarationReport, + _simFactoryFactory, + ((IMockupDeclarationReportFactory)_xmlDeclarationReportFactory).MrfFactory, + ((IMockupDeclarationReportFactory)_xmlDeclarationReportFactory).CifFactory, + _xmlInputDataReader, + Validate); + case IMultistageVIFInputData multistageVifInputData: + if (multistageVifInputData.VehicleInputData != null) + { + return new MockupCompletedAfterPrimaryFactoryCreator( + multistageVifInputData, + ReportWriter, + currentStageDeclarationReport, + _xmlInputDataReader, + _simFactoryFactory, Validate); + } + break; + default: + return null; + } + return null; + } + + #endregion + #endregion } } -- GitLab