From a73bf04e8e2ce23ca4255a293969f0c06e1028af Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <quaritsch@ivt.tugraz.at> Date: Wed, 18 Oct 2023 10:46:15 +0200 Subject: [PATCH] separate result writer for MRF/CIF: do not write primarybussubgroup in cif --- .../DeclarationReports/Common/ResultWriter.cs | 59 ++++++++++++++++--- .../CIFResultsNinjectModule.cs | 8 +-- .../MRFResultsNinjectModule.cs | 8 +-- .../CompletedBus/CompletedBus.cs | 3 + 4 files changed, 61 insertions(+), 17 deletions(-) diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultWriter.cs index 5d33b22777..117a041412 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultWriter.cs @@ -23,7 +23,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common protected XNamespace TNS { get; } - protected XElement GetPrimaryBusSubGroupElement(IResultEntry entry) + protected virtual XElement GetPrimaryBusSubGroupElement(IResultEntry entry) { if (entry.VehicleClass.IsCompletedBus()) { @@ -186,9 +186,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common // ----- bus - public class BusConvResultWriter : ResultWriterBase + public class BusConvMRFResultWriter : ResultWriterBase { - public BusConvResultWriter(ICommonResultsWriterFactory factory, XNamespace ns) : base(factory, ns) { } + public BusConvMRFResultWriter(ICommonResultsWriterFactory factory, XNamespace ns) : base(factory, ns) { } #region Overrides of CIFResultWriterBase @@ -199,9 +199,19 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common #endregion } - public class BusHEVNonOVCResultWriter : ResultWriterBase + public class BusConvCIFResultWriter : BusConvMRFResultWriter + { + public BusConvCIFResultWriter(ICommonResultsWriterFactory factory, XNamespace ns) : base(factory, ns) { } + + protected override XElement GetPrimaryBusSubGroupElement(IResultEntry entry) + { + return null; + } + } + + public class BusHEVNonOVCMRFResultWriter : ResultWriterBase { - public BusHEVNonOVCResultWriter(ICommonResultsWriterFactory factory, XNamespace ns) : base(factory, ns) { } + public BusHEVNonOVCMRFResultWriter(ICommonResultsWriterFactory factory, XNamespace ns) : base(factory, ns) { } #region Overrides of CIFResultWriterBase @@ -212,9 +222,19 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common #endregion } - public class BusPEVResultWriter : ResultWriterBase + public class BusHEVNonOVCCIFResultWriter : BusHEVNonOVCMRFResultWriter + { + public BusHEVNonOVCCIFResultWriter(ICommonResultsWriterFactory factory, XNamespace ns) : base(factory, ns) { } + + protected override XElement GetPrimaryBusSubGroupElement(IResultEntry entry) + { + return null; + } + } + + public class BusPEVMRFResultWriter : ResultWriterBase { - public BusPEVResultWriter(ICommonResultsWriterFactory factory, XNamespace ns) : base(factory, ns) { } + public BusPEVMRFResultWriter(ICommonResultsWriterFactory factory, XNamespace ns) : base(factory, ns) { } #region Overrides of CIFResultWriterBase @@ -225,11 +245,20 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common #endregion } + public class BusPEVCIFResultWriter : BusPEVMRFResultWriter + { + public BusPEVCIFResultWriter(ICommonResultsWriterFactory factory, XNamespace ns) : base(factory, ns) { } - public class BusHEVOVCResultWriter : AbstractResultGroupWriter + protected override XElement GetPrimaryBusSubGroupElement(IResultEntry entry) + { + return null; + } + } + + public class BusHEVOVCMRFResultWriter : AbstractResultGroupWriter { - public BusHEVOVCResultWriter(ICommonResultsWriterFactory factory, XNamespace ns) : base(factory, ns) { } + public BusHEVOVCMRFResultWriter(ICommonResultsWriterFactory factory, XNamespace ns) : base(factory, ns) { } #region Implementation of IResultGroupWriter @@ -259,6 +288,18 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common protected virtual string ResultXMLType => "ResultSuccessOVCHEVType"; } + public class BusHEVOVCCIFResultWriter : BusHEVOVCMRFResultWriter + { + + public BusHEVOVCCIFResultWriter(ICommonResultsWriterFactory factory, XNamespace ns) : base(factory, ns) { } + + protected override XElement GetPrimaryBusSubGroupElement(IResultEntry entry) + { + return null; + } + + } + public class BusOVCChargeDepletingWriter : AbstractResultGroupWriter { public BusOVCChargeDepletingWriter(ICommonResultsWriterFactory factory, XNamespace ns) : base(factory, ns) { } diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFResultsNinjectModule.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFResultsNinjectModule.cs index 537528d823..0db9dff451 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFResultsNinjectModule.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFResultsNinjectModule.cs @@ -114,13 +114,13 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation // -- Bus - Bind<IResultGroupWriter>().To<BusConvResultWriter>().When(AccessedViaCIFResultsWriterFactory) + Bind<IResultGroupWriter>().To<BusConvCIFResultWriter>().When(AccessedViaCIFResultsWriterFactory) .NamedLikeFactoryMethod((ICIFResultsWriterFactory c) => c.GetBusConvSuccessResultWriter(null, XNamespace.None)); - Bind<IResultGroupWriter>().To<BusHEVNonOVCResultWriter>().When(AccessedViaCIFResultsWriterFactory) + Bind<IResultGroupWriter>().To<BusHEVNonOVCCIFResultWriter>().When(AccessedViaCIFResultsWriterFactory) .NamedLikeFactoryMethod((ICIFResultsWriterFactory c) => c.GetBusHEVNonOVCSuccessResultWriter(null, XNamespace.None)); - Bind<IResultGroupWriter>().To<BusHEVOVCResultWriter>().When(AccessedViaCIFResultsWriterFactory) + Bind<IResultGroupWriter>().To<BusHEVOVCCIFResultWriter>().When(AccessedViaCIFResultsWriterFactory) .NamedLikeFactoryMethod((ICIFResultsWriterFactory c) => c.GetBusHEVOVCSuccessResultWriter(null, XNamespace.None)); - Bind<IResultGroupWriter>().To<BusPEVResultWriter>().When(AccessedViaCIFResultsWriterFactory) + Bind<IResultGroupWriter>().To<BusPEVCIFResultWriter>().When(AccessedViaCIFResultsWriterFactory) .NamedLikeFactoryMethod((ICIFResultsWriterFactory c) => c.GetBusPEVSuccessResultWriter(null, XNamespace.None)); Bind<IResultGroupWriter>().To<ErrorResultWriter>().When(AccessedViaCIFResultsWriterFactory) .NamedLikeFactoryMethod((ICIFResultsWriterFactory c) => c.GetBusErrorResultWriter(null, XNamespace.None)); diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/MRFResultsNinjectModule.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/MRFResultsNinjectModule.cs index 0560c49efb..9528fd23fb 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/MRFResultsNinjectModule.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/MRFResultsNinjectModule.cs @@ -124,13 +124,13 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation // -- Bus - Bind<IResultGroupWriter>().To<BusConvResultWriter>().When(AccessedViaMRFResultsWriterFactory) + Bind<IResultGroupWriter>().To<BusConvMRFResultWriter>().When(AccessedViaMRFResultsWriterFactory) .NamedLikeFactoryMethod((IMRFResultsWriterFactory c) => c.GetBusConvSuccessResultWriter(null, XNamespace.None)); - Bind<IResultGroupWriter>().To<BusHEVNonOVCResultWriter>().When(AccessedViaMRFResultsWriterFactory) + Bind<IResultGroupWriter>().To<BusHEVNonOVCMRFResultWriter>().When(AccessedViaMRFResultsWriterFactory) .NamedLikeFactoryMethod((IMRFResultsWriterFactory c) => c.GetBusHEVNonOVCSuccessResultWriter(null, XNamespace.None)); - Bind<IResultGroupWriter>().To<BusHEVOVCResultWriter>().When(AccessedViaMRFResultsWriterFactory) + Bind<IResultGroupWriter>().To<BusHEVOVCMRFResultWriter>().When(AccessedViaMRFResultsWriterFactory) .NamedLikeFactoryMethod((IMRFResultsWriterFactory c) => c.GetBusHEVOVCSuccessResultWriter(null, XNamespace.None)); - Bind<IResultGroupWriter>().To<BusPEVResultWriter>().When(AccessedViaMRFResultsWriterFactory) + Bind<IResultGroupWriter>().To<BusPEVMRFResultWriter>().When(AccessedViaMRFResultsWriterFactory) .NamedLikeFactoryMethod((IMRFResultsWriterFactory c) => c.GetBusPEVSuccessResultWriter(null, XNamespace.None)); Bind<IResultGroupWriter>().To<ErrorResultWriter>().When(AccessedViaMRFResultsWriterFactory) .NamedLikeFactoryMethod((IMRFResultsWriterFactory c) => c.GetBusErrorResultWriter(null, XNamespace.None)); diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportGroupWriter/CompletedBus/CompletedBus.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportGroupWriter/CompletedBus/CompletedBus.cs index afee30627f..9eb2bb955f 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportGroupWriter/CompletedBus/CompletedBus.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportGroupWriter/CompletedBus/CompletedBus.cs @@ -38,6 +38,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport. protected virtual XElement GetNGTankSystem(IMultistepBusInputDataProvider multiStageInputData) { var consolidatedVehicleData = multiStageInputData.JobInputData.ConsolidateManufacturingStage.Vehicle; + if (consolidatedVehicleData.TankSystem == null) { + return null; + } return new XElement(_mrf + XMLNames.Vehicle_NgTankSystem, consolidatedVehicleData.TankSystem); } -- GitLab