From 864bed713070da56a611c28caa69af9fbdac6e1e Mon Sep 17 00:00:00 2001 From: Harald Martini <harald.martini@student.tugraz.at> Date: Mon, 27 Jun 2022 13:00:03 +0200 Subject: [PATCH] added MockupEngineeringSimulatorFactory --- .../Ninject/SimulatorFactoryModule.cs | 1 + ...Factory.cs => MockupSimulatorFactories.cs} | 43 +++++++++++++++---- 2 files changed, 36 insertions(+), 8 deletions(-) rename VectoMockup/VectoMockup/Simulation/SimulatorFactory/{MockupDeclarationSimulatorFactory.cs => MockupSimulatorFactories.cs} (77%) diff --git a/VectoMockup/VectoMockup/Ninject/SimulatorFactoryModule.cs b/VectoMockup/VectoMockup/Ninject/SimulatorFactoryModule.cs index da2023bc9f..d430782ac4 100644 --- a/VectoMockup/VectoMockup/Ninject/SimulatorFactoryModule.cs +++ b/VectoMockup/VectoMockup/Ninject/SimulatorFactoryModule.cs @@ -18,6 +18,7 @@ namespace TUGraz.VectoMockup.Ninject public override void Load() { Kernel.Rebind<ISimulatorFactory>().To<MockupDeclarationSimulatorFactory>().Named(ExecutionMode.Declaration.ToString()); + Kernel.Rebind<ISimulatorFactory>().To<MockupEngineeringSimulatorFactory>().Named(ExecutionMode.Engineering.ToString()); //Bind<ISimulatorFactory>().To<SimulatorFactoryEngineering>().Named(ExecutionMode.Engineering.ToString()); } diff --git a/VectoMockup/VectoMockup/Simulation/SimulatorFactory/MockupDeclarationSimulatorFactory.cs b/VectoMockup/VectoMockup/Simulation/SimulatorFactory/MockupSimulatorFactories.cs similarity index 77% rename from VectoMockup/VectoMockup/Simulation/SimulatorFactory/MockupDeclarationSimulatorFactory.cs rename to VectoMockup/VectoMockup/Simulation/SimulatorFactory/MockupSimulatorFactories.cs index 3ec5dd44da..0ef5b2f182 100644 --- a/VectoMockup/VectoMockup/Simulation/SimulatorFactory/MockupDeclarationSimulatorFactory.cs +++ b/VectoMockup/VectoMockup/Simulation/SimulatorFactory/MockupSimulatorFactories.cs @@ -3,9 +3,11 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCore.InputData; +using TUGraz.VectoCore.InputData.FileIO.JSON; using TUGraz.VectoCore.InputData.FileIO.XML; using TUGraz.VectoCore.Models.Simulation; using TUGraz.VectoCore.Models.Simulation.Data; @@ -17,20 +19,45 @@ using TUGraz.VectoMockup.Reports; namespace TUGraz.VectoMockup.Simulation.SimulatorFactory { - internal class MockupDeclarationSimulatorFactory : SimulatorFactoryDeclaration + internal class MockupEngineeringSimulatorFactory : SimulatorFactoryEngineering + { + public MockupEngineeringSimulatorFactory(IInputDataProvider dataProvider, IOutputDataWriter writer, + bool validate) : base(dataProvider, writer, validate) + { + throw new VectoException("Engineering mode is not supported in Mockup Vecto"); + } + } + + + internal class MockupDeclarationSimulatorFactory : SimulatorFactoryDeclaration { + private void CheckInputData(IInputDataProvider dataProvider) + { + if (dataProvider is JSONFile json && !(dataProvider is JSONInputDataV10_PrimaryAndStageInputBus)) { + throw new VectoException($"JSON input data is not supported in Mockup Vecto"); + } + } + 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) { } + simulatorFactoryFactory, xmlDeclarationReportFactory, runDataFactoryFactory) + { + CheckInputData(dataProvider); + } + + public MockupDeclarationSimulatorFactory(IInputDataProvider dataProvider, + IOutputDataWriter writer, bool validate, + IXMLInputDataReader xmlInputDataReader, + ISimulatorFactoryFactory simulatorFactoryFactory, + IXMLDeclarationReportFactory xmlDeclarationReportFactory, + IVectoRunDataFactoryFactory runDataFactoryFactory) : base(dataProvider, writer, validate, + xmlInputDataReader, simulatorFactoryFactory, xmlDeclarationReportFactory, runDataFactoryFactory) + { + CheckInputData(dataProvider); + } #region Overrides of SimulatorFactory -- GitLab