diff --git a/VectoCore/VectoCore/Mockup/MockupResultReader.cs b/VectoCore/VectoCore/Mockup/MockupResultReader.cs index acdf5cb9d53d94bf4b62bab206e348297713eb00..5454ef27b0f461ca2097ad3ec9856b3a6e36ff16 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 3e1076da0e757208389513c788ac317f2f3d66c7..390a29b80e63d86bbd0ea95de7624ada573f68f8 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 6b51536cf11d869d421e0a2113249bbfac07b1ca..3dfe66f0e2cfea7ef79803f033bbebf473274976 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 9d68af06df57da4706341b7b301e83839bd52e67..0000000000000000000000000000000000000000 --- 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 35ef05e800942f96f57a91a18388d8d5e1b47d37..667a033dce64695523a8cfea1c6995ef55c92ca1 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 6a9efa0917f2265854373b5e44f0ff515f0b734d..e90024ca680285a51ec6f0fe2aab7a4c07b787d7 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 0f1786e2324984aed93f7856a55bd539f6aed6c0..027cf37b75c9cde99dd84f3c7d3437d4c0a13630 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 ce773080a2ac0203584b3a08cf2dbd2ebda60d06..0000000000000000000000000000000000000000 --- 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 e00244edd09ca376e5038b52cecddddfe522902c..1b1403beee23c36e84863772c63e66afbc216981 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 774218a674bf7fd6e349d2a0e193ccb7afe56642..a9503283965e0b54ac5567a3fd19e412f04ebba8 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 6b73c358e49cbe6bdb626493d4330be13ce80e7d..4b8b05c61286b9a376ff92d3face11b257ee116c 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 bd25165ae8cf62bf044bde24ba00a7b94d85f9fa..a4a250ff069a442d4788740a9787591a13c9c1ea 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 c45182cb415563256e0eb2e723dca7d08b955196..0d164a15743a58126524ea0bf579753daaf6fe2a 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 7ed4d67fadebe45d8e5eb2bb92bc529f1ea68e4c..c3c5c4fc265890504181db359d9b6f7e28387ed6 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, }; } } diff --git a/VectoCore/VectoCore/OutputData/DeclarationReport.cs b/VectoCore/VectoCore/OutputData/DeclarationReport.cs index 0cc738025db9bdd343a169940f18e1f5e43a6f9a..e522154058dcb579e56ab5ca18ef1bbe856e58a6 100644 --- a/VectoCore/VectoCore/OutputData/DeclarationReport.cs +++ b/VectoCore/VectoCore/OutputData/DeclarationReport.cs @@ -74,6 +74,8 @@ namespace TUGraz.VectoCore.OutputData { void Initialize(VectoRunData vectoRunData); + VectoRunData VectoRunData { get; } + VectoRun.Status Status { get; } VectoRunData.OvcHevMode OVCMode { get; } diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/IXMLVehicleInformationFile.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/IXMLVehicleInformationFile.cs index 8d330dd58b5c1bcfd268dee69f0986b031550349..b54d3b7e0d1f311ce6330b6ec0ffad716aae4bc4 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/IXMLVehicleInformationFile.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/IXMLVehicleInformationFile.cs @@ -6,7 +6,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF public interface IXMLVehicleInformationFile { void Initialize(VectoRunData modelData); - void WriteResult(XMLDeclarationReport.ResultEntry result); + void WriteResult(IResultEntry result); void GenerateReport(XElement fullReportHash); XDocument Report { get; } XNamespace Tns { get; } diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/AbstractVehicleInformationFile.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/AbstractVehicleInformationFile.cs index 19d94946d628fcfd47e9c1b6e9ab75d94ad71702..f8971b6e5abad9c34b913014beb0db67c74d54ca 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/AbstractVehicleInformationFile.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/AbstractVehicleInformationFile.cs @@ -64,7 +64,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF } - public void WriteResult(XMLDeclarationReport.ResultEntry result) + public void WriteResult(IResultEntry result) { _results.Add(result); } diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLExemptedPrimaryBusVehicleReport.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLExemptedPrimaryBusVehicleReport.cs index be87c99c1aedc52718f4efb8da8d06d1f8d7000a..1f61748ebd4f770cd93ae5d78007cc08bf3a3cf3 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLExemptedPrimaryBusVehicleReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLExemptedPrimaryBusVehicleReport.cs @@ -43,7 +43,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF } - public override void WriteResult(XMLDeclarationReport.ResultEntry result) + public override void WriteResult(IResultEntry result) { // no results for exempted vehicle } diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLPrimaryBusVehicleReport.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLPrimaryBusVehicleReport.cs index 5663b85f1a2389ab2f214d0c927e90d4641e523a..94e2365155b45f62913f75878c43248298768fd6 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLPrimaryBusVehicleReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLPrimaryBusVehicleReport.cs @@ -531,7 +531,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF }; } - public virtual void WriteResult(XMLDeclarationReport.ResultEntry resultEntry) + public virtual void WriteResult(IResultEntry resultEntry) { _allSuccess &= resultEntry.Status == VectoRun.Status.Success; @@ -566,7 +566,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF GetResults(resultEntry))); } - private object[] GetResults(XMLDeclarationReport.ResultEntry resultEntry) + private object[] GetResults(IResultEntry resultEntry) { switch (resultEntry.Status) { case VectoRun.Status.Pending: @@ -582,7 +582,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF } } - private object[] GetSuccessResultEntry(XMLDeclarationReport.ResultEntry result) + private object[] GetSuccessResultEntry(IResultEntry result) { var retVal = new List<XElement>(); diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs index d1f4eddbe487d04367bf61b3891a53ed94527653..25ca624844800164a39fbc558b8dbe0ef0389288 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs @@ -95,19 +95,22 @@ namespace TUGraz.VectoCore.OutputData.XML MaxChargingPower = runData.MaxChargingPower; BatteryData = runData.BatteryData; OVCMode = runData.OVCMode; + VectoRunData = runData; } - public MissionType Mission { get; set; } - public LoadingType LoadingType { get; set; } - public int FuelMode { get; set; } + public VectoRunData VectoRunData { get; private set; } + + public MissionType Mission { get; private set; } + public LoadingType LoadingType { get; private set; } + public int FuelMode { get; private set; } public IList<IFuelProperties> FuelData { get; set; } public Kilogram Payload { get; set; } - public Kilogram TotalVehicleMass { get; set; } + public Kilogram TotalVehicleMass { get; private set; } - public CubicMeter CargoVolume { get; set; } + public CubicMeter CargoVolume { get; private set; } public double? PassengerCount { get; set; } public VehicleClass VehicleClass { get; set; }