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

Skip to content
Snippets Groups Projects
Commit c4208531 authored by Harald Martini's avatar Harald Martini
Browse files

Merge branch...

Merge branch 'hm/feature/VECTO-1638-rundatafactories-and-declarationdataadapter-for-xev' of https://citnet.tech.ec.europa.eu/CITnet/stash/scm/vecto/hm_vecto-dev into feature/VECTO-1638-rundatafactories-and-declarationdataadapter-for-xev
parents 82e14f3f 187a3799
No related branches found
No related tags found
No related merge requests found
Showing
with 129 additions and 322 deletions
......@@ -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) {
......
......@@ -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()
......
......@@ -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()
......
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
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
......@@ -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;
}
}
......
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
......
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;
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;
}
}
......
......@@ -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);
......
......@@ -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
}
......
......@@ -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);
}
}
......
......@@ -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);
}
......
......@@ -246,7 +246,7 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories
SleeperCab = vehicleData.SleeperCab,
VehicleClass = _segment.VehicleClass,
OffVehicleCharging = vehicleData.OvcHev,
VocationalVehicle = vehicleData.VocationalVehicle,
};
}
}
......
......@@ -74,6 +74,8 @@ namespace TUGraz.VectoCore.OutputData
{
void Initialize(VectoRunData vectoRunData);
VectoRunData VectoRunData { get; }
VectoRun.Status Status { get; }
VectoRunData.OvcHevMode OVCMode { get; }
......
......@@ -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; }
......
......@@ -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);
}
......
......@@ -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
}
......
......@@ -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>();
......
......@@ -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; }
......
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