diff --git a/VectoMockup/VectoMockup/Ninject/SimulatorFactoryModule.cs b/VectoMockup/VectoMockup/Ninject/SimulatorFactoryModule.cs index da2023bc9f9a87c762c75c00b37571815a63214e..d430782ac46de90c0fd431d0f0616d3116bafdfc 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 3ec5dd44dac9191479031a5d1a797d6552082dc1..0ef5b2f1825bd323755c9c47d71b05ee7c5ad77b 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