Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS will be completely phased out by mid-2025. To see alternatives please check here

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