From 84eaf024fc2b6fd8146a92bb7f557946988efe0e Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <quaritsch@ivt.tugraz.at> Date: Wed, 8 Mar 2023 20:44:05 +0100 Subject: [PATCH] make mokup code compile, correct attribute mapping in vif reader --- .../Mockup/MockupModalDataContainer.cs | 7 ++++ .../VectoCore/Mockup/MockupResultReader.cs | 21 ++++++------ .../Mockup/Reports/IXMLMockupReport.cs | 7 ++-- .../Mockup/Reports/MockupCustomerReport.cs | 4 +-- .../Reports/MockupManufacturerReport.cs | 13 ++++---- .../Mockup/Reports/MockupVIFReport.cs | 5 +-- .../Reports/MockupVehicleInformationFile.cs | 9 ++--- .../CompletedBusRunDataFactory.cs | 33 +++++++++++-------- .../MockupLorryVectoRunDataFactory.cs | 23 +++++++------ .../PrimaryBusMockupRunDataFactory.cs | 15 ++++----- .../VectoMockupRunDataFactoryFactory.cs | 15 ++++++--- .../MockupFollowUpSimulatorFactoryCreator.cs | 13 ++++---- .../MockupSimulatorFactories.cs | 9 ++--- .../VIFBoostingLimitationsType.cs | 6 ++-- .../VIFElectricEnergyStorageType.cs | 11 ++++--- .../VectoMockupTest/VectoMockupTest.csproj | 2 +- 16 files changed, 109 insertions(+), 84 deletions(-) diff --git a/VectoCore/VectoCore/Mockup/MockupModalDataContainer.cs b/VectoCore/VectoCore/Mockup/MockupModalDataContainer.cs index fd77022c40..4c0760dfd8 100644 --- a/VectoCore/VectoCore/Mockup/MockupModalDataContainer.cs +++ b/VectoCore/VectoCore/Mockup/MockupModalDataContainer.cs @@ -170,6 +170,11 @@ namespace TUGraz.VectoMockup return _modalDataContainerImplementation.GetColumnName(fuelData, mrf); } + public void Reset(bool clearColumns = false) + { + + } + public string GetColumnName(PowertrainPosition pos, ModalResultField mrf) { return _modalDataContainerImplementation.GetColumnName(pos, mrf); @@ -209,6 +214,8 @@ namespace TUGraz.VectoMockup } public bool HasCombustionEngine => _modalDataContainerImplementation.HasCombustionEngine; + public bool HasGearbox { get; } + public bool HasAxlegear { get; } public WattSecond TotalElectricMotorWorkDrive(PowertrainPosition emPos) { diff --git a/VectoCore/VectoCore/Mockup/MockupResultReader.cs b/VectoCore/VectoCore/Mockup/MockupResultReader.cs index a627fca60f..a4c7288312 100644 --- a/VectoCore/VectoCore/Mockup/MockupResultReader.cs +++ b/VectoCore/VectoCore/Mockup/MockupResultReader.cs @@ -14,6 +14,7 @@ using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; +using TUGraz.VectoCore.OutputData; using TUGraz.VectoCore.OutputData.XML; using TUGraz.VectoCore.Utils; @@ -77,7 +78,7 @@ namespace TUGraz.VectoMockup }; - public static string GetResourceName(string xmlName, XMLDeclarationReport.ResultEntry result, ResultType type, VectoRunData runData) + public static string GetResourceName(string xmlName, IResultEntry result, ResultType type, VectoRunData runData) { var resNames = Assembly.GetAssembly(typeof(MockupResultReader)).GetManifestResourceNames(); @@ -136,7 +137,7 @@ namespace TUGraz.VectoMockup } - public static XElement GetMRFMockupResult(string xmlName, XMLDeclarationReport.ResultEntry result, XName resultElementName, VectoRunData runData) + public static XElement GetMRFMockupResult(string xmlName, IResultEntry result, XName resultElementName, VectoRunData runData) { var resultElement = GetResultElement(resultElementName, MockupResultHelper.GetResourceName(xmlName, result, ResultType.MRF, runData)); ReplaceMission(result, resultElement); @@ -151,7 +152,7 @@ namespace TUGraz.VectoMockup - public static XElement GetCIFMockupResult(string xmlName, XMLDeclarationReport.ResultEntry result, XName resultElementName, VectoRunData runData) + public static XElement GetCIFMockupResult(string xmlName, IResultEntry result, XName resultElementName, VectoRunData runData) { var resultElement = GetResultElement(resultElementName, MockupResultHelper.GetResourceName(xmlName, result, ResultType.CIF, runData)); resultElement.DescendantNodes().OfType<XComment>().Remove(); @@ -161,7 +162,7 @@ namespace TUGraz.VectoMockup return resultElement; } - public static XElement GetVIFMockupResult(string xmlName, XMLDeclarationReport.ResultEntry result, XName resultElementName, VectoRunData runData) + public static XElement GetVIFMockupResult(string xmlName, IResultEntry result, XName resultElementName, VectoRunData runData) { var resultElement = GetResultElement(resultElementName, MockupResultHelper.GetResourceName(xmlName, result, ResultType.VIF, runData)); resultElement.DescendantNodes().OfType<XComment>().Remove(); @@ -176,7 +177,7 @@ namespace TUGraz.VectoMockup - private static void ReplacePayload(XMLDeclarationReport.ResultEntry result, XElement resultElement) + private static void ReplacePayload(IResultEntry result, XElement resultElement) { if (result.Payload == null) { return; @@ -188,7 +189,7 @@ namespace TUGraz.VectoMockup payload.ForEach(x => x.Value = result.Payload.ToXMLFormat()); } - private static void ReplaceGroup(XMLDeclarationReport.ResultEntry result, XElement resultElement) + private static void ReplaceGroup(IResultEntry result, XElement resultElement) { var groupElement = resultElement.XPathSelectElements($"//*[local-name()='{XMLNames.Report_Results_PrimaryVehicleSubgroup}']").ToList(); if (!groupElement.Any()) { @@ -197,7 +198,7 @@ namespace TUGraz.VectoMockup groupElement.ForEach(x => x.Value = result.VehicleClass.GetClassNumber()); } - private static void ReplaceFuelMode(XMLDeclarationReport.ResultEntry result, XElement resultElement) + private static void ReplaceFuelMode(IResultEntry result, XElement resultElement) { var fuelMode = resultElement.XPathSelectElements($"//*[local-name()='{XMLNames.Report_Result_FuelMode}']"); var fuelModeElement = fuelMode.FirstOrDefault(); @@ -230,7 +231,7 @@ namespace TUGraz.VectoMockup } - private static void ReplaceMission(XMLDeclarationReport.ResultEntry result, XElement resultElement) + private static void ReplaceMission(IResultEntry result, XElement resultElement) { var mission = resultElement.Elements() .FirstOrDefault(x => x.Name.LocalName == XMLNames.Report_Result_Mission); @@ -240,7 +241,7 @@ namespace TUGraz.VectoMockup } - private static void SetFuels(XMLDeclarationReport.ResultEntry result, XElement resultElement) + private static void SetFuels(IResultEntry result, XElement resultElement) { //var tmpResultElement = new XElement(resultElement); var fuelElements = resultElement.XPathSelectElements("//*[local-name()='Fuel']").ToList(); @@ -262,7 +263,7 @@ namespace TUGraz.VectoMockup } } - private static void ClearGearboxAndAxleGearEntries(XMLDeclarationReport.ResultEntry result, + private static void ClearGearboxAndAxleGearEntries(IResultEntry result, XElement resultElement, VectoRunData runData) { var elementsToRemove = new List<XElement>(); diff --git a/VectoCore/VectoCore/Mockup/Reports/IXMLMockupReport.cs b/VectoCore/VectoCore/Mockup/Reports/IXMLMockupReport.cs index f5d43b3673..9d68af06df 100644 --- a/VectoCore/VectoCore/Mockup/Reports/IXMLMockupReport.cs +++ b/VectoCore/VectoCore/Mockup/Reports/IXMLMockupReport.cs @@ -1,11 +1,12 @@ -using TUGraz.VectoCore.OutputData.XML; +using TUGraz.VectoCore.OutputData; +using TUGraz.VectoCore.OutputData.XML; namespace TUGraz.VectoMockup.Reports { internal interface IXMLMockupReport { - void WriteMockupResult(XMLDeclarationReport.ResultEntry resultValue); - void WriteMockupSummary(XMLDeclarationReport.ResultEntry resultValue); + void WriteMockupResult(IResultEntry resultValue); + void WriteMockupSummary(IResultEntry resultValue); void WriteExemptedResults(); } } \ No newline at end of file diff --git a/VectoCore/VectoCore/Mockup/Reports/MockupCustomerReport.cs b/VectoCore/VectoCore/Mockup/Reports/MockupCustomerReport.cs index 9b12db161f..35ef05e800 100644 --- a/VectoCore/VectoCore/Mockup/Reports/MockupCustomerReport.cs +++ b/VectoCore/VectoCore/Mockup/Reports/MockupCustomerReport.cs @@ -63,12 +63,12 @@ namespace TUGraz.VectoMockup.Reports #region Implementation of IXMLMockupReport - public void WriteMockupResult(XMLDeclarationReport.ResultEntry resultValue) + public void WriteMockupResult(IResultEntry resultValue) { Results.Add(MockupResultReader.GetCIFMockupResult(_outputDataType, resultValue, Cif + "Result", _modelData)); } - public void WriteMockupSummary(XMLDeclarationReport.ResultEntry resultValue) + public void WriteMockupSummary(IResultEntry resultValue) { Results.AddFirst(new XElement(Cif + "Status", "success")); Results.AddFirst(new XComment("Always prints success at the moment")); diff --git a/VectoCore/VectoCore/Mockup/Reports/MockupManufacturerReport.cs b/VectoCore/VectoCore/Mockup/Reports/MockupManufacturerReport.cs index 5bd1b7db6f..6a9efa0917 100644 --- a/VectoCore/VectoCore/Mockup/Reports/MockupManufacturerReport.cs +++ b/VectoCore/VectoCore/Mockup/Reports/MockupManufacturerReport.cs @@ -37,7 +37,7 @@ namespace TUGraz.VectoMockup.Reports } - public void WriteMockupSummary(XMLDeclarationReport.ResultEntry resultValue) + public void WriteMockupSummary(IResultEntry resultValue) { Results.AddFirst(new XElement(Mrf + "Status", "success")); Results.AddFirst(new XComment("Always prints success at the moment")); @@ -54,10 +54,10 @@ namespace TUGraz.VectoMockup.Reports #region Implementation of IXMLManufacturerReport - public void InitializeVehicleData(IDeclarationInputDataProvider inputData) - { - _ixmlManufacturerReportImplementation.InitializeVehicleData(inputData); - } + //public void InitializeVehicleData(IDeclarationInputDataProvider inputData) + //{ + // _ixmlManufacturerReportImplementation.InitializeVehicleData(inputData); + //} public void Initialize(VectoRunData modelData) { @@ -76,11 +76,12 @@ namespace TUGraz.VectoMockup.Reports } } - public void WriteResult(XMLDeclarationReport.ResultEntry resultValue) + public void WriteResult(IResultEntry resultValue) { _ixmlManufacturerReportImplementation.WriteResult(resultValue); } + public void GenerateReport() { _ixmlManufacturerReportImplementation.GenerateReport(); diff --git a/VectoCore/VectoCore/Mockup/Reports/MockupVIFReport.cs b/VectoCore/VectoCore/Mockup/Reports/MockupVIFReport.cs index 2a2a4e27e3..ce773080a2 100644 --- a/VectoCore/VectoCore/Mockup/Reports/MockupVIFReport.cs +++ b/VectoCore/VectoCore/Mockup/Reports/MockupVIFReport.cs @@ -4,6 +4,7 @@ using System.Text; using System.Threading.Tasks; using System.Xml.Linq; using TUGraz.VectoCore.Models.Simulation.Data; +using TUGraz.VectoCore.OutputData; using TUGraz.VectoCore.OutputData.XML; using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile; @@ -81,12 +82,12 @@ namespace TUGraz.VectoMockup.Reports #region Implementation of IXMLMockupReport - public void WriteMockupResult(XMLDeclarationReport.ResultEntry resultValue) + public void WriteMockupResult(IResultEntry resultValue) { } - public void WriteMockupSummary(XMLDeclarationReport.ResultEntry resultValue) + public void WriteMockupSummary(IResultEntry resultValue) { } diff --git a/VectoCore/VectoCore/Mockup/Reports/MockupVehicleInformationFile.cs b/VectoCore/VectoCore/Mockup/Reports/MockupVehicleInformationFile.cs index 1c5140fafd..e00244edd0 100644 --- a/VectoCore/VectoCore/Mockup/Reports/MockupVehicleInformationFile.cs +++ b/VectoCore/VectoCore/Mockup/Reports/MockupVehicleInformationFile.cs @@ -7,6 +7,7 @@ using System.Xml.XPath; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCore.Models.Simulation.Data; +using TUGraz.VectoCore.OutputData; using TUGraz.VectoCore.OutputData.XML; using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9; using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile; @@ -40,12 +41,12 @@ namespace TUGraz.VectoMockup.Reports #region Implementation of IXMLMockupReport - public void WriteMockupResult(XMLDeclarationReport.ResultEntry resultValue) + public void WriteMockupResult(IResultEntry resultValue) { } - public void WriteMockupSummary(XMLDeclarationReport.ResultEntry resultValue) + public void WriteMockupSummary(IResultEntry resultValue) { } @@ -92,13 +93,13 @@ namespace TUGraz.VectoMockup.Reports #region Implementation of IXMLMockupReport - public void WriteMockupResult(XMLDeclarationReport.ResultEntry resultValue) + public void WriteMockupResult(IResultEntry resultValue) { var xElement = MockupResultReader.GetVIFMockupResult(Tns.NamespaceName, resultValue, Tns + "Result", _modelData); Results.Add(xElement); } - public void WriteMockupSummary(XMLDeclarationReport.ResultEntry resultValue) + public void WriteMockupSummary(IResultEntry resultValue) { Results.AddFirst(new XElement(Tns + "Status", "success")); Results.AddFirst(new XComment("Always prints success at the moment")); diff --git a/VectoCore/VectoCore/Mockup/Simulation/RundataFactories/CompletedBusRunDataFactory.cs b/VectoCore/VectoCore/Mockup/Simulation/RundataFactories/CompletedBusRunDataFactory.cs index 546c647b59..e48b0d75a9 100644 --- a/VectoCore/VectoCore/Mockup/Simulation/RundataFactories/CompletedBusRunDataFactory.cs +++ b/VectoCore/VectoCore/Mockup/Simulation/RundataFactories/CompletedBusRunDataFactory.cs @@ -7,7 +7,9 @@ using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.Reader.ComponentData; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; using TUGraz.VectoCore.InputData.Reader.Impl; +using TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.CompletedBusRunDataFactory; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.SimulationComponent.Data; @@ -15,12 +17,14 @@ using TUGraz.VectoCore.OutputData; namespace TUGraz.VectoMockup.Simulation.RundataFactories { - internal class MockupMultistageCompletedBusRunDataFactory - { - DeclarationModeCompletedMultistageBusVectoRunDataFactory - { - public MockupMultistageCompletedBusRunDataFactory(IMultistepBusInputDataProvider dataProvider, - IDeclarationReport report) : base(dataProvider, report) + internal class MockupMultistageCompletedBusRunDataFactory : DeclarationModeCompletedBusRunDataFactory.CompletedBusBase + { + //DeclarationModeCompletedMultistageBusVectoRunDataFactory + + public MockupMultistageCompletedBusRunDataFactory(IMultistageVIFInputData dataProvider, + IDeclarationReport report, + ISpecificCompletedBusDeclarationDataAdapter dataAdapterSpecific, + IGenericCompletedBusDeclarationDataAdapter dataAdapterGeneric) : base(dataProvider, report, dataAdapterSpecific, dataAdapterGeneric) { } @@ -28,6 +32,7 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories #region Overrides of DeclarationModeCompletedMultistageBusVectoRunDataFactory + #endregion protected override void Initialize() { @@ -36,11 +41,11 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories //base.Initialize(); } - protected override IEnumerable<VectoRunData> VectoRunDataHeavyBusCompleted() - { + //protected override IEnumerable<VectoRunData> VectoRunDataHeavyBusCompleted() + //{ - return base.VectoRunDataHeavyBusCompleted(); - } + // return base.VectoRunDataHeavyBusCompleted(); + //} protected override VectoRunData CreateVectoRunDataSpecific(Mission mission, KeyValuePair<LoadingType, Tuple<Kilogram, double?>> loading, int modeIdx) { @@ -60,10 +65,10 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories Cycle = new DrivingCycleProxy(cycle, mission.MissionType.ToString()), Mission = mission, GearboxData = PrimaryBusMockupRunDataFactory.CreateMockupGearboxData(PrimaryVehicle), - InputData = InputDataProvider, + InputData = DataProvider.MultistageJobInputData, SimulationType = SimulationType.DistanceCycle, ExecutionMode = ExecutionMode.Declaration, - JobName = InputDataProvider.JobInputData.ManufacturingStages.Last().Vehicle.Identifier, + JobName = DataProvider.MultistageJobInputData.JobInputData.ManufacturingStages.Last().Vehicle.Identifier, Report = Report, //Aux = PrimaryBusMockupRunDataFactory.CreateMockupBusAux(CompletedVehicle), @@ -114,7 +119,7 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories }, EngineData = PrimaryBusMockupRunDataFactory.CreateMockupEngineData(PrimaryVehicle, modeIdx, CompletedVehicle.TankSystem), - JobName = InputDataProvider.JobInputData.ManufacturingStages.Last().Vehicle.Identifier, + JobName = DataProvider.MultistageJobInputData.JobInputData.ManufacturingStages.Last().Vehicle.Identifier, ExecutionMode = ExecutionMode.Declaration, SimulationType = SimulationType.DistanceCycle, Cycle = new DrivingCycleProxy(cycle, mission.MissionType.ToString()), @@ -127,4 +132,4 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories //#endregion } } -} + diff --git a/VectoCore/VectoCore/Mockup/Simulation/RundataFactories/MockupLorryVectoRunDataFactory.cs b/VectoCore/VectoCore/Mockup/Simulation/RundataFactories/MockupLorryVectoRunDataFactory.cs index 31c8d5f97e..2e5ee9ccd7 100644 --- a/VectoCore/VectoCore/Mockup/Simulation/RundataFactories/MockupLorryVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/Mockup/Simulation/RundataFactories/MockupLorryVectoRunDataFactory.cs @@ -8,6 +8,7 @@ using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.Reader.ComponentData; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; using TUGraz.VectoCore.InputData.Reader.Impl; +using TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.HeavyLorryRunDataFactory; using TUGraz.VectoCore.Models.BusAuxiliaries; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; @@ -17,17 +18,18 @@ using TUGraz.VectoCore.OutputData.XML; namespace TUGraz.VectoMockup.Simulation.RundataFactories { - public class MockupLorryVectoRunDataFactory : DeclarationModeTruckVectoRunDataFactory + public class MockupLorryVectoRunDataFactory : DeclarationModeHeavyLorryRunDataFactory.Conventional { public MockupLorryVectoRunDataFactory(IDeclarationInputDataProvider dataProvider, - IDeclarationReport report) : base(dataProvider, report, false) + IDeclarationReport report, + ILorryDeclarationDataAdapter declarationDataAdapter) : base(dataProvider, report, declarationDataAdapter) { } #region Overrides of AbstractDeclarationVectoRunDataFactory - protected override IDeclarationDataAdapter DataAdapter { get; } + //protected override IDeclarationDataAdapter DataAdapter { get; } protected override IEnumerable<VectoRunData> GetNextRun() { var nextRun = base.GetNextRun(); @@ -44,12 +46,10 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories return; } VectoRunData powertrainConfig; - List<List<FuelData.Entry>> fuels; var vehicle = InputDataProvider.JobInputData.Vehicle; if (vehicle.ExemptedVehicle) { powertrainConfig = CreateVectoRunData(vehicle, 0, null, new KeyValuePair<LoadingType, Tuple<Kilogram, double?>>()); - fuels = new List<List<FuelData.Entry>>(); } else { @@ -57,12 +57,11 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories mission => CreateVectoRunData( vehicle, 0, mission, mission.Loadings.First())) .FirstOrDefault(x => x != null); - fuels = null; } - Report.InitializeReport(powertrainConfig, fuels); + Report.InitializeReport(powertrainConfig); } - protected override VectoRunData CreateVectoRunData(IVehicleDeclarationInputData vehicle, int modeIdx, Mission mission, + protected virtual VectoRunData CreateVectoRunData(IVehicleDeclarationInputData vehicle, int modeIdx, Mission mission, KeyValuePair<LoadingType, Tuple<Kilogram, double?>> loading) { VectoRunData runData; @@ -116,11 +115,11 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories - protected override void Initialize() - { - _segment = GetSegment(InputDataProvider.JobInputData.Vehicle); + //protected override void Initialize() + //{ + // _segment = GetSegment(InputDataProvider.JobInputData.Vehicle); - } + //} #endregion diff --git a/VectoCore/VectoCore/Mockup/Simulation/RundataFactories/PrimaryBusMockupRunDataFactory.cs b/VectoCore/VectoCore/Mockup/Simulation/RundataFactories/PrimaryBusMockupRunDataFactory.cs index fdf246c571..e92d7347c7 100644 --- a/VectoCore/VectoCore/Mockup/Simulation/RundataFactories/PrimaryBusMockupRunDataFactory.cs +++ b/VectoCore/VectoCore/Mockup/Simulation/RundataFactories/PrimaryBusMockupRunDataFactory.cs @@ -10,6 +10,7 @@ using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces; using TUGraz.VectoCore.InputData.Reader.ComponentData; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; using TUGraz.VectoCore.InputData.Reader.Impl; +using TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.PrimaryBusRunDataFactory; using TUGraz.VectoCore.Models.BusAuxiliaries; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; @@ -19,11 +20,12 @@ using TUGraz.VectoCore.OutputData; namespace TUGraz.VectoMockup.Simulation.RundataFactories { - public class PrimaryBusMockupRunDataFactory : DeclarationModePrimaryBusVectoRunDataFactory + public class PrimaryBusMockupRunDataFactory : DeclarationModePrimaryBusRunDataFactory.Conventional { public PrimaryBusMockupRunDataFactory(IDeclarationInputDataProvider dataProvider, - IDeclarationReport report) : - base(dataProvider, report, false) + IDeclarationReport report, + IPrimaryBusDeclarationDataAdapter declarationDataAdapter) : + base(dataProvider, report, declarationDataAdapter) { } #region Overrides of AbstractDeclarationVectoRunDataFactory @@ -42,13 +44,11 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories } VectoRunData powertrainConfig; - List<List<FuelData.Entry>> fuels; var vehicle = InputDataProvider.JobInputData.Vehicle; if (vehicle.ExemptedVehicle) { powertrainConfig = CreateVectoRunData(vehicle, 0, null, new KeyValuePair<LoadingType, Tuple<Kilogram, double?>>()); - fuels = new List<List<FuelData.Entry>>(); } else { @@ -56,15 +56,14 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories mission => CreateVectoRunData( vehicle, 0, mission, mission.Loadings.First())) .FirstOrDefault(x => x != null); - fuels = null; } - Report.InitializeReport(powertrainConfig, fuels); + Report.InitializeReport(powertrainConfig); } #region Overrides of DeclarationModePrimaryBusVectoRunDataFactory - protected override VectoRunData CreateVectoRunData(IVehicleDeclarationInputData vehicle, int modeIdx, + protected virtual VectoRunData CreateVectoRunData(IVehicleDeclarationInputData vehicle, int modeIdx, Mission mission, KeyValuePair<LoadingType, Tuple<Kilogram, double?>> loading) { diff --git a/VectoCore/VectoCore/Mockup/Simulation/RundataFactories/VectoMockupRunDataFactoryFactory.cs b/VectoCore/VectoCore/Mockup/Simulation/RundataFactories/VectoMockupRunDataFactoryFactory.cs index 571f038ca5..3d7ce134fc 100644 --- a/VectoCore/VectoCore/Mockup/Simulation/RundataFactories/VectoMockupRunDataFactoryFactory.cs +++ b/VectoCore/VectoCore/Mockup/Simulation/RundataFactories/VectoMockupRunDataFactoryFactory.cs @@ -7,6 +7,10 @@ using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCore.InputData; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.CompletedBus.Generic; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.CompletedBus.Specific; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.PrimaryBus; using TUGraz.VectoCore.InputData.Reader.Impl; using TUGraz.VectoCore.OutputData; @@ -46,8 +50,9 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories if (multistageVifInputData.VehicleInputData == null) { return new MockupMultistageCompletedBusRunDataFactory( - multistageVifInputData.MultistageJobInputData, - report); + multistageVifInputData, + report, new DeclarationDataAdapterSpecificCompletedBus.Conventional(), + new DeclarationDeclarationDataAdapterGenericCompletedBusDeclaration.Conventional()); } else { return new DeclarationModeMultistageBusVectoRunDataFactory(multistageVifInputData, report); @@ -59,7 +64,7 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories var vehicleCategory = declDataProvider.JobInputData.Vehicle.VehicleCategory; if (vehicleCategory.IsLorry()) { - return new MockupLorryVectoRunDataFactory(declDataProvider, report); + return new MockupLorryVectoRunDataFactory(declDataProvider, report, new DeclarationDataAdapterHeavyLorry.Conventional()); } if (vehicleCategory.IsBus()) @@ -68,9 +73,9 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories { case VehicleCategory.HeavyBusCompletedVehicle: throw new NotImplementedException(); - return new DeclarationModeCompletedBusVectoRunDataFactory(declDataProvider, report); + //return new DeclarationModeMultistageBusVectoRunDataFactory(declDataProvider, report); case VehicleCategory.HeavyBusPrimaryVehicle: - return new PrimaryBusMockupRunDataFactory(declDataProvider, report); + return new PrimaryBusMockupRunDataFactory(declDataProvider, report, new DeclarationDataAdapterPrimaryBus.Conventional()); default: break; } diff --git a/VectoCore/VectoCore/Mockup/Simulation/SimulatorFactory/MockupFollowUpSimulatorFactoryCreator.cs b/VectoCore/VectoCore/Mockup/Simulation/SimulatorFactory/MockupFollowUpSimulatorFactoryCreator.cs index e391adfd71..463c531d35 100644 --- a/VectoCore/VectoCore/Mockup/Simulation/SimulatorFactory/MockupFollowUpSimulatorFactoryCreator.cs +++ b/VectoCore/VectoCore/Mockup/Simulation/SimulatorFactory/MockupFollowUpSimulatorFactoryCreator.cs @@ -4,6 +4,7 @@ using TUGraz.VectoCore.InputData.FileIO.XML; using TUGraz.VectoCore.Models.Simulation; using TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory; using TUGraz.VectoCore.OutputData; +using TUGraz.VectoCore.OutputData.XML; using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9; using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ManufacturerReportXMLTypeWriter; using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile.VehicleInformationFile_0_1; @@ -17,15 +18,15 @@ namespace TUGraz.VectoMockup.Simulation.SimulatorFactory IMultistagePrimaryAndStageInputDataProvider originalStageInputData, IOutputDataWriter originalReportWriter, IDeclarationReport originalDeclarationReport, ISimulatorFactoryFactory simFactoryFactory, - IManufacturerReportFactory mrfFactory, - ICustomerInformationFileFactory cifFactory, - IVIFReportFactory vifFactory, + //IManufacturerReportFactory mrfFactory, + //ICustomerInformationFileFactory cifFactory, + IXMLDeclarationReportFactory xmlDeclarationReportFactory, IXMLInputDataReader inputDataReader, bool validate) : base(originalStageInputData, originalReportWriter, originalDeclarationReport, simFactoryFactory, - inputDataReader, validate) + xmlDeclarationReportFactory, inputDataReader, validate) { - _currentStageDeclarationReport = - new XMLDeclarationMockupPrimaryReport(_currentStageOutputDataWriter, mrfFactory, cifFactory, vifFactory, originalStageInputData.StageInputData.ExemptedVehicle); + //_currentStageDeclarationReport = + //new XMLDeclarationMockupPrimaryReport(_currentStageOutputDataWriter, mrfFactory, cifFactory, vifFactory, originalStageInputData.StageInputData.ExemptedVehicle); } #region Overrides of InterimAfterPrimaryFactoryCreator diff --git a/VectoCore/VectoCore/Mockup/Simulation/SimulatorFactory/MockupSimulatorFactories.cs b/VectoCore/VectoCore/Mockup/Simulation/SimulatorFactory/MockupSimulatorFactories.cs index 48ff2b4d60..1abfd96088 100644 --- a/VectoCore/VectoCore/Mockup/Simulation/SimulatorFactory/MockupSimulatorFactories.cs +++ b/VectoCore/VectoCore/Mockup/Simulation/SimulatorFactory/MockupSimulatorFactories.cs @@ -77,7 +77,7 @@ namespace TUGraz.VectoMockup.Simulation.SimulatorFactory }); } - protected override IVectoRun GetNonExemptedRun(VectoRunData data, int current, VectoRunData d, ref bool warning1Hz, ref bool firstRun) + protected override IVectoRun GetNonExemptedRun(VectoRunData data, int current, ref bool warning1Hz, ref bool firstRun) { var addReportResult = PrepareReport(data); return new MockupRun(new VehicleContainer(ExecutionMode.Declaration, @@ -119,9 +119,10 @@ namespace TUGraz.VectoMockup.Simulation.SimulatorFactory ReportWriter, currentStageDeclarationReport, _simFactoryFactory, - ((IMockupDeclarationReportFactory)_xmlDeclarationReportFactory).MrfFactory, - ((IMockupDeclarationReportFactory)_xmlDeclarationReportFactory).CifFactory, - ((IMockupDeclarationReportFactory)_xmlDeclarationReportFactory).VifFactory, + //((IMockupDeclarationReportFactory)_xmlDeclarationReportFactory).MrfFactory, + //((IMockupDeclarationReportFactory)_xmlDeclarationReportFactory).CifFactory, + //((IMockupDeclarationReportFactory)_xmlDeclarationReportFactory).VifFactory, + _xmlDeclarationReportFactory, _xmlInputDataReader, Validate); case IMultistageVIFInputData multistageVifInputData: diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/PrimaryComponents/VIFBoostingLimitationsType.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/PrimaryComponents/VIFBoostingLimitationsType.cs index 7de33a3fac..918783aea4 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/PrimaryComponents/VIFBoostingLimitationsType.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/PrimaryComponents/VIFBoostingLimitationsType.cs @@ -2,6 +2,8 @@ using System.Xml.Linq; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; +using TUGraz.VectoCore.InputData.Reader.ComponentData; +using TUGraz.VectoCore.Models.SimulationComponent.Data; using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ManufacturerReportXMLTypeWriter; namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile.VehicleInformationFile_0_1.Components @@ -24,8 +26,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF foreach (DataRow row in boostingLimitations.Rows) { boostingLimitationsXElement.Add(new XElement(_v24 + XMLNames.BoostingLimitation_Entry, - new XAttribute(XMLNames.BoostingLimitation_RotationalSpeed, row[XMLNames.BoostingLimitation_RotationalSpeed]), - new XAttribute(XMLNames.BoostingLimitation_BoostingTorque, row[XMLNames.BoostingLimitation_BoostingTorque]) + new XAttribute(XMLNames.BoostingLimitation_RotationalSpeed, row[MaxBoostingTorqueReader.Fields.MotorSpeed]), + new XAttribute(XMLNames.BoostingLimitation_BoostingTorque, row[MaxBoostingTorqueReader.Fields.DrivingTorque]) )); } diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/PrimaryComponents/VIFElectricEnergyStorageType.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/PrimaryComponents/VIFElectricEnergyStorageType.cs index 70d5658a73..4bdf3cfc1f 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/PrimaryComponents/VIFElectricEnergyStorageType.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/PrimaryComponents/VIFElectricEnergyStorageType.cs @@ -7,6 +7,7 @@ using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.InputData.Reader.ComponentData; using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ManufacturerReportXMLTypeWriter; namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile.VehicleInformationFile_0_1.Components @@ -128,8 +129,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF var entries = new List<XElement>(); foreach (DataRow row in voltageCurve.Rows) { - var soc = row[XMLNames.REESS_OCV_SoC]; - var ocv = row[XMLNames.REESS_OCV_OCV].ToString().ToDouble(); + var soc = row[BatterySOCReader.Fields.StateOfCharge]; + var ocv = row[BatterySOCReader.Fields.BatteryVoltage].ToString().ToDouble(); entries.Add(new XElement(_vif + XMLNames.REESS_MapEntry, new XAttribute(XMLNames.REESS_OCV_SoC, soc), @@ -144,9 +145,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF foreach (DataRow row in batteryMaxCurrentMap.Rows) { - var soc = row[XMLNames.REESS_CurrentLimits_SoC]; - var maxChargingCurrent = row[XMLNames.REESS_CurrentLimits_MaxChargingCurrent].ToString().ToDouble(); - var maxDischargingCurrent = row[XMLNames.REESS_CurrentLimits_MaxDischargingCurrent].ToString().ToDouble(); + var soc = row[BatteryMaxCurrentReader.Fields.StateOfCharge]; + var maxChargingCurrent = row[BatteryMaxCurrentReader.Fields.MaxChargeCurrent].ToString().ToDouble(); + var maxDischargingCurrent = row[BatteryMaxCurrentReader.Fields.MaxDischargeCurrent].ToString().ToDouble(); entries.Add(new XElement(_vif + XMLNames.REESS_MapEntry, new XAttribute(XMLNames.REESS_OCV_SoC, soc), diff --git a/VectoMockup/VectoMockupTest/VectoMockupTest.csproj b/VectoMockup/VectoMockupTest/VectoMockupTest.csproj index 5a089db20b..ff86b7373f 100644 --- a/VectoMockup/VectoMockupTest/VectoMockupTest.csproj +++ b/VectoMockup/VectoMockupTest/VectoMockupTest.csproj @@ -2,7 +2,7 @@ <PropertyGroup> - <TargetFrameworks>net6.0</TargetFrameworks> + <TargetFrameworks>net6.0-windows</TargetFrameworks> <Nullable>enable</Nullable> <IsPackable>false</IsPackable> -- GitLab