diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs index 5bd99a03692d08fe4b511aec8593a07feeb8bce3..cc379ba8a5545ee984ea4d05742526cf805128b2 100644 --- a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs +++ b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs @@ -4074,6 +4074,15 @@ namespace TUGraz.VectoCommon.Resources { } } + /// <summary> + /// Looks up a localized string similar to ActualChargeDepletingRange. + /// </summary> + public static string Report_ResultEntry_ActualChargeDepletingRange { + get { + return ResourceManager.GetString("Report_ResultEntry_ActualChargeDepletingRange", resourceCulture); + } + } + /// <summary> /// Looks up a localized string similar to AverageSpeed. /// </summary> @@ -4092,6 +4101,15 @@ namespace TUGraz.VectoCommon.Resources { } } + /// <summary> + /// Looks up a localized string similar to CO2_ZEV_AuxHeater. + /// </summary> + public static string Report_ResultEntry_CO2ZEVAuxHeater { + get { + return ResourceManager.GetString("Report_ResultEntry_CO2ZEVAuxHeater", resourceCulture); + } + } + /// <summary> /// Looks up a localized string similar to Distance. /// </summary> @@ -4101,6 +4119,15 @@ namespace TUGraz.VectoCommon.Resources { } } + /// <summary> + /// Looks up a localized string similar to ElectricEnergy. + /// </summary> + public static string Report_ResultEntry_ElectricEnergyConsumption { + get { + return ResourceManager.GetString("Report_ResultEntry_ElectricEnergyConsumption", resourceCulture); + } + } + /// <summary> /// Looks up a localized string similar to EngineSpeedDriving. /// </summary> @@ -4137,6 +4164,24 @@ namespace TUGraz.VectoCommon.Resources { } } + /// <summary> + /// Looks up a localized string similar to EquivalentAllElectricRange. + /// </summary> + public static string Report_ResultEntry_EquivalentAllElectricRange { + get { + return ResourceManager.GetString("Report_ResultEntry_EquivalentAllElectricRange", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to FC_ZEV_AuxHeater. + /// </summary> + public static string Report_ResultEntry_FCZEVAuxHeater { + get { + return ResourceManager.GetString("Report_ResultEntry_FCZEVAuxHeater", resourceCulture); + } + } + /// <summary> /// Looks up a localized string similar to FuelType. /// </summary> @@ -4227,6 +4272,15 @@ namespace TUGraz.VectoCommon.Resources { } } + /// <summary> + /// Looks up a localized string similar to Total. + /// </summary> + public static string Report_ResultEntry_Total { + get { + return ResourceManager.GetString("Report_ResultEntry_Total", resourceCulture); + } + } + /// <summary> /// Looks up a localized string similar to TotalVehicleMass. /// </summary> @@ -4245,6 +4299,24 @@ namespace TUGraz.VectoCommon.Resources { } } + /// <summary> + /// Looks up a localized string similar to ElectricEnergyConsumption. + /// </summary> + public static string Report_ResultEntry_VIF_ElectricEnergyConsumption { + get { + return ResourceManager.GetString("Report_ResultEntry_VIF_ElectricEnergyConsumption", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to ZeroCO2EmissionsRange. + /// </summary> + public static string Report_ResultEntry_ZeroCO2EmissionsRange { + get { + return ResourceManager.GetString("Report_ResultEntry_ZeroCO2EmissionsRange", resourceCulture); + } + } + /// <summary> /// Looks up a localized string similar to Results. /// </summary> @@ -4344,6 +4416,15 @@ namespace TUGraz.VectoCommon.Resources { } } + /// <summary> + /// Looks up a localized string similar to OVCMode. + /// </summary> + public static string Report_Results_OVCMode { + get { + return ResourceManager.GetString("Report_Results_OVCMode", resourceCulture); + } + } + /// <summary> /// Looks up a localized string similar to PrimaryVehicleSubgroup. /// </summary> @@ -4353,6 +4434,24 @@ namespace TUGraz.VectoCommon.Resources { } } + /// <summary> + /// Looks up a localized string similar to error. + /// </summary> + public static string Report_Results_Status_Error_Val { + get { + return ResourceManager.GetString("Report_Results_Status_Error_Val", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to success. + /// </summary> + public static string Report_Results_Status_Success_Val { + get { + return ResourceManager.GetString("Report_Results_Status_Success_Val", resourceCulture); + } + } + /// <summary> /// Looks up a localized string similar to Summary. /// </summary> @@ -4515,6 +4614,24 @@ namespace TUGraz.VectoCommon.Resources { } } + /// <summary> + /// Looks up a localized string similar to type. + /// </summary> + public static string Results_Report_OVCModeAttr { + get { + return ResourceManager.GetString("Results_Report_OVCModeAttr", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to charge depleting. + /// </summary> + public static string Results_Report_OVCModeAttr_ChargeDepleting { + get { + return ResourceManager.GetString("Results_Report_OVCModeAttr_ChargeDepleting", resourceCulture); + } + } + /// <summary> /// Looks up a localized string similar to RetarderDataDeclarationType. /// </summary> diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.resx b/VectoCommon/VectoCommon/Resources/XMLNames.resx index ff407bcb2eded8fd0f5b522dbd028acbb08f1435..e1d4cc2516cdecd7b673516ad017e2090bddf656 100644 --- a/VectoCommon/VectoCommon/Resources/XMLNames.resx +++ b/VectoCommon/VectoCommon/Resources/XMLNames.resx @@ -1995,4 +1995,43 @@ <data name="Report_Results_PrimaryVehicleSubgroup" xml:space="preserve"> <value>PrimaryVehicleSubgroup</value> </data> +<data name="Results_Report_OVCModeAttr_ChargeDepleting" xml:space="preserve"> + <value>charge depleting</value> +</data> +<data name="Results_Report_OVCModeAttr" xml:space="preserve"> + <value>type</value> +</data> +<data name="Report_Results_OVCMode" xml:space="preserve"> + <value>OVCMode</value> +</data> +<data name="Report_ResultEntry_ActualChargeDepletingRange" xml:space="preserve"> + <value>ActualChargeDepletingRange</value> +</data> +<data name="Report_ResultEntry_EquivalentAllElectricRange" xml:space="preserve"> + <value>EquivalentAllElectricRange</value> +</data> +<data name="Report_ResultEntry_ZeroCO2EmissionsRange" xml:space="preserve"> + <value>ZeroCO2EmissionsRange</value> +</data> +<data name="Report_ResultEntry_Total" xml:space="preserve"> + <value>Total</value> +</data> +<data name="Report_ResultEntry_FCZEVAuxHeater" xml:space="preserve"> + <value>FC_ZEV_AuxHeater</value> +</data> +<data name="Report_ResultEntry_CO2ZEVAuxHeater" xml:space="preserve"> + <value>CO2_ZEV_AuxHeater</value> +</data> +<data name="Report_ResultEntry_ElectricEnergyConsumption" xml:space="preserve"> + <value>ElectricEnergy</value> +</data> +<data name="Report_ResultEntry_VIF_ElectricEnergyConsumption" xml:space="preserve"> + <value>ElectricEnergyConsumption</value> +</data> +<data name="Report_Results_Status_Error_Val" xml:space="preserve"> + <value>error</value> +</data> +<data name="Report_Results_Status_Success_Val" xml:space="preserve"> + <value>success</value> +</data> </root> \ No newline at end of file diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/AbstractResultsWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/AbstractResultsWriter.cs index 62741681c4c9e530d7b02a0f1a9403bab5bf91b6..361554665e349b055a9126e495b699739954aad8 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/AbstractResultsWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/AbstractResultsWriter.cs @@ -12,7 +12,6 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common { public abstract class AbstractResultsWriter : IResultsWriter { - //protected static readonly XNamespace Cif = "urn:tugraz:ivt:VectoAPI:CustomerOutput:v0.9"; #region Implementation of IResultsWriter @@ -20,15 +19,16 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common { var ordered = GetOrderedResults(results); var allSuccess = results.All(x => x.Status == VectoRun.Status.Success); - return new XElement(TNS + "Results", - new XElement(TNS + XMLNames.Report_Result_Status, allSuccess ? "success" : "error"), - ordered.Select(x => - x.Status == VectoRun.Status.Success - ? ResultSuccessWriter.GetElement(x) - : ResultErrorWriter.GetElement(x)), - allSuccess ? SummaryWriter.GetElement(ordered) : null - ); - } + return new XElement(TNS + XMLNames.Report_Results, + new XElement(TNS + XMLNames.Report_Result_Status, + allSuccess ? XMLNames.Report_Results_Status_Success_Val : XMLNames.Report_Results_Status_Error_Val), + ordered.Select(x => + x.Status == VectoRun.Status.Success + ? ResultSuccessWriter.GetElement(x) + : ResultErrorWriter.GetElement(x)), + allSuccess ? SummaryWriter.GetElement(ordered) : null + ); + } #endregion diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/CO2Writer.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/CO2Writer.cs index 1754f35500e4c7ef782986c56df1b2b948eaff88..48c69374d71a678e5b519980f1bab51c23f431cf 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/CO2Writer.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/CO2Writer.cs @@ -14,50 +14,57 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common protected CO2WriterBase(ICommonResultsWriterFactory factory, XNamespace ns) : base(factory, ns) { } public virtual XElement[] GetElements(IResultEntry entry) - { - return GetCO2ResultEntries(entry.CO2Total, entry.Distance, entry.Payload, entry.CargoVolume, entry.PassengerCount).Select(x => - new XElement(TNS + XMLNames.Report_Results_CO2, x.ValueAsUnit(3, 1))).ToArray(); - } + { + return GetCO2ResultEntries(entry.CO2Total, entry.Distance, entry.Payload, entry.CargoVolume, + entry.PassengerCount) + .Select(x => new XElement(TNS + XMLNames.Report_Results_CO2, x.ValueAsUnit(3, 1))) + .ToArray(); + } public virtual XElement[] GetElements(IWeightedResult entry) - { - return GetCO2ResultEntries(entry.CO2Total, entry.Distance, entry.Payload, entry.CargoVolume, entry.PassengerCount).Select(x => - new XElement(TNS + XMLNames.Report_Results_CO2, x.ValueAsUnit(3, 1))).ToArray(); - } + { + return GetCO2ResultEntries(entry.CO2Total, entry.Distance, entry.Payload, entry.CargoVolume, + entry.PassengerCount) + .Select(x => new XElement(TNS + XMLNames.Report_Results_CO2, x.ValueAsUnit(3, 1))) + .ToArray(); + } - protected abstract IList<ConvertedSI> GetCO2ResultEntries(Kilogram co2, Meter distance, Kilogram payload, CubicMeter volume, double? passengers); + protected abstract IList<ConvertedSI> GetCO2ResultEntries(Kilogram co2, Meter distance, Kilogram payload, + CubicMeter volume, double? passengers); - } + } public class LorryCO2Writer : CO2WriterBase { public LorryCO2Writer(ICommonResultsWriterFactory factory, XNamespace ns) : base(factory, ns) { } - protected override IList<ConvertedSI> GetCO2ResultEntries(Kilogram CO2Total, Meter distance, Kilogram payload, CubicMeter volume, double? passengers) - { - return new[] { - (CO2Total / distance).ConvertToGrammPerKiloMeter(), - (CO2Total / distance / payload).ConvertToGrammPerTonKilometer(), - (CO2Total / distance / volume).ConvertToGrammPerCubicMeterKiloMeter(), - }; - } + protected override IList<ConvertedSI> GetCO2ResultEntries(Kilogram CO2Total, Meter distance, Kilogram payload, + CubicMeter volume, double? passengers) + { + return new[] { + (CO2Total / distance).ConvertToGrammPerKiloMeter(), + (CO2Total / distance / payload).ConvertToGrammPerTonKilometer(), + (CO2Total / distance / volume).ConvertToGrammPerCubicMeterKiloMeter(), + }; + } - } + } public class BusCO2Writer : CO2WriterBase { public BusCO2Writer(ICommonResultsWriterFactory factory, XNamespace ns) : base(factory, ns) { } - protected override IList<ConvertedSI> GetCO2ResultEntries(Kilogram CO2Total, Meter distance, Kilogram payload, CubicMeter volume, double? passengers) - { - return new[] { - (CO2Total / distance).ConvertToGrammPerKiloMeter(), - (CO2Total / distance / passengers.Value).ConvertToGrammPerPassengerKilometer(), - }; - } + protected override IList<ConvertedSI> GetCO2ResultEntries(Kilogram CO2Total, Meter distance, Kilogram payload, + CubicMeter volume, double? passengers) + { + return new[] { + (CO2Total / distance).ConvertToGrammPerKiloMeter(), + (CO2Total / distance / passengers.Value).ConvertToGrammPerPassengerKilometer(), + }; + } - } + } public class BusPEVCO2Writer : BusCO2Writer { @@ -71,21 +78,21 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common return null; } - var tmp = _factory.GetFuelConsumptionBus(_factory, TNS) as BusFuelConsumptionWriter; - return new[] { - new XElement(TNS + "FC_ZEV_AuxHeater", - new XAttribute(XMLNames.Report_Results_Fuel_Type_Attr, entry.AuxHeaterFuel.FuelType.ToXMLFormat()), - tmp?.FuelConsumptionEntries(entry.ZEV_FuelConsumption_AuxHtr, entry.AuxHeaterFuel, entry.Distance, - entry.Payload, entry.CargoVolume, entry.PassengerCount).Select(x => - new XElement(TNS + XMLNames.Report_Results_FuelConsumption, x.ValueAsUnit(3, 1))) - ), - new XElement(TNS + "CO2_ZEV_AuxHeater", - GetCO2ResultEntries(entry.ZEV_CO2, entry.Distance, entry.Payload, entry.CargoVolume, - entry.PassengerCount).Select(x => - new XElement(TNS + XMLNames.Report_Results_CO2, x.ValueAsUnit(3, 1))) - ) - }; - } + var tmp = _factory.GetFuelConsumptionBus(_factory, TNS); + return new[] { + new XElement(TNS + XMLNames.Report_ResultEntry_FCZEVAuxHeater, + new XAttribute(XMLNames.Report_Results_Fuel_Type_Attr, entry.AuxHeaterFuel.FuelType.ToXMLFormat()), + tmp?.GetFuelConsumptionEntries(entry.ZEV_FuelConsumption_AuxHtr, entry.AuxHeaterFuel, entry.Distance, + entry.Payload, entry.CargoVolume, entry.PassengerCount).Select(x => + new XElement(TNS + XMLNames.Report_Results_FuelConsumption, x.ValueAsUnit(3, 1))) + ), + new XElement(TNS + XMLNames.Report_ResultEntry_CO2ZEVAuxHeater, + GetCO2ResultEntries(entry.ZEV_CO2, entry.Distance, entry.Payload, entry.CargoVolume, + entry.PassengerCount).Select(x => + new XElement(TNS + XMLNames.Report_Results_CO2, x.ValueAsUnit(3, 1))) + ) + }; + } public override XElement[] GetElements(IWeightedResult entry) { @@ -95,13 +102,13 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common var tmp = _factory.GetFuelConsumptionBus(_factory, TNS) as BusFuelConsumptionWriter; return new[] { - new XElement(TNS + "FC_ZEV_AuxHeater", + new XElement(TNS + XMLNames.Report_ResultEntry_FCZEVAuxHeater, new XAttribute(XMLNames.Report_Results_Fuel_Type_Attr, entry.AuxHeaterFuel.FuelType.ToXMLFormat()), - tmp?.FuelConsumptionEntries(entry.ZEV_FuelConsumption_AuxHtr, entry.AuxHeaterFuel, entry.Distance, + tmp?.GetFuelConsumptionEntries(entry.ZEV_FuelConsumption_AuxHtr, entry.AuxHeaterFuel, entry.Distance, entry.Payload, entry.CargoVolume, entry.PassengerCount).Select(x => new XElement(TNS + XMLNames.Report_Results_FuelConsumption, x.ValueAsUnit(3, 1))) ), - new XElement(TNS + "CO2_ZEV_AuxHeater", + new XElement(TNS + XMLNames.Report_ResultEntry_CO2ZEVAuxHeater, GetCO2ResultEntries(entry.ZEV_CO2, entry.Distance, entry.Payload, entry.CargoVolume, entry.PassengerCount).Select(x => new XElement(TNS + XMLNames.Report_Results_CO2, x.ValueAsUnit(3, 1))) diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ElectricEnergyWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ElectricEnergyWriter.cs index 4113d601ca8a543445601b48267e2d81e646101c..5b423bf01249426f105666c735682a851cf9bd5e 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ElectricEnergyWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ElectricEnergyWriter.cs @@ -3,8 +3,6 @@ using System.Linq; using System.Xml.Linq; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9. - ResultWriter; using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common @@ -40,7 +38,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common #endregion - protected virtual string ElectricEnergyConsumptionXMLElementName => "ElectricEnergy"; + protected virtual string ElectricEnergyConsumptionXMLElementName => XMLNames.Report_ResultEntry_ElectricEnergyConsumption; } public class LorryElectricEnergyConsumptionWriter : ElectricEnergyConsumptionWriterBase diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/FuelConsumptionWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/FuelConsumptionWriter.cs index 547beae36e403bec6abc56b24190f0e41f989cfd..18a02b179faf4f7e36ff182844d1d41f9e0ab755 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/FuelConsumptionWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/FuelConsumptionWriter.cs @@ -35,7 +35,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common #endregion - protected abstract IList<ConvertedSI> GetFuelConsumptionEntries(Kilogram fc, + public abstract IList<ConvertedSI> GetFuelConsumptionEntries(Kilogram fc, IFuelProperties fuel, Meter distance, Kilogram payload, CubicMeter volume, double? passenger); @@ -48,7 +48,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common #region Overrides of FuelConsumptionWriterBase - protected override IList<ConvertedSI> GetFuelConsumptionEntries(Kilogram fc, IFuelProperties fuel, Meter distance, Kilogram payload, CubicMeter volume, double? passenger) + public override IList<ConvertedSI> GetFuelConsumptionEntries(Kilogram fc, IFuelProperties fuel, Meter distance, Kilogram payload, CubicMeter volume, double? passenger) { var retVal = new List<ConvertedSI> { (fc / distance).ConvertToGrammPerKiloMeter(), @@ -81,7 +81,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common #region Overrides of FuelConsumptionWriterBase - protected override IList<ConvertedSI> GetFuelConsumptionEntries(Kilogram fc, IFuelProperties fuel, + public override IList<ConvertedSI> GetFuelConsumptionEntries(Kilogram fc, IFuelProperties fuel, Meter distance, Kilogram payload, CubicMeter volume, double? passenger) { var retVal = new List<ConvertedSI> { @@ -105,11 +105,6 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common #endregion - public virtual IList<ConvertedSI> FuelConsumptionEntries(Kilogram fc, IFuelProperties fuel, Meter distance, - Kilogram payload, CubicMeter volume, double? passenger) - { - return GetFuelConsumptionEntries(fc, fuel, distance, payload, volume, passenger); - } } } \ No newline at end of file diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/IResultsWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/IResultsWriter.cs index 8c1be5c413be6d4bc9592b0759202fcd9bd98eac..5d1d7668b81c2c7b5550dc4e188e4d5a2d097ad8 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/IResultsWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/IResultsWriter.cs @@ -14,61 +14,6 @@ using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common { - public interface IResultsWriter - { - XElement GenerateResults(List<IResultEntry> results); - } - - public interface IResultGroupWriter - { - XElement GetElement(IResultEntry entry); - - XElement GetElement(IOVCResultEntry entry); - } - - public interface IResultSequenceWriter - { - XElement[] GetElement(IResultEntry entry); - - XElement[] GetElement(IOVCResultEntry entry); - } - - public interface IFuelConsumptionWriter - { - XElement GetElement(IResultEntry entry, IFuelConsumptionCorrection fuelConsumptionCorrection); - XElement GetElement(IWeightedResult entry, IFuelProperties fuel, Kilogram consumption); - - } - - public interface IElectricEnergyConsumptionWriter - { - XElement GetElement(IResultEntry entry); - - XElement GetElement(IWeightedResult weighted); - } - - public interface ICO2Writer - { - XElement[] GetElements(IResultEntry entry); - - XElement[] GetElements(IWeightedResult entry); - } - - public interface IReportResultsSummaryWriter - { - XElement GetElement(IList<IResultEntry> entries); - - XElement GetElement(IList<IOVCResultEntry> entries); - } - - public interface IElectricRangeWriter - { - XElement[] GetElements(IResultEntry weightedResult); - - XElement[] GetElements(IWeightedResult weightedResult); - - } - public interface ICommonResultsWriterFactory { @@ -140,6 +85,62 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common IResultSequenceWriter GetErrorDetailsWriter(ICommonResultsWriterFactory factory, XNamespace ns); } + public interface IResultsWriter + { + XElement GenerateResults(List<IResultEntry> results); + } + public interface IResultGroupWriter + { + XElement GetElement(IResultEntry entry); + + XElement GetElement(IOVCResultEntry entry); + } + + public interface IResultSequenceWriter + { + XElement[] GetElement(IResultEntry entry); + + XElement[] GetElement(IOVCResultEntry entry); + } + + public interface IFuelConsumptionWriter + { + XElement GetElement(IResultEntry entry, IFuelConsumptionCorrection fuelConsumptionCorrection); + XElement GetElement(IWeightedResult entry, IFuelProperties fuel, Kilogram consumption); + + IList<ConvertedSI> GetFuelConsumptionEntries(Kilogram fc, + IFuelProperties fuel, Meter distance, Kilogram payload, CubicMeter volume, + double? passenger); + } + + public interface IElectricEnergyConsumptionWriter + { + XElement GetElement(IResultEntry entry); + + XElement GetElement(IWeightedResult weighted); + } + + public interface ICO2Writer + { + XElement[] GetElements(IResultEntry entry); + + XElement[] GetElements(IWeightedResult entry); + } + + public interface IReportResultsSummaryWriter + { + XElement GetElement(IList<IResultEntry> entries); + + XElement GetElement(IList<IOVCResultEntry> entries); + } + + public interface IElectricRangeWriter + { + XElement[] GetElements(IResultEntry weightedResult); + + XElement[] GetElements(IWeightedResult weightedResult); + + } } \ No newline at end of file diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultGroupWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultGroupWriter.cs index 18703255bc68f56aaa31a3b53ac83cdf6562a04e..7db381a1f79fca3fdc9f881e7c35d7efa4415818 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultGroupWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultGroupWriter.cs @@ -94,11 +94,11 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common public XElement[] GetElements(IResultEntry result) { return new[] { - new XElement(TNS + "ActualChargeDepletingRange", + new XElement(TNS + XMLNames.Report_ResultEntry_ActualChargeDepletingRange, XMLHelper.ValueAsUnit(result.ActualChargeDepletingRange.ConvertToKiloMeter())), - new XElement(TNS + "EquivalentAllElectricRange", + new XElement(TNS + XMLNames.Report_ResultEntry_EquivalentAllElectricRange, XMLHelper.ValueAsUnit(result.EquivalentAllElectricRange.ConvertToKiloMeter())), - new XElement(TNS + "ZeroCO2EmissionsRange", + new XElement(TNS + XMLNames.Report_ResultEntry_ZeroCO2EmissionsRange, XMLHelper.ValueAsUnit(result.ZeroCO2EmissionsRange.ConvertToKiloMeter())), }; } @@ -106,11 +106,11 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common public XElement[] GetElements(IWeightedResult weightedResult) { return new[] { - new XElement(TNS + "ActualChargeDepletingRange", + new XElement(TNS + XMLNames.Report_ResultEntry_ActualChargeDepletingRange, XMLHelper.ValueAsUnit(weightedResult.ActualChargeDepletingRange.ConvertToKiloMeter())), - new XElement(TNS + "EquivalentAllElectricRange", + new XElement(TNS + XMLNames.Report_ResultEntry_EquivalentAllElectricRange, XMLHelper.ValueAsUnit(weightedResult.EquivalentAllElectricRange.ConvertToKiloMeter())), - new XElement(TNS + "ZeroCO2EmissionsRange", + new XElement(TNS + XMLNames.Report_ResultEntry_ZeroCO2EmissionsRange, XMLHelper.ValueAsUnit(weightedResult.ZeroCO2EmissionsRange.ConvertToKiloMeter())), }; } @@ -132,8 +132,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common } return new XElement(TNS + XMLNames.Report_Result_Result, - new XAttribute(XMLNames.Report_Result_Status_Attr, "error"), - ResultXMLType != null ? new XAttribute(xsi + "type", ResultXMLType) : null, + new XAttribute(XMLNames.Report_Result_Status_Attr, XMLNames.Report_Results_Status_Error_Val), + ResultXMLType != null ? new XAttribute(xsi + XMLNames.XSIType, ResultXMLType) : null, _factory.GetErrorMissionWriter(_factory, TNS).GetElement(entry), _factory.GetErrorSimulationParameterWriter(_factory, TNS).GetElement(entry), _factory.GetErrorDetailsWriter(_factory, TNS).GetElement(entry) @@ -147,8 +147,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common throw new Exception("At least one entry needs to be unsuccessful!"); } return new XElement(TNS + XMLNames.Report_Result_Result, - new XAttribute(XMLNames.Report_Result_Status_Attr, "error"), - ResultXMLType != null ? new XAttribute(xsi + "type", ResultXMLType) : null, + new XAttribute(XMLNames.Report_Result_Status_Attr, XMLNames.Report_Results_Status_Error_Val), + ResultXMLType != null ? new XAttribute(xsi + XMLNames.XSIType, ResultXMLType) : null, _factory.GetErrorMissionWriter(_factory, TNS).GetElement(errorEntry), _factory.GetErrorSimulationParameterWriter(_factory, TNS).GetElement(errorEntry), _factory.GetErrorDetailsWriter(_factory, TNS).GetElement(errorEntry) diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultTotalWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultTotalWriter.cs index bf500fc92f1580bb2594088786b49c6ebc7cfe59..aff066ceb4ec251e63c6f71d83c66eb26ffcf077 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultTotalWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultTotalWriter.cs @@ -16,10 +16,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common public override XElement GetElement(IResultEntry entry) { - return new XElement(TNS + "Total", + return new XElement(TNS + XMLNames.Report_ResultEntry_Total, VehiclePerformanceWriter.GetElement(entry), - //new XElement(TNS + XMLNames.Report_ResultEntry_AverageSpeed, - // XMLHelper.ValueAsUnit(entry.AverageSpeed, "km/h", 1)), entry.FuelData.Select(f => FuelConsumptionWriter?.GetElement(entry, entry.FuelConsumptionFinal(f.FuelType))), ElectricEnergyConsumptionWriter?.GetElement(entry), @@ -116,10 +114,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common public override XElement GetElement(IOVCResultEntry entry) { var total = entry.Weighted; - return new XElement(TNS + "Total", + return new XElement(TNS + XMLNames.Report_ResultEntry_Total, _factory.GetVehiclePerformanceBus(_factory, TNS).GetElement(entry), - //new XElement(TNS + XMLNames.Report_ResultEntry_AverageSpeed, - // XMLHelper.ValueAsUnit(total.AverageSpeed, "km/h", 1)), GetFuelConsumption(entry), GetElectricConsumption(entry), GetCO2(entry), diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultWriter.cs index 33281309f504030a9a8b7df1256902a8c2b94c6a..76e6015cee89d6341829f5136c200d0e7e9931d6 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultWriter.cs @@ -2,7 +2,6 @@ using System.Linq; using System.Xml.Linq; using TUGraz.VectoCommon.Resources; -using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9.ResultWriter; namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common { @@ -32,8 +31,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common public override XElement GetElement(IResultEntry entry) { return new XElement(TNS + XMLNames.Report_Result_Result, - new XAttribute(XMLNames.Report_Result_Status_Attr, "success"), - new XAttribute(xsi + "type", ResultXMLType), + new XAttribute(XMLNames.Report_Result_Status_Attr, XMLNames.Report_Results_Status_Success_Val), + new XAttribute(xsi + XMLNames.XSIType, ResultXMLType), _factory.GetSuccessMissionWriter(_factory, TNS).GetElement(entry), SimulationParameterWriter.GetElement(entry), ResultTotalWriter.GetElement(entry) @@ -98,8 +97,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common public override XElement GetElement(IOVCResultEntry entry) { return new XElement(TNS + XMLNames.Report_Result_Result, - new XAttribute(XMLNames.Report_Result_Status_Attr, "success"), - new XAttribute(xsi + "type", "ResultSuccessOVCHEVType"), + new XAttribute(XMLNames.Report_Result_Status_Attr, XMLNames.Report_Results_Status_Success_Val), + new XAttribute(xsi + XMLNames.XSIType, ResultXMLType), _factory.GetSuccessMissionWriter(_factory, TNS).GetElement(entry.ChargeDepletingResult), _factory.GetLorrySimulationParameterWriter(_factory, TNS).GetElement(entry.ChargeDepletingResult), _factory.GetLorryHEVOVCResultWriterChargeDepleting(_factory, TNS).GetElement(entry.ChargeDepletingResult), @@ -109,6 +108,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common } #endregion + + protected virtual string ResultXMLType => "ResultSuccessOVCHEVType"; } public class LorryHEVOVCChargeDepletingWriter : AbstractResultGroupWriter @@ -119,10 +120,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common public override XElement GetElement(IResultEntry entry) { - return new XElement(TNS + "OVCMode", - new XAttribute("type", "charge depleting"), + return new XElement(TNS + XMLNames.Report_Results_OVCMode, + new XAttribute(XMLNames.Results_Report_OVCModeAttr, XMLNames.Results_Report_OVCModeAttr_ChargeDepleting), _factory.GetVehiclePerformanceLorry(_factory, TNS).GetElement(entry), - //new XElement(TNS + XMLNames.Report_ResultEntry_AverageSpeed, XMLHelper.ValueAsUnit(entry.AverageSpeed, XMLNames.Unit_kmph, 1)), entry.FuelData.Select(f => _factory.GetFuelConsumptionLorry(_factory, TNS).GetElement(entry, entry.FuelConsumptionFinal(f.FuelType))), _factory.GetElectricEnergyConsumptionLorry(_factory, TNS).GetElement(entry), @@ -142,10 +142,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common public override XElement GetElement(IResultEntry entry) { - return new XElement(TNS + "OVCMode", - new XAttribute("type", "charge depleting"), + return new XElement(TNS + XMLNames.Report_Results_OVCMode, + new XAttribute(XMLNames.Results_Report_OVCModeAttr, XMLNames.Results_Report_OVCModeAttr_ChargeDepleting), _factory.GetVehiclePerformanceLorry(_factory, TNS).GetElement(entry), - //new XElement(TNS + XMLNames.Report_ResultEntry_AverageSpeed, XMLHelper.ValueAsUnit(entry.AverageSpeed, XMLNames.Unit_kmph, 1)), entry.FuelData.Select(f => _factory.GetFuelConsumptionLorry(_factory, TNS).GetElement(entry, entry.FuelConsumptionFinal(f.FuelType))), _factory.GetCO2ResultLorry(_factory, TNS).GetElements(entry) @@ -214,8 +213,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common public override XElement GetElement(IOVCResultEntry entry) { return new XElement(TNS + XMLNames.Report_Result_Result, - new XAttribute(XMLNames.Report_Result_Status_Attr, "success"), - new XAttribute(xsi + "type", "ResultSuccessOVCHEVType"), + new XAttribute(XMLNames.Report_Result_Status_Attr, XMLNames.Report_Results_Status_Success_Val), + new XAttribute(xsi + XMLNames.XSIType, ResultXMLType), _factory.GetSuccessMissionWriter(_factory, TNS).GetElement(entry.ChargeDepletingResult), _factory.GetBusSimulationParameterWriter(_factory, TNS).GetElement(entry.ChargeDepletingResult), _factory.GetBusHEVOVCResultWriterChargeDepleting(_factory, TNS).GetElement(entry.ChargeDepletingResult), @@ -226,6 +225,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common #endregion + protected virtual string ResultXMLType => "ResultSuccessOVCHEVType"; } public class BusOVCChargeDepletingWriter : AbstractResultGroupWriter @@ -236,10 +236,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common public override XElement GetElement(IResultEntry entry) { - return new XElement(TNS + "OVCMode", - new XAttribute("type", "charge depleting"), + return new XElement(TNS + XMLNames.Report_Results_OVCMode, + new XAttribute(XMLNames.Results_Report_OVCModeAttr, XMLNames.Results_Report_OVCModeAttr_ChargeDepleting), _factory.GetVehiclePerformanceBus(_factory, TNS).GetElement(entry), - //new XElement(TNS + XMLNames.Report_ResultEntry_AverageSpeed, XMLHelper.ValueAsUnit(entry.AverageSpeed, XMLNames.Unit_kmph, 1)), entry.FuelData.Select(f => _factory.GetFuelConsumptionBus(_factory, TNS).GetElement(entry, entry.FuelConsumptionFinal(f.FuelType))), _factory.GetElectricEnergyConsumptionBus(_factory, TNS).GetElement(entry), @@ -257,8 +256,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common public override XElement GetElement(IResultEntry entry) { - return new XElement(TNS + "OVCMode", - new XAttribute("type", "charge depleting"), + return new XElement(TNS + XMLNames.Report_Results_OVCMode, + new XAttribute(XMLNames.Results_Report_OVCModeAttr, XMLNames.Results_Report_OVCModeAttr_ChargeDepleting), _factory.GetVehiclePerformanceBus(_factory, TNS).GetElement(entry), //new XElement(TNS + XMLNames.Report_ResultEntry_AverageSpeed, XMLHelper.ValueAsUnit(entry.AverageSpeed, XMLNames.Unit_kmph, 1)), entry.FuelData.Select(f => diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/ResultWriter/CIFResultWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/ResultWriter/CIFResultWriter.cs index 1999806dd7eb403b19faec986276424637fd8fc6..ef734e12be800eb9fe6ac5308287f7ef78c6e44a 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/ResultWriter/CIFResultWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/ResultWriter/CIFResultWriter.cs @@ -63,8 +63,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation { var ordered = GetOrderedResultsOVC(results); var allSuccess = results.All(x => x.Status == VectoRun.Status.Success); - return new XElement(TNS + "Results", - new XElement(TNS + XMLNames.Report_Result_Status, allSuccess ? "success" : "error"), + return new XElement(TNS + XMLNames.Report_Results, + new XElement(TNS + XMLNames.Report_Result_Status, + allSuccess ? XMLNames.Report_Results_Status_Success_Val : XMLNames.Report_Results_Status_Error_Val), ordered.Select(x => x.ChargeDepletingResult.Status == VectoRun.Status.Success && x.ChargeSustainingResult.Status == VectoRun.Status.Success @@ -121,8 +122,11 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation { var ordered = GetOrderedResultsOVC(results); var allSuccess = results.All(x => x.Status == VectoRun.Status.Success); - return new XElement(TNS + "Results", - new XElement(TNS + XMLNames.Report_Result_Status, allSuccess ? "success" : "error"), + return new XElement(TNS + XMLNames.Report_Results, + new XElement(TNS + XMLNames.Report_Result_Status, + allSuccess + ? XMLNames.Report_Results_Status_Success_Val + : XMLNames.Report_Results_Status_Error_Val), ordered.Select(x => x.ChargeDepletingResult.Status == VectoRun.Status.Success && x.ChargeSustainingResult.Status == VectoRun.Status.Success @@ -156,9 +160,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation public override XElement GenerateResults(List<IResultEntry> results) { - return new XElement(TNS + "Results", - new XElement(TNS + "Status", "success"), - new XElement(TNS + "ExemptedVehicle")); + return new XElement(TNS + XMLNames.Report_Results, + new XElement(TNS + XMLNames.Report_Result_Status, XMLNames.Report_Results_Status_Success_Val), + new XElement(TNS + XMLNames.Report_ExemptedVehicle)); } protected override IResultGroupWriter ResultSuccessWriter => null; diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/AbstractManufacturerReport.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/AbstractManufacturerReport.cs index 6e9db8bad102e144884ff5bc6843d83abfbecfd6..52645148c53ade06cdca25ab9aee059d787e574b 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/AbstractManufacturerReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/AbstractManufacturerReport.cs @@ -45,7 +45,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport. // MQ: write dummy result element for testcases (2022-07-13) Results = new XElement(Mrf_0_9 + "Results", - new XElement(Mrf_0_9 + "Status", "success"), + new XElement(Mrf_0_9 + "Status", XMLNames.Report_Results_Status_Success_Val), new XElement(Mrf_0_9 + "ExemptedVehicle")); } 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 ae257725604459945b716df2b5a0dd4061dba618..cc9f7cdd1d24584baeb6f0c746cca339bd8e4951 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 @@ -7,6 +7,7 @@ using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common; using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9.ResultWriter; +using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ResultWriter; using TUGraz.VectoCore.Utils; using TUGraz.VectoCore.Utils.Ninject; diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ResultWriter/MRFResultsWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ResultWriter/MRFResultsWriter.cs index 448129a2ffcd12f46a6d58dda06310ba2cc7ddfd..bb062af0533869d4eb8a5f9d23dd55c95f2a2f35 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ResultWriter/MRFResultsWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ResultWriter/MRFResultsWriter.cs @@ -1,11 +1,7 @@ using System.Collections.Generic; using System.Linq; using System.Xml.Linq; -using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.Resources; -using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.Models.Declaration; -using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.Simulation.Impl; using TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common; @@ -62,8 +58,11 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation { var ordered = GetOrderedResultsOVC(results); var allSuccess = results.All(x => x.Status == VectoRun.Status.Success); - return new XElement(TNS + "Results", - new XElement(TNS + XMLNames.Report_Result_Status, allSuccess ? "success" : "error"), + return new XElement(TNS + XMLNames.Report_Results, + new XElement(TNS + XMLNames.Report_Result_Status, + allSuccess + ? XMLNames.Report_Results_Status_Success_Val + : XMLNames.Report_Results_Status_Error_Val), ordered.Select(x => x.ChargeDepletingResult.Status == VectoRun.Status.Success && x.ChargeSustainingResult.Status == VectoRun.Status.Success @@ -120,8 +119,11 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation { var ordered = GetOrderedResultsOVC(results); var allSuccess = results.All(x => x.Status == VectoRun.Status.Success); - return new XElement(TNS + "Results", - new XElement(TNS + XMLNames.Report_Result_Status, allSuccess ? "success" : "error"), + return new XElement(TNS + XMLNames.Report_Results, + new XElement(TNS + XMLNames.Report_Result_Status, + allSuccess + ? XMLNames.Report_Results_Status_Success_Val + : XMLNames.Report_Results_Status_Error_Val), ordered.Select(x => x.ChargeDepletingResult.Status == VectoRun.Status.Success && x.ChargeSustainingResult.Status == VectoRun.Status.Success @@ -155,9 +157,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation public override XElement GenerateResults(List<IResultEntry> results) { - return new XElement(TNS + "Results", - new XElement(TNS + "Status", "success"), - new XElement(TNS + "ExemptedVehicle")); + return new XElement(TNS + XMLNames.Report_Results, + new XElement(TNS + XMLNames.Report_Result_Status, XMLNames.Report_Results_Status_Success_Val), + new XElement(TNS + XMLNames.Report_ExemptedVehicle)); } protected override IResultGroupWriter ResultSuccessWriter => null; diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ResultWriter/ResultGroupWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ResultWriter/ResultGroupWriter.cs index e41c405a0dc1dbb83bfeda6f63fce092b4b66949..fc5c1821fba6addb217174d98ce72522800540e5 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ResultWriter/ResultGroupWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ResultWriter/ResultGroupWriter.cs @@ -7,11 +7,10 @@ using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common; using TUGraz.VectoCore.Utils; -namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9. +namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9. ResultWriter { - public class MRFResultSuccessMissionWriter : AbstractResultWriter, IResultSequenceWriter { public MRFResultSuccessMissionWriter(ICommonResultsWriterFactory factory, XNamespace ns) : base(factory, ns) { } diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ResultWriter/SummaryWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ResultWriter/SummaryWriter.cs index d7b06a50b0ab641e4b91ff1e2c7010a2c8ba375c..af3ef5822aa22c36d479a1b3177d52981c654258 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ResultWriter/SummaryWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ResultWriter/SummaryWriter.cs @@ -2,7 +2,7 @@ using System.Xml.Linq; using TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common; -namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9.ResultWriter +namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ResultWriter { public class NoSummaryWriter : IReportResultsSummaryWriter { diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VTPReport/XMLVTPReport.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VTPReport/XMLVTPReport.cs index 3473a569cd3935a67a85bd61973b5d4080700539..2a71aeeeba499abf6164fe939d24dac2396c47ea 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VTPReport/XMLVTPReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VTPReport/XMLVTPReport.cs @@ -410,7 +410,7 @@ namespace TUGraz.VectoCore.OutputData.XML var manufacturerReportIntegrity = ManufacturerReportIntegrityChecks(ref allSuccess); DataIntegrityPart.Add( - new XAttribute("status", allSuccess ? "success" : "failed"), + new XAttribute("status", allSuccess ? XMLNames.Report_Results_Status_Success_Val : "failed"), new XElement( tns + "Components", componentChecks.ToArray() @@ -453,7 +453,7 @@ namespace TUGraz.VectoCore.OutputData.XML retVal = new XElement( tns + "Component", new XAttribute("componentName", componentName), - new XAttribute("status", status ? "success" : "failed"), + new XAttribute("status", status ? XMLNames.Report_Results_Status_Success_Val : "failed"), new XElement(tns + "DigestValueRecomputed", recomputed), new XElement( tns + "DigestValueRead", @@ -488,7 +488,7 @@ namespace TUGraz.VectoCore.OutputData.XML mrStatus = ManufacturerRecordHash.ValidateHash(); manufacturerReportIntegrity = new XElement( tns + "ManufacturerReport", - new XAttribute("status", mrStatus ? "success" : "failed"), + new XAttribute("status", mrStatus ? XMLNames.Report_Results_Status_Success_Val : "failed"), new XElement(tns + "DigestValueRecomputed", mrHashRecomputed), new XElement( tns + "DigestValueRead", @@ -519,7 +519,7 @@ namespace TUGraz.VectoCore.OutputData.XML jobStatus = string.Equals(jobHashRecomputed, jobHashRead); jobIntegrity = new XElement( tns + "JobData", - new XAttribute("status", jobStatus ? "success" : "failed"), + new XAttribute("status", jobStatus ? XMLNames.Report_Results_Status_Success_Val : "failed"), new XElement( tns + "DigestValueRecomputed", jobHashRecomputed), diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/AbstractVehicleInformationFile.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/AbstractVehicleInformationFile.cs index 74795ccb277c9ce261505bf48c87aab34cd52d02..5edf03fbbca1f5cec79f1bb216e90e4fb26535a4 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/AbstractVehicleInformationFile.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/AbstractVehicleInformationFile.cs @@ -55,7 +55,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF InitializeVehicleData(modelData.InputData); // TODO MQ: write dummy result element for testcases (2022-12-02), remove once result writing is implemented Results = new XElement(VIF + XMLNames.Report_Results, - new XElement(VIF + "Status", "success"), + new XElement(VIF + "Status", XMLNames.Report_Results_Status_Success_Val), new XElement(VIF + "ExemptedVehicle")); InputDataIntegrity = new XElement(VIF + XMLNames.Report_InputDataSignature, modelData.InputDataHash == null ? XMLHelper.CreateDummySig(_di) : new XElement(modelData.InputDataHash)); diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/ResultWriter/ResultGroupWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/ResultWriter/ResultGroupWriter.cs index 84275be7feb6b724e209ef859f218fe2b64a8519..fe3a19b358223c849be145abe9cbe743ceb297fd 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/ResultWriter/ResultGroupWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/ResultWriter/ResultGroupWriter.cs @@ -136,7 +136,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF #endregion - protected virtual IList<ConvertedSI> GetFuelConsumptionEntries(Kilogram fc, IFuelProperties fuel, + public virtual IList<ConvertedSI> GetFuelConsumptionEntries(Kilogram fc, IFuelProperties fuel, Meter distance, Kilogram payload, CubicMeter volume, double? passenger) { return new List<ConvertedSI> { @@ -152,7 +152,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF #region Overrides of ElectricEnergyConsumptionWriterBase - protected override string ElectricEnergyConsumptionXMLElementName => "ElectricEnergyConsumption"; + protected override string ElectricEnergyConsumptionXMLElementName => XMLNames.Report_ResultEntry_VIF_ElectricEnergyConsumption; protected override IList<ConvertedSI> GetEnergyConsumption(WattSecond elEnergy, Meter distance, diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/ResultWriter/ResultWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/ResultWriter/ResultWriter.cs index a18a13594a5a1fab2a42fa52dee0dcf7f0e19b3c..173e7f1160641e0a18ef94c0832f4a7f70b8bcc3 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/ResultWriter/ResultWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/ResultWriter/ResultWriter.cs @@ -17,7 +17,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF public override XElement GetElement(IResultEntry entry) { return new XElement(TNS + XMLNames.Report_Result_Result, - new XAttribute(XMLNames.Report_Result_Status_Attr, "success"), + new XAttribute(XMLNames.Report_Result_Status_Attr, XMLNames.Report_Results_Status_Success_Val), //new XAttribute(xsi + "type", ResultXMLType), _factory.GetSuccessMissionWriter(_factory, TNS).GetElement(entry), SimulationParameterWriter.GetElement(entry), @@ -92,7 +92,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF public override XElement GetElement(IOVCResultEntry entry) { return new XElement(TNS + XMLNames.Report_Result_Result, - new XAttribute(XMLNames.Report_Result_Status_Attr, "success"), + new XAttribute(XMLNames.Report_Result_Status_Attr, XMLNames.Report_Results_Status_Success_Val), _factory.GetSuccessMissionWriter(_factory, TNS).GetElement(entry.ChargeDepletingResult), _factory.GetBusSimulationParameterWriter(_factory, TNS).GetElement(entry.ChargeDepletingResult), _factory.GetBusHEVOVCResultWriterChargeDepleting(_factory, TNS).GetElement(entry.ChargeDepletingResult), @@ -110,8 +110,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF public override XElement GetElement(IResultEntry entry) { - return new XElement(TNS + "OVCMode", - new XAttribute("type", OVCMode), + return new XElement(TNS + XMLNames.Report_Results_OVCMode, + new XAttribute(XMLNames.Results_Report_OVCModeAttr, OVCMode), entry.FuelData.Select(f => _factory.GetFuelConsumptionBus(_factory, TNS).GetElement(entry, entry.FuelConsumptionFinal(f.FuelType))), _factory.GetElectricEnergyConsumptionBus(_factory, TNS).GetElement(entry) @@ -127,7 +127,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF #region Overrides of VIFOVCCModeWriter - public override string OVCMode => "charge depleting"; + public override string OVCMode => XMLNames.Results_Report_OVCModeAttr_ChargeDepleting; #endregion } @@ -138,7 +138,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF #region Overrides of VIFOVCCModeWriter - public override string OVCMode => "charge sustaining"; + public override string OVCMode => XMLNames.Results_Report_OVCModeAttr_ChargeDepleting; #endregion } diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/ResultWriter/VIFResultsWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/ResultWriter/VIFResultsWriter.cs index c6ff97b8aae260abf23abf46497066cd89d0b4cb..8333e19b16ede084fe38ac96e113cad365b0d0ae 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/ResultWriter/VIFResultsWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/ResultWriter/VIFResultsWriter.cs @@ -50,8 +50,11 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF { var ordered = GetOrderedResultsOVC(results); var allSuccess = results.All(x => x.Status == VectoRun.Status.Success); - return new XElement(TNS + "Results", - new XElement(TNS + XMLNames.Report_Result_Status, allSuccess ? "success" : "error"), + return new XElement(TNS + XMLNames.Report_Results, + new XElement(TNS + XMLNames.Report_Result_Status, + allSuccess + ? XMLNames.Report_Results_Status_Success_Val + : XMLNames.Report_Results_Status_Error_Val), ordered.Select(x => x.ChargeDepletingResult.Status == VectoRun.Status.Success && x.ChargeSustainingResult.Status == VectoRun.Status.Success @@ -86,7 +89,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF public override XElement GenerateResults(List<IResultEntry> results) { return new XElement(TNS + "Results", - new XElement(TNS + "Status", "success"), + new XElement(TNS + "Status", XMLNames.Report_Results_Status_Success_Val), new XElement(TNS + "ExemptedVehicle")); } diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFResultsNinjectModule.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFResultsNinjectModule.cs index deaa694af58fd97637236c05a27713e95241f0d8..9ff32e359008eeb1fd9262132dca6fbf4cc87159 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFResultsNinjectModule.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFResultsNinjectModule.cs @@ -6,6 +6,7 @@ using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common; using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9.ResultWriter; +using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ResultWriter; using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile.VehicleInformationFile_0_1.ResultWriter; using TUGraz.VectoCore.Utils; using TUGraz.VectoCore.Utils.Ninject;