Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit 000ee8f5 authored by Markus QUARITSCH's avatar Markus QUARITSCH
Browse files

refactor mockup result writing: use the same mechanism for writing results as...

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
parent b547726b
No related branches found
No related tags found
No related merge requests found
Showing
with 113 additions and 311 deletions
...@@ -24,7 +24,7 @@ namespace TUGraz.VectoMockup ...@@ -24,7 +24,7 @@ namespace TUGraz.VectoMockup
internal static class MockupResultReader internal static class MockupResultReader
{ {
private enum ResultType public enum ResultType
{ {
CIF, CIF,
MRF, MRF,
...@@ -78,14 +78,14 @@ namespace TUGraz.VectoMockup ...@@ -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(); var resNames = Assembly.GetAssembly(typeof(MockupResultReader)).GetManifestResourceNames();
//if (result.Status == VectoRun.Status.Success) { //if (result.Status == VectoRun.Status.Success) {
var arch = GetArch(xmlName, runData); var arch = GetArch(runData);
var reportType = GetReportType(type); 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"; return $"{mockupResourcePrefix}.{reportType}_MockupResults_{arch}_{vehicleType}.xml";
//} //}
...@@ -106,7 +106,7 @@ namespace TUGraz.VectoMockup ...@@ -106,7 +106,7 @@ namespace TUGraz.VectoMockup
} }
} }
private static string GetArch(string xmlName, VectoRunData runData) private static string GetArch(VectoRunData runData)
{ {
bool ovc = false; bool ovc = false;
var jobType = VectoSimulationJobType.ConventionalVehicle; var jobType = VectoSimulationJobType.ConventionalVehicle;
...@@ -131,30 +131,27 @@ namespace TUGraz.VectoMockup ...@@ -131,30 +131,27 @@ namespace TUGraz.VectoMockup
return "PEV"; 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); ReplaceMission(result, resultElement);
ReplaceGroup(result, resultElement); ReplaceGroup(result, resultElement);
ReplacePayload(result, resultElement); ReplacePayload(result, resultElement);
ReplaceFuelMode(result, resultElement); ReplaceFuelMode(result, resultElement);
SetFuels(result, resultElement); SetFuels(result, resultElement);
ClearGearboxAndAxleGearEntries(result, resultElement, runData); ClearGearboxAndAxleGearEntries(result, resultElement, runData);
return resultElement; return resultElement;
} }
public static XElement GetCIFMockupResult(IResultEntry 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)); var resultElement = GetResultElement(resultElementName, MockupResultHelper.GetResourceName(ResultType.CIF, runData));
resultElement.DescendantNodes().OfType<XComment>().Remove(); resultElement.DescendantNodes().OfType<XComment>().Remove();
ReplaceMission(result, resultElement); ReplaceMission(result, resultElement);
SetFuels(result, resultElement); SetFuels(result, resultElement);
...@@ -162,21 +159,19 @@ namespace TUGraz.VectoMockup ...@@ -162,21 +159,19 @@ namespace TUGraz.VectoMockup
return resultElement; 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(); resultElement.DescendantNodes().OfType<XComment>().Remove();
ReplaceMission(result, resultElement); ReplaceMission(result, resultElement);
ReplaceGroup(result, resultElement); ReplaceGroup(result, resultElement);
ReplacePayload(result, resultElement); ReplacePayload(result, resultElement);
ReplaceFuelMode(result,resultElement); ReplaceFuelMode(result, resultElement);
SetFuels(result, resultElement); SetFuels(result, resultElement);
return resultElement; return resultElement;
} }
private static void ReplacePayload(IResultEntry result, XElement resultElement) private static void ReplacePayload(IResultEntry result, XElement resultElement)
{ {
if (result.Payload == null) { if (result.Payload == null) {
......
...@@ -40,7 +40,7 @@ namespace TUGraz.VectoMockup.Ninject ...@@ -40,7 +40,7 @@ namespace TUGraz.VectoMockup.Ninject
public IXMLCustomerReport GetCustomerReport(VehicleCategory vehicleType, VectoSimulationJobType jobType, ArchitectureID archId, public IXMLCustomerReport GetCustomerReport(VehicleCategory vehicleType, VectoSimulationJobType jobType, ArchitectureID archId,
bool exempted, bool iepc, bool ihpc) 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() public IXmlTypeWriter GetConventionalLorryVehicleType()
......
...@@ -44,7 +44,7 @@ namespace TUGraz.VectoMockup.Ninject ...@@ -44,7 +44,7 @@ namespace TUGraz.VectoMockup.Ninject
public IXMLManufacturerReport GetManufacturerReport(VehicleCategory vehicleType, VectoSimulationJobType jobType, public IXMLManufacturerReport GetManufacturerReport(VehicleCategory vehicleType, VectoSimulationJobType jobType,
ArchitectureID archId, bool exempted, bool iepc, bool ihpc) 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() public IXmlTypeWriter GetConventionalLorryVehicleType()
......
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
...@@ -11,28 +11,19 @@ using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.Manu ...@@ -11,28 +11,19 @@ using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.Manu
namespace TUGraz.VectoMockup.Reports namespace TUGraz.VectoMockup.Reports
{ {
public class MockupCustomerReport : IXMLCustomerReport, IXMLMockupReport public class MockupCustomerReport : IXMLCustomerReport
{ {
private readonly bool _exempted;
private readonly AbstractCustomerReport _originalCustomerReport; 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; _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 #region Implementation of IXMLCustomerReport
public void Initialize(VectoRunData modelData) public void Initialize(VectoRunData modelData)
{ {
_modelData = modelData;
_originalCustomerReport.Initialize(modelData); _originalCustomerReport.Initialize(modelData);
} }
...@@ -41,12 +32,8 @@ namespace TUGraz.VectoMockup.Reports ...@@ -41,12 +32,8 @@ namespace TUGraz.VectoMockup.Reports
get get
{ {
var report = _originalCustomerReport.Report; var report = _originalCustomerReport.Report;
report.XPathSelectElements($"//*[local-name()='{XMLNames.Report_Results}']").Single().ReplaceWith(Results);
return report; return report;
}
}
} }
public void WriteResult(IResultEntry resultValue) public void WriteResult(IResultEntry resultValue)
...@@ -61,28 +48,6 @@ namespace TUGraz.VectoMockup.Reports ...@@ -61,28 +48,6 @@ namespace TUGraz.VectoMockup.Reports
#endregion #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
...@@ -12,56 +12,22 @@ using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.Manu ...@@ -12,56 +12,22 @@ using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.Manu
namespace TUGraz.VectoMockup.Reports namespace TUGraz.VectoMockup.Reports
{ {
public class MockupManufacturerReport : IXMLManufacturerReport, IXMLMockupReport public class MockupManufacturerReport : IXMLManufacturerReport
{ {
private readonly bool _exempted;
private AbstractManufacturerReport _ixmlManufacturerReportImplementation; private AbstractManufacturerReport _ixmlManufacturerReportImplementation;
private VectoRunData _modelData;
private XNamespace Mrf = AbstractManufacturerReport.Mrf_0_9;
private readonly string _outputData; public MockupManufacturerReport(IXMLManufacturerReport originalManufacturerReport)
private XElement Results { get; set; }
public MockupManufacturerReport(IXMLManufacturerReport originalManufacturerReport, bool exempted)
{ {
_exempted = exempted;
_ixmlManufacturerReportImplementation = originalManufacturerReport as AbstractManufacturerReport; _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 #region Implementation of IXMLManufacturerReport
//public void InitializeVehicleData(IDeclarationInputDataProvider inputData)
//{
// _ixmlManufacturerReportImplementation.InitializeVehicleData(inputData);
//}
public void Initialize(VectoRunData modelData) public void Initialize(VectoRunData modelData)
{ {
_modelData = modelData;
_ixmlManufacturerReportImplementation.Initialize(modelData); _ixmlManufacturerReportImplementation.Initialize(modelData);
} }
...@@ -70,8 +36,6 @@ namespace TUGraz.VectoMockup.Reports ...@@ -70,8 +36,6 @@ namespace TUGraz.VectoMockup.Reports
get get
{ {
var report = _ixmlManufacturerReportImplementation.Report; var report = _ixmlManufacturerReportImplementation.Report;
report.XPathSelectElements($"//*[local-name()='{XMLNames.Report_Results}']").Single().ReplaceWith(Results);
return report; return report;
} }
} }
......
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Xml; using System.Xml;
using System.Xml.Linq; using System.Xml.Linq;
using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.InputData;
using TUGraz.VectoCommon.Resources;
using TUGraz.VectoCore.Models.Simulation.Data;
using TUGraz.VectoCore.OutputData; using TUGraz.VectoCore.OutputData;
using TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common; using TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common;
...@@ -9,21 +12,55 @@ namespace TUGraz.VectoMockup.Reports ...@@ -9,21 +12,55 @@ namespace TUGraz.VectoMockup.Reports
{ {
class MockupReportResultsFactory : IResultsWriterFactory 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 #region Implementation of IResultsWriterFactory
public IResultsWriter GetCIFResultsWriter(string vehicleCategory, VectoSimulationJobType jobType, bool ovc, bool exempted) 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) 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) 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 #endregion
...@@ -33,17 +70,46 @@ namespace TUGraz.VectoMockup.Reports ...@@ -33,17 +70,46 @@ namespace TUGraz.VectoMockup.Reports
{ {
private readonly XNamespace TNS; private readonly XNamespace TNS;
public MockupDummyResultsWriter(XNamespace ns) public MockupDummyResultsWriter(XNamespace ns, MockupResultReader.ResultType resultType)
{ {
TNS = ns; TNS = ns;
ResultType = resultType;
} }
public MockupResultReader.ResultType ResultType;
#region Implementation of IResultsWriter #region Implementation of IResultsWriter
public XElement GenerateResults(List<IResultEntry> results) public XElement GenerateResults(List<IResultEntry> results)
{ {
// only return a single 'Results' element - will be replaced in Mockup Report var retVal = new XElement(TNS + XMLNames.Report_Results);
return new XElement(TNS + "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 #endregion
......
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
}
}
...@@ -14,7 +14,7 @@ using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile; ...@@ -14,7 +14,7 @@ using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile;
namespace TUGraz.VectoMockup.Reports namespace TUGraz.VectoMockup.Reports
{ {
internal class MockupInterimVehicleInformationFile : IXMLMultistepIntermediateReport, IXMLMockupReport internal class MockupInterimVehicleInformationFile : IXMLMultistepIntermediateReport
{ {
private readonly IXMLMultistepIntermediateReport _intermediateVifImplementation; private readonly IXMLMultistepIntermediateReport _intermediateVifImplementation;
...@@ -39,38 +39,18 @@ namespace TUGraz.VectoMockup.Reports ...@@ -39,38 +39,18 @@ namespace TUGraz.VectoMockup.Reports
#endregion #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 readonly IXMLVehicleInformationFile _vehicleInformationFileImplementation;
private VectoRunData _modelData; private VectoRunData _modelData;
private XElement Results;
public MockupPrimaryVehicleInformationFile(IXMLVehicleInformationFile vehicleInformationFileImplementation) public MockupPrimaryVehicleInformationFile(IXMLVehicleInformationFile vehicleInformationFileImplementation)
{ {
_vehicleInformationFileImplementation = vehicleInformationFileImplementation; _vehicleInformationFileImplementation = vehicleInformationFileImplementation;
Results = new XElement(_vehicleInformationFileImplementation.Tns + XMLNames.Report_Results);
} }
...@@ -82,7 +62,7 @@ namespace TUGraz.VectoMockup.Reports ...@@ -82,7 +62,7 @@ namespace TUGraz.VectoMockup.Reports
_modelData = modelData; _modelData = modelData;
} }
public void WriteResult(XMLDeclarationReport.ResultEntry result) public void WriteResult(IResultEntry result)
{ {
_vehicleInformationFileImplementation.WriteResult(result); _vehicleInformationFileImplementation.WriteResult(result);
} }
...@@ -93,25 +73,6 @@ namespace TUGraz.VectoMockup.Reports ...@@ -93,25 +73,6 @@ namespace TUGraz.VectoMockup.Reports
#region Implementation of IXMLMockupReport #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) public void GenerateReport(XElement fullReportHash)
{ {
_vehicleInformationFileImplementation.GenerateReport(fullReportHash); _vehicleInformationFileImplementation.GenerateReport(fullReportHash);
...@@ -122,8 +83,6 @@ namespace TUGraz.VectoMockup.Reports ...@@ -122,8 +83,6 @@ namespace TUGraz.VectoMockup.Reports
get get
{ {
var report = _vehicleInformationFileImplementation.Report; var report = _vehicleInformationFileImplementation.Report;
var resultsElement = report.XPathSelectElements($"//*[local-name()='{XMLNames.Report_Results}']");
resultsElement.First().ReplaceWith(Results);
return report; return report;
} }
} }
......
...@@ -39,8 +39,8 @@ namespace TUGraz.VectoMockup.Reports ...@@ -39,8 +39,8 @@ namespace TUGraz.VectoMockup.Reports
protected override void WriteResult(ResultEntry result) protected override void WriteResult(ResultEntry result)
{ {
(ManufacturerRpt as IXMLMockupReport).WriteMockupResult(result); ManufacturerRpt.WriteResult(result);
(VehicleInformationFile as IXMLMockupReport).WriteMockupResult(result); VehicleInformationFile.WriteResult(result);
} }
#endregion #endregion
...@@ -48,14 +48,6 @@ namespace TUGraz.VectoMockup.Reports ...@@ -48,14 +48,6 @@ namespace TUGraz.VectoMockup.Reports
protected override void GenerateReports() 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(); ManufacturerRpt.GenerateReport();
var fullReportHash = GetSignature(ManufacturerRpt.Report); var fullReportHash = GetSignature(ManufacturerRpt.Report);
VehicleInformationFile.GenerateReport(fullReportHash); VehicleInformationFile.GenerateReport(fullReportHash);
......
...@@ -35,24 +35,10 @@ namespace TUGraz.VectoMockup.Reports ...@@ -35,24 +35,10 @@ namespace TUGraz.VectoMockup.Reports
protected override void WriteResult(ResultEntry result) protected override void WriteResult(ResultEntry result)
{ {
(ManufacturerRpt as IXMLMockupReport).WriteMockupResult(result); ManufacturerRpt.WriteResult(result);
(CustomerRpt as IXMLMockupReport).WriteMockupResult(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 #endregion
} }
......
...@@ -118,23 +118,8 @@ namespace TUGraz.VectoMockup.Reports ...@@ -118,23 +118,8 @@ namespace TUGraz.VectoMockup.Reports
result.FuelData = primaryResult.EnergyConsumption.Keys result.FuelData = primaryResult.EnergyConsumption.Keys
.Select(x => DeclarationData.FuelData.Lookup(x, tankSystem)).Cast<IFuelProperties>().ToList(); .Select(x => DeclarationData.FuelData.Lookup(x, tankSystem)).Cast<IFuelProperties>().ToList();
} }
(ManufacturerRpt as IXMLMockupReport).WriteMockupResult(result); ManufacturerRpt.WriteResult(result);
(CustomerRpt as IXMLMockupReport).WriteMockupResult(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();
} }
} }
......
...@@ -131,7 +131,7 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories ...@@ -131,7 +131,7 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories
ExecutionMode = ExecutionMode.Declaration, ExecutionMode = ExecutionMode.Declaration,
JobName = DataProvider.MultistageJobInputData.JobInputData.ManufacturingStages.Last().Vehicle.Identifier, JobName = DataProvider.MultistageJobInputData.JobInputData.ManufacturingStages.Last().Vehicle.Identifier,
Report = Report, Report = Report,
//Aux = PrimaryBusMockupRunDataFactory.CreateMockupBusAux(CompletedVehicle), //Aux = PrimaryBusMockupRunDataFactory.CreateMockupBusAux(CompletedVehicle),
// //AirdragData = DataAdapterSpecific.CreateAirdragData(CompletedVehicle, mission), // //AirdragData = DataAdapterSpecific.CreateAirdragData(CompletedVehicle, mission),
// //EngineData = DataAdapterSpecific.CreateEngineData(PrimaryVehicle, modeIdx, mission), // //EngineData = DataAdapterSpecific.CreateEngineData(PrimaryVehicle, modeIdx, mission),
...@@ -224,7 +224,7 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories ...@@ -224,7 +224,7 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories
VehicleData = new VehicleData() VehicleData = new VehicleData()
{ {
Loading = loading.Value.Item1, Loading = loading.Value.Item1,
VehicleClass = primarySegment.VehicleClass,
}, },
EngineData = PrimaryBusMockupRunDataFactory.CreateMockupEngineData(PrimaryVehicle, modeIdx, CompletedVehicle.TankSystem), EngineData = PrimaryBusMockupRunDataFactory.CreateMockupEngineData(PrimaryVehicle, modeIdx, CompletedVehicle.TankSystem),
JobName = DataProvider.MultistageJobInputData.JobInputData.ManufacturingStages.Last().Vehicle.Identifier, JobName = DataProvider.MultistageJobInputData.JobInputData.ManufacturingStages.Last().Vehicle.Identifier,
...@@ -233,6 +233,9 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories ...@@ -233,6 +233,9 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories
Cycle = new DrivingCycleProxy(cycle, mission.MissionType.ToString()), Cycle = new DrivingCycleProxy(cycle, mission.MissionType.ToString()),
Report = Report, Report = Report,
ModFileSuffix = $"_{_segmentCompletedBus.VehicleClass.GetClassNumber()}-Generic_{loading.Key}", 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); return base.CreateVectoRunDataGeneric(mission, loading, primarySegment, modeIdx);
} }
......
...@@ -246,7 +246,7 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories ...@@ -246,7 +246,7 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories
SleeperCab = vehicleData.SleeperCab, SleeperCab = vehicleData.SleeperCab,
VehicleClass = _segment.VehicleClass, VehicleClass = _segment.VehicleClass,
OffVehicleCharging = vehicleData.OvcHev, OffVehicleCharging = vehicleData.OvcHev,
VocationalVehicle = vehicleData.VocationalVehicle,
}; };
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment