diff --git a/VECTO3GUI2020/ViewModel/Implementation/JobListViewModel.cs b/VECTO3GUI2020/ViewModel/Implementation/JobListViewModel.cs index 21f936fb99193c2107f54669469e4da0b438a575..5ee05781a8fe37544ab138246e2cb3e607f6672b 100644 --- a/VECTO3GUI2020/ViewModel/Implementation/JobListViewModel.cs +++ b/VECTO3GUI2020/ViewModel/Implementation/JobListViewModel.cs @@ -22,11 +22,13 @@ using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Resources; +using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.InputData.FileIO.JSON; using TUGraz.VectoCore.InputData.FileIO.XML; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces; +using TUGraz.VectoCore.Models.Simulation; using TUGraz.VectoCore.Models.Simulation.Impl; using TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory; using TUGraz.VectoCore.OutputData; @@ -106,6 +108,7 @@ namespace VECTO3GUI2020.ViewModel.Implementation IDialogHelper dialogHelper, IWindowHelper windowHelper, IMultiStageViewModelFactory multiStageViewModelFactory, + ISimulatorFactoryFactory simulatorFactoryFactory, IOutputViewModel outputViewModel) : this() { _documentViewModelFactory = documentViewModelFactory; @@ -114,6 +117,7 @@ namespace VECTO3GUI2020.ViewModel.Implementation _inputDataReader = inputDataReader; _multiStageViewModelFactory = multiStageViewModelFactory; _outputViewModel = outputViewModel; + _simFactoryFactory = simulatorFactoryFactory; _outputMessage = new Progress<MessageEntry>((message) => { _outputViewModel.AddMessage(message); @@ -518,7 +522,8 @@ namespace VECTO3GUI2020.ViewModel.Implementation } var fileWriter = new FileOutputWriter(GetOutputDirectory(fullFileName)); - var runsFactory = SimulatorFactory.CreateSimulatorFactory(mode, input, fileWriter); + var runsFactory = _simFactoryFactory.Factory(mode, input, fileWriter); + //var runsFactory = SimulatorFactory.CreateSimulatorFactory(mode, input, fileWriter); runsFactory.WriteModalResults = Settings.Default.WriteModalResults; runsFactory.ModalResults1Hz = Settings.Default.ModalResults1Hz; runsFactory.Validate = Settings.Default.Validate; @@ -793,6 +798,7 @@ namespace VECTO3GUI2020.ViewModel.Implementation private ICommand _openAdditionalJobInformationCommand; private IRelayCommand _openSourceFileCommand; private IRelayCommand _showSourceFileInExplorerCommand; + private readonly ISimulatorFactoryFactory _simFactoryFactory; public ICommand OpenSourceFileCommand diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageJobViewModel_v0_1.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageJobViewModel_v0_1.cs index 6ef16df4754cfe923802acce507e565b1c0809c3..4213b9d04cf4cdae5d6220aa9b9b175bce0ed993 100644 --- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageJobViewModel_v0_1.cs +++ b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageJobViewModel_v0_1.cs @@ -18,6 +18,7 @@ using TUGraz.VectoCommon.Models; using TUGraz.VectoCore.InputData.FileIO.JSON; using TUGraz.VectoCore.InputData.FileIO.XML; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; +using TUGraz.VectoCore.Models.Simulation; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.Simulation.Impl; using TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory; @@ -81,7 +82,8 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation IMultistageDependencies multistageDependencies, IXMLInputDataReader inputDataReader, IJobListViewModel jobListViewModel, - IAdditionalJobInfoViewModel additionalJobInfo) + IAdditionalJobInfoViewModel additionalJobInfo, + ISimulatorFactoryFactory simulatorFactoryFactory) { _dataSource = inputData.DataSource; @@ -90,11 +92,11 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation _jobListViewModel = jobListViewModel; _inputData = inputData; _vmFactory = vmFactory; + _simFactoryFactory = simulatorFactoryFactory; _consolidateManufacturingStage = _jobInputData.ConsolidateManufacturingStage; _manufacturingStages = _jobInputData.ManufacturingStages; _primaryVehicle = _jobInputData.PrimaryVehicle; _dialogHelper = multistageDependencies.DialogHelperLazy; - _inputDataReader = inputDataReader; _inputComplete = inputData.JobInputData.InputComplete; _invalidEntries = inputData.JobInputData?.InvalidEntries?.Distinct().ToList(); _additionalJobInfoVm = additionalJobInfo; @@ -217,16 +219,12 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation var inputData = new XMLDeclarationVIFInputData(vifData.MultistageJobInputData, vifData.VehicleInputData); - var factory = SimulatorFactory.CreateSimulatorFactory(ExecutionMode.Declaration, inputData, writer); + var factory = _simFactoryFactory.Factory(ExecutionMode.Declaration, inputData, writer); + //var factory = SimulatorFactory.CreateSimulatorFactory(ExecutionMode.Declaration, inputData, writer); var jobContainer = new JobContainer(new NullSumWriter()); jobContainer.AddRuns(factory); - //var runs = factory.SimulationRuns().ToList(); - //foreach (var run in runs) { - // jobContainer.AddRun(run); - //} - jobContainer.Execute(); jobContainer.WaitFinished(); @@ -265,8 +263,6 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation private readonly Lazy<IDialogHelper> _dialogHelper; - private readonly IXMLInputDataReader _inputDataReader; - private string _vehicleInputDataFilePath = null; private readonly IMultistageDependencies _multistageDependencies; private readonly DataSource _dataSource; private readonly IMultistageBusInputDataProvider _inputData; @@ -274,6 +270,7 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation private readonly bool _exempted; private readonly IJobListViewModel _jobListViewModel; private readonly IList<string> _invalidEntries; + private readonly ISimulatorFactoryFactory _simFactoryFactory; public string VehicleInputDataFilePath diff --git a/VectoConsole/Program.cs b/VectoConsole/Program.cs index 50155f95b51c7a8408d6658b0b981fafc62c6f27..e52d3071705443971a6d2910ddc6b9266a966ad1 100644 --- a/VectoConsole/Program.cs +++ b/VectoConsole/Program.cs @@ -49,6 +49,7 @@ using TUGraz.VectoCore; using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.InputData.FileIO.JSON; using TUGraz.VectoCore.InputData.FileIO.XML; +using TUGraz.VectoCore.Models.Simulation; using TUGraz.VectoCore.Models.Simulation.Impl; using TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory; using TUGraz.VectoCore.OutputData; @@ -228,7 +229,8 @@ Examples: } fileWriter = new FileOutputWriter(file); - var runsFactory = SimulatorFactory.CreateSimulatorFactory(mode, dataProvider, fileWriter); + var runsFactory = _kernel.Get<ISimulatorFactoryFactory>().Factory(mode, dataProvider, fileWriter); + //var runsFactory = SimulatorFactory.CreateSimulatorFactory(mode, dataProvider, fileWriter); runsFactory.ModalResults1Hz = args.Contains("-1Hz"); runsFactory.WriteModalResults = args.Contains("-mod"); runsFactory.ActualModalData = args.Contains("-act");