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

Skip to content
Snippets Groups Projects
Commit 32ebdb00 authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

renaming files from VifReport to VehicleInformationFile

using xmlvalidator from vectoCore in testcase
start writing VIF
parent c59f32b5
No related branches found
No related tags found
No related merge requests found
Showing
with 126 additions and 151 deletions
......@@ -5,7 +5,7 @@ using TUGraz.VectoCore.Models.Simulation.Data;
namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile
{
public interface IXMLPrimaryVehicleReport
public interface IXMLVehicleInformationFile
{
void Initialize(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes);
void WriteResult(XMLDeclarationReport.ResultEntry result);
......
......@@ -13,10 +13,10 @@ using TUGraz.VectoCore.Utils;
namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile.VehicleInformationFile_0_1
{
public abstract class AbstractVIFReport : IXMLPrimaryVehicleReport
public abstract class AbstractVehicleInformationFile : IXMLVehicleInformationFile
{
private XDocument _report;
private XNamespace _tns;
protected XNamespace _tns;
protected readonly IVIFReportFactory _vifFactory;
......@@ -38,7 +38,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
protected XElement Results { get; set; }
protected AbstractVIFReport(IVIFReportFactory vifFactory)
protected AbstractVehicleInformationFile(IVIFReportFactory vifFactory)
{
_vifFactory = vifFactory;
}
......@@ -68,7 +68,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
new XAttribute(XNamespace.Xmlns + "v2.0", _v20),
new XAttribute(XNamespace.Xmlns + "v2.1", _v21),
new XAttribute(XNamespace.Xmlns + "v2.3", _v23),
new XAttribute(XNamespace.Xmlns + "v2.8", _v24),
new XAttribute(XNamespace.Xmlns + "v2.4", _v24),
new XAttribute(_xsi + "schemaLocation", $"{_tns.NamespaceName} " + @"V:\VectoCore\VectoCore\Resources\XSD/VectoOutputMultistep.0.1.xsd"),
new XAttribute("xmlns", _tns),
......
......@@ -21,11 +21,12 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
if (adas == null)
return null;
return new XElement(_vif + XMLNames.Vehicle_ADAS,
new XElement(_vif + XMLNames.Vehicle_ADAS_EngineStopStart, adas.EngineStopStart),
new XElement(_vif + XMLNames.Vehicle_ADAS_EcoRollWithoutEngineStop, adas.EcoRoll == EcoRollType.WithoutEngineStop),
new XElement(_vif + XMLNames.Vehicle_ADAS_EcoRollWithEngineStopStart, adas.EcoRoll == EcoRollType.WithEngineStop),
new XElement(_vif + XMLNames.Vehicle_ADAS_PCC, adas.PredictiveCruiseControl.ToXMLFormat()));
return new XElement(_vif + XMLNames.Vehicle_ADAS,
new XAttribute("xmlns", _v24),
new XElement(_v24 + XMLNames.Vehicle_ADAS_EngineStopStart, adas.EngineStopStart),
new XElement(_v24 + XMLNames.Vehicle_ADAS_EcoRollWithoutEngineStop, adas.EcoRoll == EcoRollType.WithoutEngineStop),
new XElement(_v24 + XMLNames.Vehicle_ADAS_EcoRollWithEngineStopStart, adas.EcoRoll == EcoRollType.WithEngineStop),
new XElement(_v24 + XMLNames.Vehicle_ADAS_PCC, adas.PredictiveCruiseControl.ToXMLFormat()));
}
#endregion
......
......@@ -8,7 +8,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
{
public interface IVIFReportFactory
{
IXMLPrimaryVehicleReport GetVIFReport(VehicleCategory vehicleType, VectoSimulationJobType jobType,
IXMLVehicleInformationFile GetVIFReport(VehicleCategory vehicleType, VectoSimulationJobType jobType,
ArchitectureID archId, bool exempted, bool iepc, bool ihpc);
......
using Ninject.Activation;
using Ninject.Extensions.ContextPreservation;
using Ninject.Extensions.Factory;
using TUGraz.VectoCommon.InputData;
using TUGraz.VectoCommon.Models;
using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9;
using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ManufacturerReportGroupWriter;
using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ManufacturerReportXMLTypeWriter;
using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile.VehicleInformationFile_0_1.Components;
using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile.VehicleInformationFile_0_1.VIFReport;
using TUGraz.VectoCore.Utils.Ninject;
namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile.VehicleInformationFile_0_1
......@@ -20,7 +23,15 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
Bind<IVIFReportFactory>().ToFactory(() => new CombineArgumentsToNameInstanceProvider(nameCombinationMethod,
6, 6, typeof(IVIFReportFactory).GetMethod(nameof(IVIFReportFactory.GetVIFReport)))).InSingletonScope();
Bind<IXMLVehicleInformationFile>().To<Conventional_PrimaryBus_VIF>().Named(nameCombinationMethod.Invoke(
ToParams(VehicleCategoryHelper.PrimaryBus,
VectoSimulationJobType.ConventionalVehicle,
ArchitectureID.UNKNOWN,
false,
false,
false)));
#region VehicleTypes
Bind<IXmlTypeWriter>().To<ConventionalVehicleType>().When(AccessedViaVIFFactory)
......
......@@ -7,10 +7,14 @@ using TUGraz.VectoCommon.InputData;
namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile.VehicleInformationFile_0_1.VIFReport
{
internal class PrimaryVIFReportBase : AbstractVIFReport
internal class VehicleInformationFile : AbstractVehicleInformationFile
{
private string _outputDataType;
public PrimaryVIFReportBase(IVIFReportFactory vifFactory) : base(vifFactory) { }
public VehicleInformationFile(IVIFReportFactory vifFactory) : base(vifFactory)
{
_tns = VIF;
}
#region Overrides of AbstractVIFReport
......@@ -18,23 +22,16 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
public override void InitializeVehicleData(IDeclarationInputDataProvider inputData)
{
//Vehicle
//InputDataSignature
//ManufacturerRecordSignature
//Results
//ApplicationInformation
throw new NotImplementedException();
Vehicle = _vifFactory.GetConventionalVehicleType().GetElement(inputData);
}
#endregion
}
internal class Conventional_PrimaryBus_VIF : VehicleInformationFile
{
public Conventional_PrimaryBus_VIF(IVIFReportFactory vifFactory) : base(vifFactory) { }
}
}
......@@ -112,17 +112,17 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
var vehicle = inputData.JobInputData.Vehicle;
var result = new List<XElement> {
new XElement(_vif + XMLNames.ManufacturerAddressPrimaryVehicle, vehicle.Manufacturer),
new XElement(_vif + XMLNames.ManufacturerPrimaryVehicle, vehicle.Manufacturer),
new XElement(_vif + XMLNames.ManufacturerAddressPrimaryVehicle, vehicle.ManufacturerAddress),
new XElement(_vif +XMLNames.Component_Model, vehicle.Model),
new XElement(_vif + XMLNames.Component_Model, vehicle.Model),
new XElement(_vif + XMLNames.Vehicle_VIN, vehicle.VIN),
new XElement(_vif + XMLNames.Component_Date, XmlConvert.ToString(vehicle.Date, XmlDateTimeSerializationMode.Utc)),
new XElement(_vif + XMLNames.Vehicle_LegislativeCategory, vehicle.LegislativeClass.ToXMLFormat()),
new XElement(_vif + XMLNames.ChassisConfiguration, vehicle.VehicleCategory.ToXMLFormat()),
new XElement(_vif + XMLNames.Vehicle_AxleConfiguration, vehicle.AxleConfiguration.ToXMLFormat()),
new XElement(_vif + XMLNames.Vehicle_Articulated, vehicle.Articulated),
new XElement(_vif + XMLNames.TPMLM, vehicle.GrossVehicleMassRating.ToXMLFormat()),
new XElement(_vif + XMLNames.Vehicle_IdlingSpeed, vehicle.EngineIdleSpeed.ToXMLFormat()),
new XElement(_vif + XMLNames.TPMLM, vehicle.GrossVehicleMassRating.ToXMLFormat(0)),
new XElement(_vif + XMLNames.Vehicle_IdlingSpeed, vehicle.EngineIdleSpeed.AsRPM.ToXMLFormat(0)),
new XElement(_vif + XMLNames.Vehicle_RetarderType, vehicle.Components.RetarderInputData.Type.ToXMLFormat()),
new XElement(_vif + XMLNames.Vehicle_RetarderRatio, vehicle.Components.RetarderInputData.Ratio.ToXMLFormat(3)),
new XElement(_vif + XMLNames.Vehicle_AngledriveType, vehicle.Components.AngledriveInputData.Type.ToXMLFormat()),
......
......@@ -25,7 +25,7 @@ using TUGraz.VectoHashing;
namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile
{
public class XMLPrimaryBusVehicleReport : IXMLPrimaryVehicleReport
public class XMLPrimaryBusVehicleReport : IXMLVehicleInformationFile
{
public XNamespace Tns => tns;
protected XNamespace tns = "urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1";
......
......@@ -255,12 +255,12 @@ namespace TUGraz.VectoCore.OutputData.XML
protected virtual void InstantiateReports(VectoRunData modelData)
{
if (modelData.Exempted) {
ManufacturerRpt = new XMLManufacturerReportExemptedTruck();
} else {
ManufacturerRpt = new XMLManufacturerReportTruck();
}
CustomerRpt = new XMLCustomerReport();
//if (modelData.Exempted) {
// ManufacturerRpt = new XMLManufacturerReportExemptedTruck();
//} else {
// ManufacturerRpt = new XMLManufacturerReportTruck();
//}
//CustomerRpt = new XMLCustomerReport();
}
private static IDictionary<Tuple<MissionType, LoadingType>, double> ZeroWeighting =>
......
......@@ -10,7 +10,7 @@ using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile;
namespace TUGraz.VectoCore.OutputData.XML {
public class XMLDeclarationReportPrimaryVehicle : XMLDeclarationReport
{
protected IXMLPrimaryVehicleReport PrimaryReport;
protected IXMLVehicleInformationFile VehicleInformationFile;
public XMLDeclarationReportPrimaryVehicle(IReportWriter writer, bool writePIF = false) : base(writer)
......@@ -19,7 +19,7 @@ namespace TUGraz.VectoCore.OutputData.XML {
public override XDocument CustomerReport => null;
public override XDocument PrimaryVehicleReport => PrimaryReport?.Report;
public override XDocument PrimaryVehicleReport => VehicleInformationFile?.Report;
#region Overrides of XMLDeclarationReport
......@@ -29,12 +29,12 @@ namespace TUGraz.VectoCore.OutputData.XML {
if (modelData.Exempted) {
ManufacturerRpt = new XMLManufacturerReportExeptedPrimaryBus();
CustomerRpt = new XMLCustomerReportExemptedPrimaryBus();
PrimaryReport = new XMLExemptedPrimaryBusVehicleReport();
VehicleInformationFile = new XMLExemptedPrimaryBusVehicleReport();
} else {
ManufacturerRpt = new XMLManufacturerReportPrimaryBus();
CustomerRpt = new XMLCustomerReport();
PrimaryReport = new XMLPrimaryBusVehicleReport();
VehicleInformationFile = new XMLPrimaryBusVehicleReport();
}
......@@ -43,7 +43,7 @@ namespace TUGraz.VectoCore.OutputData.XML {
public override void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes)
{
base.InitializeReport(modelData, fuelModes);
PrimaryReport.Initialize(modelData,fuelModes);
VehicleInformationFile.Initialize(modelData,fuelModes);
}
......@@ -51,7 +51,7 @@ namespace TUGraz.VectoCore.OutputData.XML {
protected override void WriteResult(ResultEntry result)
{
base.WriteResult(result);
PrimaryReport.WriteResult(result);
VehicleInformationFile.WriteResult(result);
}
protected override void GenerateReports()
......@@ -59,7 +59,7 @@ namespace TUGraz.VectoCore.OutputData.XML {
ManufacturerRpt.GenerateReport();
var fullReportHash = GetSignature(ManufacturerRpt.Report);
CustomerRpt.GenerateReport(fullReportHash);
PrimaryReport.GenerateReport(fullReportHash);
VehicleInformationFile.GenerateReport(fullReportHash);
}
......@@ -67,7 +67,7 @@ namespace TUGraz.VectoCore.OutputData.XML {
protected override void OutputReports()
{
Writer.WriteReport(ReportType.DeclarationReportManufacturerXML, ManufacturerRpt.Report);
Writer.WriteReport(ReportType.DeclarationReportPrimaryVehicleXML, PrimaryReport.Report);
Writer.WriteReport(ReportType.DeclarationReportPrimaryVehicleXML, VehicleInformationFile.Report);
}
#endregion
......
......@@ -13,21 +13,25 @@ using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport;
using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9;
using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ManufacturerReportXMLTypeWriter;
using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile;
using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile.VehicleInformationFile_0_1;
namespace TUGraz.VectoCore.OutputData.XML
{
public class XMLDeclarationReportPrimaryVehicle_09 : XMLDeclarationReportPrimaryVehicle
{
private readonly ICustomerInformationFileFactory _cifFactory;
//private readonly ICustomerInformationFileFactory _cifFactory;
private readonly IManufacturerReportFactory _mrfFactory;
private readonly IVIFReportFactory _vifFactory;
public XMLDeclarationReportPrimaryVehicle_09(IReportWriter writer,
IManufacturerReportFactory mrfFactory,
ICustomerInformationFileFactory cifFactory,
IVIFReportFactory vifFactory,
bool writePIF = false) : base(writer, writePIF)
{
_mrfFactory = mrfFactory;
_cifFactory = cifFactory;
//_cifFactory = cifFactory;
_vifFactory = vifFactory;
}
......@@ -40,25 +44,26 @@ namespace TUGraz.VectoCore.OutputData.XML
var ihpc =
vehicleData.Components?.ElectricMachines?.Entries?.Count(e => e.ElectricMachine.IHPCType != "None") > 0;
if (modelData.Exempted) {
PrimaryReport = new XMLExemptedPrimaryBusVehicleReport();
}
PrimaryReport = new XMLPrimaryBusVehicleReport();
//if (modelData.Exempted) {
// PrimaryReport = new XMLExemptedPrimaryBusVehicleReport();
//}
//PrimaryReport = new XMLPrimaryBusVehicleReport();
//PrimaryRpt = _vifFactory.GetVIF(vehicleData.VehicleCategory,
// vehicleData.VehicleType,
// vehicleData.ArchitectureID,
// vehicleData.ExemptedVehicle,
// iepc,
// ihpc);
ManufacturerRpt = _mrfFactory.GetManufacturerReport(vehicleData.VehicleCategory,
vehicleData.VehicleType,
vehicleData.ArchitectureID,
vehicleData.ExemptedVehicle,
iepc,
ihpc);
VehicleInformationFile = _vifFactory.GetVIFReport(vehicleData.VehicleCategory,
vehicleData.VehicleType,
vehicleData.ArchitectureID,
vehicleData.ExemptedVehicle,
iepc,
ihpc);
}
protected override void DoStoreResult(ResultEntry entry, VectoRunData runData, IModalDataContainer modData)
......
......@@ -28,6 +28,7 @@ using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.Manu
using TUGraz.VectoCore.Tests.Integration.CompletedBus;
using TUGraz.VectoCore.Tests.Models.Simulation;
using TUGraz.VectoCore.Utils;
using XmlDocumentType = TUGraz.VectoCore.Utils.XmlDocumentType;
namespace TUGraz.VectoCore.Tests.XML.Reports
{
......@@ -100,57 +101,14 @@ namespace TUGraz.VectoCore.Tests.XML.Reports
var error = false;
try {
var schemaSet = new XmlSchemaSet() {
XmlResolver = new XmlUrlResolver()
};
XmlSchema schema;
using (var reader = XmlReader.Create(
Path.GetFullPath(Path.Combine(xsdPath, "VectoOutputManufacturer.0.9.xsd"))))
{
schema = XmlSchema.Read(reader, null);
}
schemaSet.Add(schema);
using (var reader = XmlReader.Create(
Path.GetFullPath(Path.Combine(xsdPath, "VectoOutputCustomer.0.9.xsd"))))
{
schema = XmlSchema.Read(reader, null);
}
schemaSet.Add(schema);
using (var reader = XmlReader.Create(
Path.GetFullPath(Path.Combine(xsdPath, "VectoOutputMultistep.0.1.xsd"))))
{
schema = XmlSchema.Read(reader, null);
}
schemaSet.Add(schema);
if (elementSelector != null) {
document.Validate(schemaSet, ((sender, args) => {
//do nothing just add schema info
}), true);
var element = elementSelector(document);
element.Validate(element.GetSchemaInfo().SchemaType, schemaSet, (sender, args) => {
error = true;
TestContext.WriteLine(sender?.ToString());
TestContext.WriteLine(args.Message);
});
} else {
document.Validate(schemaSet, (sender, args) => {
error = true;
TestContext.WriteLine(sender?.ToString());
TestContext.WriteLine(args.Message);
});
}
var mrfStream = new MemoryStream();
var mrfWriter = new XmlTextWriter(mrfStream, Encoding.UTF8);
document.WriteTo(mrfWriter);
mrfWriter.Flush();
mrfStream.Flush();
mrfStream.Seek(0, SeekOrigin.Begin);
var validator = new XMLValidator(new XmlTextReader(mrfStream));
error = validator.ValidateXML(XmlDocumentType.CustomerReport | XmlDocumentType.ManufacturerReport);
} finally {
TestContext.WriteLine(document);
}
......@@ -158,23 +116,6 @@ namespace TUGraz.VectoCore.Tests.XML.Reports
}
private static XmlSchemaSet XmlSchemaSet(params (string path, string targetNamespace)[] paths)
{
XmlSchemaSet schemas = new XmlSchemaSet();
foreach (var path in paths) {
using (XmlReader reader = new XmlTextReader(path.path)
{
XmlResolver = new XmlUrlResolver()
})
{
schemas.Add(path.targetNamespace, reader);
};
}
return schemas;
}
protected bool WriteToDisk(string basePath, string fileName, XDocument xDocument)
{
TestContext.WriteLine($"{basePath},{fileName}");
......
......@@ -15,7 +15,7 @@ using TUGraz.VectoMockup.Reports;
namespace TUGraz.VectoMockup.Ninject
{
internal class VIFMockupModule : AbstractNinjectModule
public class VIFMockupModule : AbstractNinjectModule
{
#region Overrides of NinjectModule
......@@ -40,11 +40,20 @@ namespace TUGraz.VectoMockup.Ninject
#region Implementation of IVIFReportFactory
public IXMLPrimaryVehicleReport GetVIFReport(VehicleCategory vehicleType, VectoSimulationJobType jobType, ArchitectureID archId,
public IXMLVehicleInformationFile GetVIFReport(VehicleCategory vehicleType, VectoSimulationJobType jobType, ArchitectureID archId,
bool exempted, bool iepc, bool ihpc)
{
return new MockupVIFReport(
_vifReportFactoryImplementation.GetVIFReport(vehicleType, jobType, archId, exempted, iepc, ihpc));
switch (vehicleType) {
case VehicleCategory.HeavyBusPrimaryVehicle:
return new MockupPrimaryVehicleInformationFile(
_vifReportFactoryImplementation.GetVIFReport(vehicleType, jobType, archId, exempted, iepc,
ihpc));
case VehicleCategory.HeavyBusCompletedVehicle:
return new MockupVehicleInformationFile(
_vifReportFactoryImplementation.GetVIFReport(vehicleType, jobType, archId, exempted, iepc,
ihpc));
default: throw new ArgumentException();
}
}
public IXmlTypeWriter GetConventionalVehicleType()
......
......@@ -108,7 +108,7 @@ namespace TUGraz.VectoMockup.Reports
PrimaryVehicleReportInputData = declarationInputDataProvider.PrimaryVehicleData,
};
case VehicleCategory.HeavyBusPrimaryVehicle:
return new XMLDeclarationMockupPrimaryReport(outputDataWriter, _mrfFactory, _cifFactory,
return new XMLDeclarationMockupPrimaryReport(outputDataWriter, _mrfFactory, _cifFactory, _vifFactory,
declarationInputDataProvider.JobInputData.Vehicle.ExemptedVehicle,
declarationInputDataProvider.JobInputData.Vehicle.VehicleCategory ==
VehicleCategory.HeavyBusPrimaryVehicle);
......@@ -134,6 +134,8 @@ namespace TUGraz.VectoMockup.Reports
public IManufacturerReportFactory MrfFactory => _mrfFactory;
public ICustomerInformationFileFactory CifFactory => _cifFactory;
public IVIFReportFactory VifFactory => _vifFactory;
#endregion
}
......@@ -141,5 +143,7 @@ namespace TUGraz.VectoMockup.Reports
{
IManufacturerReportFactory MrfFactory { get; }
ICustomerInformationFileFactory CifFactory { get; }
IVIFReportFactory VifFactory { get; }
}
}
......@@ -11,13 +11,13 @@ using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile;
namespace TUGraz.VectoMockup.Reports
{
public class MockupVIFReport : IXMLPrimaryVehicleReport, IXMLMockupReport
public class MockupVehicleInformationFile : IXMLVehicleInformationFile, IXMLMockupReport
{
private XDocument _report;
private XNamespace _tns;
public MockupVIFReport(IXMLPrimaryVehicleReport vifReport)
public MockupVehicleInformationFile(IXMLVehicleInformationFile vehicleInformationFile)
{
}
......
......@@ -15,17 +15,17 @@ using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile;
namespace TUGraz.VectoMockup.Reports
{
internal class MockupPrimaryReport : IXMLPrimaryVehicleReport, IXMLMockupReport
internal class MockupPrimaryVehicleInformationFile : IXMLVehicleInformationFile, IXMLMockupReport
{
private readonly IXMLPrimaryVehicleReport _primaryVehicleReportImplementation;
private readonly IXMLVehicleInformationFile _vehicleInformationFileImplementation;
private VectoRunData _modelData;
private XElement Results;
public MockupPrimaryReport(IXMLPrimaryVehicleReport primaryVehicleReportImplementation)
public MockupPrimaryVehicleInformationFile(IXMLVehicleInformationFile vehicleInformationFileImplementation)
{
_primaryVehicleReportImplementation = primaryVehicleReportImplementation;
Results = new XElement(_primaryVehicleReportImplementation.Tns + XMLNames.Report_Results);
_vehicleInformationFileImplementation = vehicleInformationFileImplementation;
Results = new XElement(_vehicleInformationFileImplementation.Tns + XMLNames.Report_Results);
}
......@@ -33,16 +33,16 @@ namespace TUGraz.VectoMockup.Reports
public void Initialize(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes)
{
_primaryVehicleReportImplementation.Initialize(modelData, fuelModes);
_vehicleInformationFileImplementation.Initialize(modelData, fuelModes);
_modelData = modelData;
}
public void WriteResult(XMLDeclarationReport.ResultEntry result)
{
_primaryVehicleReportImplementation.WriteResult(result);
_vehicleInformationFileImplementation.WriteResult(result);
}
public XNamespace Tns => _primaryVehicleReportImplementation.Tns;
public XNamespace Tns => _vehicleInformationFileImplementation.Tns;
#endregion
......@@ -69,14 +69,14 @@ namespace TUGraz.VectoMockup.Reports
public void GenerateReport(XElement fullReportHash)
{
_primaryVehicleReportImplementation.GenerateReport(fullReportHash);
_vehicleInformationFileImplementation.GenerateReport(fullReportHash);
}
public XDocument Report
{
get
{
var report = _primaryVehicleReportImplementation.Report;
var report = _vehicleInformationFileImplementation.Report;
var resultsElement = report.XPathSelectElements($"//*[local-name()='{XMLNames.Report_Results}']");
resultsElement.First().ReplaceWith(Results);
return report;
......
......@@ -7,6 +7,7 @@ using TUGraz.VectoCore.OutputData.XML;
using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9;
using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9;
using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ManufacturerReportXMLTypeWriter;
using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile.VehicleInformationFile_0_1;
namespace TUGraz.VectoMockup.Reports
{
......@@ -16,10 +17,13 @@ namespace TUGraz.VectoMockup.Reports
public XMLDeclarationMockupPrimaryReport(IReportWriter writer,
IManufacturerReportFactory mrfFactory,
ICustomerInformationFileFactory cifFactory, bool exempted,
ICustomerInformationFileFactory cifFactory,
IVIFReportFactory vifFactory,
bool exempted,
bool writePIF = false) : base(writer,
mrfFactory,
cifFactory,
vifFactory,
writePIF)
{
_exempted = exempted;
......@@ -28,7 +32,7 @@ namespace TUGraz.VectoMockup.Reports
protected override void InstantiateReports(VectoRunData modelData)
{
base.InstantiateReports(modelData);
PrimaryReport = new MockupPrimaryReport(PrimaryReport);
//VehicleInformationFile = new MockupPrimaryVehicleInformationFile(VehicleInformationFile);
}
#region Overrides of XMLDeclarationReportPrimaryVehicle_09
......@@ -41,7 +45,7 @@ namespace TUGraz.VectoMockup.Reports
protected override void WriteResult(ResultEntry result)
{
(ManufacturerRpt as IXMLMockupReport).WriteMockupResult(result);
(PrimaryReport as IXMLMockupReport).WriteMockupResult(result);
(VehicleInformationFile as IXMLMockupReport).WriteMockupResult(result);
}
#endregion
......@@ -52,16 +56,16 @@ namespace TUGraz.VectoMockup.Reports
{
if (!_exempted) {
(ManufacturerRpt as IXMLMockupReport).WriteMockupSummary(Results.First());
(PrimaryReport as IXMLMockupReport).WriteMockupSummary(Results.First());
(VehicleInformationFile as IXMLMockupReport).WriteMockupSummary(Results.First());
} else {
(ManufacturerRpt as IXMLMockupReport).WriteExemptedResults();
(PrimaryReport as IXMLMockupReport).WriteExemptedResults();
(VehicleInformationFile as IXMLMockupReport).WriteExemptedResults();
}
ManufacturerRpt.GenerateReport();
var fullReportHash = CreateDummySig();
//CustomerRpt.GenerateReport(fullReportHash);
PrimaryReport.GenerateReport(fullReportHash);
VehicleInformationFile.GenerateReport(fullReportHash);
}
protected virtual XElement CreateDummySig()
......
......@@ -6,6 +6,7 @@ using TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory;
using TUGraz.VectoCore.OutputData;
using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9;
using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ManufacturerReportXMLTypeWriter;
using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile.VehicleInformationFile_0_1;
using TUGraz.VectoMockup.Reports;
namespace TUGraz.VectoMockup.Simulation.SimulatorFactory
......@@ -18,12 +19,13 @@ namespace TUGraz.VectoMockup.Simulation.SimulatorFactory
ISimulatorFactoryFactory simFactoryFactory,
IManufacturerReportFactory mrfFactory,
ICustomerInformationFileFactory cifFactory,
IVIFReportFactory vifFactory,
IXMLInputDataReader inputDataReader, bool validate) :
base(originalStageInputData, originalReportWriter, originalDeclarationReport, simFactoryFactory,
inputDataReader, validate)
{
_currentStageDeclarationReport =
new XMLDeclarationMockupPrimaryReport(_currentStageOutputDataWriter, mrfFactory, cifFactory, originalStageInputData.StageInputData.ExemptedVehicle,true);
new XMLDeclarationMockupPrimaryReport(_currentStageOutputDataWriter, mrfFactory, cifFactory, vifFactory, originalStageInputData.StageInputData.ExemptedVehicle,true);
}
#region Overrides of InterimAfterPrimaryFactoryCreator
......
......@@ -121,6 +121,7 @@ namespace TUGraz.VectoMockup.Simulation.SimulatorFactory
_simFactoryFactory,
((IMockupDeclarationReportFactory)_xmlDeclarationReportFactory).MrfFactory,
((IMockupDeclarationReportFactory)_xmlDeclarationReportFactory).CifFactory,
((IMockupDeclarationReportFactory)_xmlDeclarationReportFactory).VifFactory,
_xmlInputDataReader,
Validate);
case IMultistageVIFInputData multistageVifInputData:
......
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