From 000ee8f59e09f0fed3c02eb4c33a971e83707510 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <quaritsch@ivt.tugraz.at> Date: Mon, 13 Mar 2023 15:44:56 +0100 Subject: [PATCH] refactor mockup result writing: use the same mechanism for writing results as in the official reports, no need to replace the results element. remove no longer needed mockup-specific code --- .../VectoCore/Mockup/MockupResultReader.cs | 39 +++---- .../Mockup/Ninject/CIFMockupModule.cs | 2 +- .../Mockup/Ninject/MRFMockupModule.cs | 2 +- .../Mockup/Reports/IXMLMockupReport.cs | 12 --- .../Mockup/Reports/MockupCustomerReport.cs | 43 +------- .../Reports/MockupManufacturerReport.cs | 42 +------- .../Reports/MockupReportResultsFactory.cs | 78 ++++++++++++-- .../Mockup/Reports/MockupVIFReport.cs | 101 ------------------ .../Reports/MockupVehicleInformationFile.cs | 47 +------- .../XMLDeclarationMockupPrimaryReport.cs | 12 +-- .../Reports/XMLDeclarationMockupReport.cs | 18 +--- ...DeclarationMockupReportCompletedVehicle.cs | 19 +--- .../CompletedBusRunDataFactory.cs | 7 +- .../MockupLorryVectoRunDataFactory.cs | 2 +- 14 files changed, 113 insertions(+), 311 deletions(-) delete mode 100644 VectoCore/VectoCore/Mockup/Reports/IXMLMockupReport.cs delete mode 100644 VectoCore/VectoCore/Mockup/Reports/MockupVIFReport.cs diff --git a/VectoCore/VectoCore/Mockup/MockupResultReader.cs b/VectoCore/VectoCore/Mockup/MockupResultReader.cs index acdf5cb9d5..5454ef27b0 100644 --- a/VectoCore/VectoCore/Mockup/MockupResultReader.cs +++ b/VectoCore/VectoCore/Mockup/MockupResultReader.cs @@ -24,7 +24,7 @@ namespace TUGraz.VectoMockup internal static class MockupResultReader { - private enum ResultType + public enum ResultType { CIF, MRF, @@ -78,14 +78,14 @@ namespace TUGraz.VectoMockup }; - public static string GetResourceName(string xmlName, IResultEntry result, ResultType type, VectoRunData runData) + public static string GetResourceName(ResultType type, VectoRunData runData) { var resNames = Assembly.GetAssembly(typeof(MockupResultReader)).GetManifestResourceNames(); //if (result.Status == VectoRun.Status.Success) { - var arch = GetArch(xmlName, runData); + var arch = GetArch(runData); var reportType = GetReportType(type); - var vehicleType = result.VehicleClass.IsBus() ? "Bus" : "Lorry"; + var vehicleType = runData.VehicleData.VehicleClass.IsBus() ? "Bus" : "Lorry"; return $"{mockupResourcePrefix}.{reportType}_MockupResults_{arch}_{vehicleType}.xml"; //} @@ -106,7 +106,7 @@ namespace TUGraz.VectoMockup } } - private static string GetArch(string xmlName, VectoRunData runData) + private static string GetArch(VectoRunData runData) { bool ovc = false; var jobType = VectoSimulationJobType.ConventionalVehicle; @@ -131,30 +131,27 @@ namespace TUGraz.VectoMockup return "PEV"; } - throw new VectoException($"{xmlName} not mapped to Architecture (Conv/HEV/PEV)"); + throw new VectoException($"{runData.JobType} not mapped to Architecture (Conv/HEV/PEV)"); } - } - - public static XElement GetMRFMockupResult(string xmlName, IResultEntry result, XName resultElementName, VectoRunData runData) + + public static XElement GetMRFMockupResult(IResultEntry result, XName resultElementName, VectoRunData runData) { - var resultElement = GetResultElement(resultElementName, MockupResultHelper.GetResourceName(xmlName, result, ResultType.MRF, runData)); + var resultElement = GetResultElement(resultElementName, MockupResultHelper.GetResourceName(ResultType.MRF, runData)); ReplaceMission(result, resultElement); ReplaceGroup(result, resultElement); ReplacePayload(result, resultElement); ReplaceFuelMode(result, resultElement); SetFuels(result, resultElement); ClearGearboxAndAxleGearEntries(result, resultElement, runData); - + return resultElement; } - - - public static XElement GetCIFMockupResult(string xmlName, IResultEntry result, XName resultElementName, VectoRunData runData) + public static XElement GetCIFMockupResult(IResultEntry result, XName resultElementName, VectoRunData runData) { - var resultElement = GetResultElement(resultElementName, MockupResultHelper.GetResourceName(xmlName, result, ResultType.CIF, runData)); + var resultElement = GetResultElement(resultElementName, MockupResultHelper.GetResourceName(ResultType.CIF, runData)); resultElement.DescendantNodes().OfType<XComment>().Remove(); ReplaceMission(result, resultElement); SetFuels(result, resultElement); @@ -162,21 +159,19 @@ namespace TUGraz.VectoMockup return resultElement; } - public static XElement GetVIFMockupResult(string xmlName, IResultEntry result, XName resultElementName, VectoRunData runData) + public static XElement GetVIFMockupResult(IResultEntry result, XName resultElementName, VectoRunData runData) { - var resultElement = GetResultElement(resultElementName, MockupResultHelper.GetResourceName(xmlName, result, ResultType.VIF, runData)); + var resultElement = GetResultElement(resultElementName, MockupResultHelper.GetResourceName(ResultType.VIF, runData)); resultElement.DescendantNodes().OfType<XComment>().Remove(); ReplaceMission(result, resultElement); ReplaceGroup(result, resultElement); ReplacePayload(result, resultElement); - ReplaceFuelMode(result,resultElement); - SetFuels(result, resultElement); + ReplaceFuelMode(result, resultElement); + SetFuels(result, resultElement); - return resultElement; + return resultElement; } - - private static void ReplacePayload(IResultEntry result, XElement resultElement) { if (result.Payload == null) { diff --git a/VectoCore/VectoCore/Mockup/Ninject/CIFMockupModule.cs b/VectoCore/VectoCore/Mockup/Ninject/CIFMockupModule.cs index 3e1076da0e..390a29b80e 100644 --- a/VectoCore/VectoCore/Mockup/Ninject/CIFMockupModule.cs +++ b/VectoCore/VectoCore/Mockup/Ninject/CIFMockupModule.cs @@ -40,7 +40,7 @@ namespace TUGraz.VectoMockup.Ninject public IXMLCustomerReport GetCustomerReport(VehicleCategory vehicleType, VectoSimulationJobType jobType, ArchitectureID archId, bool exempted, bool iepc, bool ihpc) { - return new MockupCustomerReport(_cifFactory.GetCustomerReport(vehicleType, jobType, archId, exempted, iepc, ihpc), exempted); + return new MockupCustomerReport(_cifFactory.GetCustomerReport(vehicleType, jobType, archId, exempted, iepc, ihpc)); } public IXmlTypeWriter GetConventionalLorryVehicleType() diff --git a/VectoCore/VectoCore/Mockup/Ninject/MRFMockupModule.cs b/VectoCore/VectoCore/Mockup/Ninject/MRFMockupModule.cs index 6b51536cf1..3dfe66f0e2 100644 --- a/VectoCore/VectoCore/Mockup/Ninject/MRFMockupModule.cs +++ b/VectoCore/VectoCore/Mockup/Ninject/MRFMockupModule.cs @@ -44,7 +44,7 @@ namespace TUGraz.VectoMockup.Ninject public IXMLManufacturerReport GetManufacturerReport(VehicleCategory vehicleType, VectoSimulationJobType jobType, ArchitectureID archId, bool exempted, bool iepc, bool ihpc) { - return new MockupManufacturerReport(_manufacturerReportFactoryImplementation.GetManufacturerReport(vehicleType, jobType, archId, exempted, iepc, ihpc), exempted); + return new MockupManufacturerReport(_manufacturerReportFactoryImplementation.GetManufacturerReport(vehicleType, jobType, archId, exempted, iepc, ihpc)); } public IXmlTypeWriter GetConventionalLorryVehicleType() diff --git a/VectoCore/VectoCore/Mockup/Reports/IXMLMockupReport.cs b/VectoCore/VectoCore/Mockup/Reports/IXMLMockupReport.cs deleted file mode 100644 index 9d68af06df..0000000000 --- a/VectoCore/VectoCore/Mockup/Reports/IXMLMockupReport.cs +++ /dev/null @@ -1,12 +0,0 @@ -using TUGraz.VectoCore.OutputData; -using TUGraz.VectoCore.OutputData.XML; - -namespace TUGraz.VectoMockup.Reports -{ - internal interface IXMLMockupReport - { - 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 35ef05e800..667a033dce 100644 --- a/VectoCore/VectoCore/Mockup/Reports/MockupCustomerReport.cs +++ b/VectoCore/VectoCore/Mockup/Reports/MockupCustomerReport.cs @@ -11,28 +11,19 @@ using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.Manu namespace TUGraz.VectoMockup.Reports { - public class MockupCustomerReport : IXMLCustomerReport, IXMLMockupReport + public class MockupCustomerReport : IXMLCustomerReport { - private readonly bool _exempted; private readonly AbstractCustomerReport _originalCustomerReport; - private XNamespace Cif = AbstractCustomerReport.Cif_0_9; - public MockupCustomerReport(IXMLCustomerReport originalReport, bool exempted) + + public MockupCustomerReport(IXMLCustomerReport originalReport) { - _exempted = exempted; _originalCustomerReport = originalReport as AbstractCustomerReport; - _outputDataType = _originalCustomerReport.OutputDataType; - Results = new XElement(Cif + XMLNames.Report_Results); } - private XElement Results; - private readonly string _outputDataType; - private VectoRunData _modelData; - #region Implementation of IXMLCustomerReport public void Initialize(VectoRunData modelData) { - _modelData = modelData; _originalCustomerReport.Initialize(modelData); } @@ -41,12 +32,8 @@ namespace TUGraz.VectoMockup.Reports get { var report = _originalCustomerReport.Report; - report.XPathSelectElements($"//*[local-name()='{XMLNames.Report_Results}']").Single().ReplaceWith(Results); - return report; - - - } + } } public void WriteResult(IResultEntry resultValue) @@ -61,28 +48,6 @@ namespace TUGraz.VectoMockup.Reports #endregion - #region Implementation of IXMLMockupReport - - public void WriteMockupResult(IResultEntry resultValue) - { - Results.Add(MockupResultReader.GetCIFMockupResult(_outputDataType, resultValue, Cif + "Result", _modelData)); - } - - public void WriteMockupSummary(IResultEntry resultValue) - { - Results.AddFirst(new XElement(Cif + "Status", "success")); - Results.AddFirst(new XComment("Always prints success at the moment")); - if (!_modelData.VehicleData.InputData.VocationalVehicle) { - Results.Add(MockupResultReader.GetCIFMockupResult(_outputDataType, resultValue, Cif + "Summary", _modelData)); - } - } - - public void WriteExemptedResults() - { - Results.Add(new XElement(Cif + "Status", "success")); - Results.Add(new XElement(Cif + "ExemptedVehicle")); - } - #endregion } } \ No newline at end of file diff --git a/VectoCore/VectoCore/Mockup/Reports/MockupManufacturerReport.cs b/VectoCore/VectoCore/Mockup/Reports/MockupManufacturerReport.cs index 6a9efa0917..e90024ca68 100644 --- a/VectoCore/VectoCore/Mockup/Reports/MockupManufacturerReport.cs +++ b/VectoCore/VectoCore/Mockup/Reports/MockupManufacturerReport.cs @@ -12,56 +12,22 @@ using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.Manu namespace TUGraz.VectoMockup.Reports { - public class MockupManufacturerReport : IXMLManufacturerReport, IXMLMockupReport + public class MockupManufacturerReport : IXMLManufacturerReport { - private readonly bool _exempted; private AbstractManufacturerReport _ixmlManufacturerReportImplementation; - private VectoRunData _modelData; - private XNamespace Mrf = AbstractManufacturerReport.Mrf_0_9; - private readonly string _outputData; - private XElement Results { get; set; } - public MockupManufacturerReport(IXMLManufacturerReport originalManufacturerReport, bool exempted) + + public MockupManufacturerReport(IXMLManufacturerReport originalManufacturerReport) { - _exempted = exempted; _ixmlManufacturerReportImplementation = originalManufacturerReport as AbstractManufacturerReport; - _outputData = _ixmlManufacturerReportImplementation.OutputDataType; - - Results = new XElement(Mrf + XMLNames.Report_Results); - } - - public void WriteMockupResult(IResultEntry resultValue) - { - - Results.Add(MockupResultReader.GetMRFMockupResult(_outputData, resultValue, Mrf + "Result", _modelData)); - - } - - public void WriteMockupSummary(IResultEntry resultValue) - { - Results.AddFirst(new XElement(Mrf + "Status", "success")); - Results.AddFirst(new XComment("Always prints success at the moment")); - //Results.Add(MockupResultReader.GetMRFMockupResult(OutputDataType, resultValue, Mrf + "Summary", _ovc)); - } - - public void WriteExemptedResults() - { - Results.Add(new XElement(Mrf + "Status", "success")); - Results.Add(new XElement(Mrf + "ExemptedVehicle")); } #region Implementation of IXMLManufacturerReport - //public void InitializeVehicleData(IDeclarationInputDataProvider inputData) - //{ - // _ixmlManufacturerReportImplementation.InitializeVehicleData(inputData); - //} - public void Initialize(VectoRunData modelData) { - _modelData = modelData; _ixmlManufacturerReportImplementation.Initialize(modelData); } @@ -70,8 +36,6 @@ namespace TUGraz.VectoMockup.Reports get { var report = _ixmlManufacturerReportImplementation.Report; - report.XPathSelectElements($"//*[local-name()='{XMLNames.Report_Results}']").Single().ReplaceWith(Results); - return report; } } diff --git a/VectoCore/VectoCore/Mockup/Reports/MockupReportResultsFactory.cs b/VectoCore/VectoCore/Mockup/Reports/MockupReportResultsFactory.cs index 0f1786e232..027cf37b75 100644 --- a/VectoCore/VectoCore/Mockup/Reports/MockupReportResultsFactory.cs +++ b/VectoCore/VectoCore/Mockup/Reports/MockupReportResultsFactory.cs @@ -1,7 +1,10 @@ using System.Collections.Generic; +using System.Linq; using System.Xml; using System.Xml.Linq; using TUGraz.VectoCommon.InputData; +using TUGraz.VectoCommon.Resources; +using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.OutputData; using TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common; @@ -9,21 +12,55 @@ namespace TUGraz.VectoMockup.Reports { class MockupReportResultsFactory : IResultsWriterFactory { + protected XNamespace CIF = XNamespace.Get("urn:tugraz:ivt:VectoAPI:CustomerOutput:v0.9"); + protected XNamespace MRF = XNamespace.Get("urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.9"); + protected XNamespace VIF = XNamespace.Get("urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1"); + #region Implementation of IResultsWriterFactory public IResultsWriter GetCIFResultsWriter(string vehicleCategory, VectoSimulationJobType jobType, bool ovc, bool exempted) { - return new MockupDummyResultsWriter(XNamespace.Get("urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.9")); + if (exempted) + return new MockupExemptedResultsWriter(CIF, MockupResultReader.ResultType.CIF); + return new MockupDummyResultsWriter(CIF, MockupResultReader.ResultType.CIF); } public IResultsWriter GetMRFResultsWriter(string vehicleCategory, VectoSimulationJobType jobType, bool ovc, bool exempted) { - return new MockupDummyResultsWriter(XNamespace.Get("urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.9")); + if (exempted) + return new MockupExemptedResultsWriter(MRF, MockupResultReader.ResultType.CIF); + return new MockupDummyResultsWriter(MRF, MockupResultReader.ResultType.MRF); } public IResultsWriter GetVIFResultsWriter(string vehicleCategory, VectoSimulationJobType jobType, bool ovc, bool exempted) { - return new MockupDummyResultsWriter(XNamespace.Get("urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1")); + if (exempted) + return new MockupExemptedResultsWriter(VIF, MockupResultReader.ResultType.CIF); + return new MockupDummyResultsWriter(VIF, MockupResultReader.ResultType.VIF); + } + + #endregion + } + + internal class MockupExemptedResultsWriter : IResultsWriter + { + private readonly XNamespace TNS; + public MockupResultReader.ResultType ResultType; + + public MockupExemptedResultsWriter(XNamespace ns, MockupResultReader.ResultType resultType) + { + TNS = ns; + ResultType = resultType; + } + + #region Implementation of IResultsWriter + + public XElement GenerateResults(List<IResultEntry> results) + { + var retVal = new XElement(TNS + XMLNames.Report_Results); + retVal.Add(new XElement(TNS + "Status", "success")); + retVal.Add(new XElement(TNS + "ExemptedVehicle")); + return retVal; } #endregion @@ -33,17 +70,46 @@ namespace TUGraz.VectoMockup.Reports { private readonly XNamespace TNS; - public MockupDummyResultsWriter(XNamespace ns) + public MockupDummyResultsWriter(XNamespace ns, MockupResultReader.ResultType resultType) { TNS = ns; + ResultType = resultType; } + public MockupResultReader.ResultType ResultType; + #region Implementation of IResultsWriter public XElement GenerateResults(List<IResultEntry> results) { - // only return a single 'Results' element - will be replaced in Mockup Report - return new XElement(TNS + "Results"); + var retVal = new XElement(TNS + XMLNames.Report_Results); + retVal.AddFirst(new XElement(TNS + "Status", "success")); + retVal.AddFirst(new XComment("Always prints success at the moment")); + + foreach (var result in results) { + switch (ResultType) { + case MockupResultReader.ResultType.CIF: + retVal.Add(MockupResultReader.GetCIFMockupResult(result, "Result", result.VectoRunData)); + break; + case MockupResultReader.ResultType.MRF: + retVal.Add(MockupResultReader.GetMRFMockupResult(result, "Result", result.VectoRunData)); + break; + case MockupResultReader.ResultType.VIF: + retVal.Add(MockupResultReader.GetVIFMockupResult(result, "Result", result.VectoRunData)); + break; + } + + } + + if (ResultType == MockupResultReader.ResultType.CIF) { + var result = results.First(); + if (!result.VectoRunData.VehicleData.VocationalVehicle) { + retVal.Add(MockupResultReader.GetCIFMockupResult(result, TNS + "Summary", + result.VectoRunData)); + } + } + + return retVal; } #endregion diff --git a/VectoCore/VectoCore/Mockup/Reports/MockupVIFReport.cs b/VectoCore/VectoCore/Mockup/Reports/MockupVIFReport.cs deleted file mode 100644 index ce773080a2..0000000000 --- a/VectoCore/VectoCore/Mockup/Reports/MockupVIFReport.cs +++ /dev/null @@ -1,101 +0,0 @@ -using System; -using System.Linq; -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; - -namespace TUGraz.VectoMockup.Reports -{ - public class MockupVehicleInformationFile : IXMLVehicleInformationFile, IXMLMockupReport - { - private XDocument _report; - private XNamespace _tns; - - - public MockupVehicleInformationFile(IXMLVehicleInformationFile vehicleInformationFile) - { - - } - - - - //private XDocument _report; - //private VectoRunData _modelData; - - - //#region Implementation of IXMLMockupReport - - //public void WriteMockupResult(XMLDeclarationReport.ResultEntry resultValue) - //{ - // throw new NotImplementedException(); - //} - - //public void WriteMockupSummary(XMLDeclarationReport.ResultEntry resultValue) - //{ - // throw new NotImplementedException(); - //} - - //#endregion - - //#region Implementation of IXMLMultistageReport - - //public void Initialize(VectoRunData modelData) - //{ - // _modelData = modelData; - //} - - //public XDocument Report => _report; - - //public void GenerateReport() - //{ - // throw new NotImplementedException(); - //} - - //#endregion - - #region Implementation of IXMLPrimaryVehicleReport - - public void Initialize(VectoRunData modelData) - { - throw new NotImplementedException(); - } - - public void WriteResult(XMLDeclarationReport.ResultEntry result) - { - throw new NotImplementedException(); - } - - public void GenerateReport(XElement fullReportHash) - { - throw new NotImplementedException(); - } - - public XDocument Report => _report; - - public XNamespace Tns => _tns; - - #endregion - - #region Implementation of IXMLMockupReport - - public void WriteMockupResult(IResultEntry resultValue) - { - - } - - public void WriteMockupSummary(IResultEntry resultValue) - { - } - - public void WriteExemptedResults() - { - throw new NotImplementedException(); - } - - #endregion - } -} diff --git a/VectoCore/VectoCore/Mockup/Reports/MockupVehicleInformationFile.cs b/VectoCore/VectoCore/Mockup/Reports/MockupVehicleInformationFile.cs index e00244edd0..1b1403beee 100644 --- a/VectoCore/VectoCore/Mockup/Reports/MockupVehicleInformationFile.cs +++ b/VectoCore/VectoCore/Mockup/Reports/MockupVehicleInformationFile.cs @@ -14,7 +14,7 @@ using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile; namespace TUGraz.VectoMockup.Reports { - internal class MockupInterimVehicleInformationFile : IXMLMultistepIntermediateReport, IXMLMockupReport + internal class MockupInterimVehicleInformationFile : IXMLMultistepIntermediateReport { private readonly IXMLMultistepIntermediateReport _intermediateVifImplementation; @@ -39,38 +39,18 @@ namespace TUGraz.VectoMockup.Reports #endregion - #region Implementation of IXMLMockupReport - - public void WriteMockupResult(IResultEntry resultValue) - { - - } - - public void WriteMockupSummary(IResultEntry resultValue) - { - - } - - public void WriteExemptedResults() - { - - } - - #endregion } - internal class MockupPrimaryVehicleInformationFile : IXMLVehicleInformationFile, IXMLMockupReport + internal class MockupPrimaryVehicleInformationFile : IXMLVehicleInformationFile { private readonly IXMLVehicleInformationFile _vehicleInformationFileImplementation; private VectoRunData _modelData; - private XElement Results; public MockupPrimaryVehicleInformationFile(IXMLVehicleInformationFile vehicleInformationFileImplementation) { _vehicleInformationFileImplementation = vehicleInformationFileImplementation; - Results = new XElement(_vehicleInformationFileImplementation.Tns + XMLNames.Report_Results); } @@ -82,7 +62,7 @@ namespace TUGraz.VectoMockup.Reports _modelData = modelData; } - public void WriteResult(XMLDeclarationReport.ResultEntry result) + public void WriteResult(IResultEntry result) { _vehicleInformationFileImplementation.WriteResult(result); } @@ -93,25 +73,6 @@ namespace TUGraz.VectoMockup.Reports #region Implementation of IXMLMockupReport - public void WriteMockupResult(IResultEntry resultValue) - { - var xElement = MockupResultReader.GetVIFMockupResult(Tns.NamespaceName, resultValue, Tns + "Result", _modelData); - Results.Add(xElement); - } - - public void WriteMockupSummary(IResultEntry resultValue) - { - Results.AddFirst(new XElement(Tns + "Status", "success")); - Results.AddFirst(new XComment("Always prints success at the moment")); - } - - public void WriteExemptedResults() - { - Results.Add(new XElement(Tns + "Status", "success")); - Results.Add(new XElement(Tns + "ExemptedVehicle")); - } - - public void GenerateReport(XElement fullReportHash) { _vehicleInformationFileImplementation.GenerateReport(fullReportHash); @@ -122,8 +83,6 @@ namespace TUGraz.VectoMockup.Reports get { var report = _vehicleInformationFileImplementation.Report; - var resultsElement = report.XPathSelectElements($"//*[local-name()='{XMLNames.Report_Results}']"); - resultsElement.First().ReplaceWith(Results); return report; } } diff --git a/VectoCore/VectoCore/Mockup/Reports/XMLDeclarationMockupPrimaryReport.cs b/VectoCore/VectoCore/Mockup/Reports/XMLDeclarationMockupPrimaryReport.cs index 774218a674..a950328396 100644 --- a/VectoCore/VectoCore/Mockup/Reports/XMLDeclarationMockupPrimaryReport.cs +++ b/VectoCore/VectoCore/Mockup/Reports/XMLDeclarationMockupPrimaryReport.cs @@ -39,8 +39,8 @@ namespace TUGraz.VectoMockup.Reports protected override void WriteResult(ResultEntry result) { - (ManufacturerRpt as IXMLMockupReport).WriteMockupResult(result); - (VehicleInformationFile as IXMLMockupReport).WriteMockupResult(result); + ManufacturerRpt.WriteResult(result); + VehicleInformationFile.WriteResult(result); } #endregion @@ -48,14 +48,6 @@ namespace TUGraz.VectoMockup.Reports protected override void GenerateReports() { - if (!_exempted) { - (ManufacturerRpt as IXMLMockupReport).WriteMockupSummary(Results.First()); - (VehicleInformationFile as IXMLMockupReport).WriteMockupSummary(Results.First()); - } else { - (ManufacturerRpt as IXMLMockupReport).WriteExemptedResults(); - (VehicleInformationFile as IXMLMockupReport).WriteExemptedResults(); - } - ManufacturerRpt.GenerateReport(); var fullReportHash = GetSignature(ManufacturerRpt.Report); VehicleInformationFile.GenerateReport(fullReportHash); diff --git a/VectoCore/VectoCore/Mockup/Reports/XMLDeclarationMockupReport.cs b/VectoCore/VectoCore/Mockup/Reports/XMLDeclarationMockupReport.cs index 6b73c358e4..4b8b05c612 100644 --- a/VectoCore/VectoCore/Mockup/Reports/XMLDeclarationMockupReport.cs +++ b/VectoCore/VectoCore/Mockup/Reports/XMLDeclarationMockupReport.cs @@ -35,24 +35,10 @@ namespace TUGraz.VectoMockup.Reports protected override void WriteResult(ResultEntry result) { - (ManufacturerRpt as IXMLMockupReport).WriteMockupResult(result); - (CustomerRpt as IXMLMockupReport).WriteMockupResult(result); + ManufacturerRpt.WriteResult(result); + CustomerRpt.WriteResult(result); } - protected override void GenerateReports() - { - if (!_exempted) { - (ManufacturerRpt as IXMLMockupReport).WriteMockupSummary(Results.First()); - (CustomerRpt as IXMLMockupReport).WriteMockupSummary(Results.First()); - } else { - (ManufacturerRpt as IXMLMockupReport).WriteExemptedResults(); - (CustomerRpt as IXMLMockupReport).WriteExemptedResults(); - } - - - - base.GenerateReports(); - } #endregion } diff --git a/VectoCore/VectoCore/Mockup/Reports/XMLDeclarationMockupReportCompletedVehicle.cs b/VectoCore/VectoCore/Mockup/Reports/XMLDeclarationMockupReportCompletedVehicle.cs index bd25165ae8..a4a250ff06 100644 --- a/VectoCore/VectoCore/Mockup/Reports/XMLDeclarationMockupReportCompletedVehicle.cs +++ b/VectoCore/VectoCore/Mockup/Reports/XMLDeclarationMockupReportCompletedVehicle.cs @@ -118,23 +118,8 @@ namespace TUGraz.VectoMockup.Reports result.FuelData = primaryResult.EnergyConsumption.Keys .Select(x => DeclarationData.FuelData.Lookup(x, tankSystem)).Cast<IFuelProperties>().ToList(); } - (ManufacturerRpt as IXMLMockupReport).WriteMockupResult(result); - (CustomerRpt as IXMLMockupReport).WriteMockupResult(result); - } - - protected override void GenerateReports() - { - if (!_exempted) { - (ManufacturerRpt as IXMLMockupReport).WriteMockupSummary(Results.First()); - (CustomerRpt as IXMLMockupReport).WriteMockupSummary(Results.First()); - } else { - (ManufacturerRpt as IXMLMockupReport).WriteExemptedResults(); - (CustomerRpt as IXMLMockupReport).WriteExemptedResults(); - } - - - - base.GenerateReports(); + ManufacturerRpt.WriteResult(result); + CustomerRpt.WriteResult(result); } } diff --git a/VectoCore/VectoCore/Mockup/Simulation/RundataFactories/CompletedBusRunDataFactory.cs b/VectoCore/VectoCore/Mockup/Simulation/RundataFactories/CompletedBusRunDataFactory.cs index c45182cb41..0d164a1574 100644 --- a/VectoCore/VectoCore/Mockup/Simulation/RundataFactories/CompletedBusRunDataFactory.cs +++ b/VectoCore/VectoCore/Mockup/Simulation/RundataFactories/CompletedBusRunDataFactory.cs @@ -131,7 +131,7 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories ExecutionMode = ExecutionMode.Declaration, JobName = DataProvider.MultistageJobInputData.JobInputData.ManufacturingStages.Last().Vehicle.Identifier, Report = Report, - //Aux = PrimaryBusMockupRunDataFactory.CreateMockupBusAux(CompletedVehicle), + //Aux = PrimaryBusMockupRunDataFactory.CreateMockupBusAux(CompletedVehicle), // //AirdragData = DataAdapterSpecific.CreateAirdragData(CompletedVehicle, mission), // //EngineData = DataAdapterSpecific.CreateEngineData(PrimaryVehicle, modeIdx, mission), @@ -224,7 +224,7 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories VehicleData = new VehicleData() { Loading = loading.Value.Item1, - + VehicleClass = primarySegment.VehicleClass, }, EngineData = PrimaryBusMockupRunDataFactory.CreateMockupEngineData(PrimaryVehicle, modeIdx, CompletedVehicle.TankSystem), JobName = DataProvider.MultistageJobInputData.JobInputData.ManufacturingStages.Last().Vehicle.Identifier, @@ -233,6 +233,9 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories Cycle = new DrivingCycleProxy(cycle, mission.MissionType.ToString()), Report = Report, ModFileSuffix = $"_{_segmentCompletedBus.VehicleClass.GetClassNumber()}-Generic_{loading.Key}", + InputData = DataProvider.MultistageJobInputData, + GearboxData = PrimaryBusMockupRunDataFactory.CreateMockupGearboxData(PrimaryVehicle), + AxleGearData = PrimaryBusMockupRunDataFactory.CreateMockupAxleGearData(PrimaryVehicle) }; return base.CreateVectoRunDataGeneric(mission, loading, primarySegment, modeIdx); } diff --git a/VectoCore/VectoCore/Mockup/Simulation/RundataFactories/MockupLorryVectoRunDataFactory.cs b/VectoCore/VectoCore/Mockup/Simulation/RundataFactories/MockupLorryVectoRunDataFactory.cs index 7ed4d67fad..c3c5c4fc26 100644 --- a/VectoCore/VectoCore/Mockup/Simulation/RundataFactories/MockupLorryVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/Mockup/Simulation/RundataFactories/MockupLorryVectoRunDataFactory.cs @@ -246,7 +246,7 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories SleeperCab = vehicleData.SleeperCab, VehicleClass = _segment.VehicleClass, OffVehicleCharging = vehicleData.OvcHev, - + VocationalVehicle = vehicleData.VocationalVehicle, }; } } -- GitLab