diff --git a/VectoCore/VectoCore/Mockup/MockupModalDataContainer.cs b/VectoCore/VectoCore/Mockup/MockupModalDataContainer.cs index fd77022c4054a97aa94f3f084c02529f30809347..4c0760dfd8d2c314f88103e450d76a01956fcb12 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 a627fca60f03d15b3e30078e41fc9bd615a0fd9c..a4c72883122bba3d20084b0014691cb6c9da1d0f 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 f5d43b36739186c405bb1df3108dae11455f7ec4..9d68af06df57da4706341b7b301e83839bd52e67 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 9b12db161fa94d4adecc01ec2e4bbc56c79ae162..35ef05e800942f96f57a91a18388d8d5e1b47d37 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 5bd1b7db6f8263c6d09fdcd54cdcf4cd2fb8d383..6a9efa0917f2265854373b5e44f0ff515f0b734d 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 2a2a4e27e3b07c60ed7f3ff2da4cda369ede7c29..ce773080a2ac0203584b3a08cf2dbd2ebda60d06 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 1c5140fafd3597892895a58485c6cb2b39b80f67..e00244edd09ca376e5038b52cecddddfe522902c 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 546c647b59f5d4e0ba1626c3339f6994d959762b..e48b0d75a9e90e10fbc47839ea4b39cabee206dd 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 31c8d5f97e5ade96d7e57e463604811be32cb278..2e5ee9ccd7429a7da2c9a7d5e2899f47aeecd3e7 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 fdf246c5717362478849619c0b6046b321fb9257..e92d7347c742b08c03ac34792131b75ea3618279 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 571f038ca5101d9842df4735df59858ec5b79ae1..3d7ce134fc93f61dda12a87d228c05948e0f9b9d 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 e391adfd712cf147a8bc4496d6f8e08eb9842637..463c531d35cecd14f8b3020d6108ae6ed9147019 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 48ff2b4d60b2d4fcb4fc36efcb4acdf2545bbc75..1abfd96088b793ee20962cb18d65d4c58791ef67 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 7de33a3fac3f196c114fdcd0f9516a95d7d31df4..918783aea4fc0d43a8f6a61e7184a6b9927a4c55 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 70d5658a7355777e8957d4aebb9fff987b547b35..4bdf3cfc1f1df343f5be67a540c77d491f291653 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 5a089db20b7e61c84936b8360fb61da7e877240c..ff86b7373fbc797c499b39a78a68a40402a536cf 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>