From da3e090e59b8755e688c68c62267b6eaaa4fcb47 Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Wed, 13 Dec 2017 10:54:57 +0100
Subject: [PATCH] read in digest value

---
 .../XMLDeclarationEngineDataProvider.cs       | 186 +++++++++---------
 .../XMLDeclarationVehicleDataProvider.cs      |   4 +-
 .../DeclarationDataAdapter.cs                 |   3 +-
 3 files changed, 98 insertions(+), 95 deletions(-)

diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/XMLDeclarationEngineDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/XMLDeclarationEngineDataProvider.cs
index fecfe57994..7c48145fe1 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/XMLDeclarationEngineDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/XMLDeclarationEngineDataProvider.cs
@@ -29,100 +29,100 @@
 *   Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology
 */
 
-using TUGraz.IVT.VectoXML;
-using TUGraz.VectoCommon.InputData;
-using TUGraz.VectoCommon.Models;
-using TUGraz.VectoCommon.Resources;
-using TUGraz.VectoCommon.Utils;
-
-namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration
-{
-	public class XMLDeclarationEngineDataProvider : AbstractDeclarationXMLComponentDataProvider,
-		IEngineDeclarationInputData
-	{
-		public XMLDeclarationEngineDataProvider(XMLDeclarationInputDataProvider xmlInputDataProvider)
-			: base(xmlInputDataProvider)
-		{
-			XBasePath = Helper.Query(VehiclePath,
-				XMLNames.Vehicle_Components,
-				XMLNames.Component_Engine,
-				XMLNames.ComponentDataWrapper);
-		}
-
+using TUGraz.IVT.VectoXML;
+using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCommon.Models;
+using TUGraz.VectoCommon.Resources;
+using TUGraz.VectoCommon.Utils;
+
+namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration
+{
+	public class XMLDeclarationEngineDataProvider : AbstractDeclarationXMLComponentDataProvider,
+		IEngineDeclarationInputData
+	{
+		public XMLDeclarationEngineDataProvider(XMLDeclarationInputDataProvider xmlInputDataProvider)
+			: base(xmlInputDataProvider)
+		{
+			XBasePath = Helper.Query(VehiclePath,
+				XMLNames.Vehicle_Components,
+				XMLNames.Component_Engine,
+				XMLNames.ComponentDataWrapper);
+		}
+
 		public CubicMeter Displacement
 		{
 		    get { return GetDoubleElementValue(XMLNames.Engine_Displacement).SI(Unit.SI.Cubic.Centi.Meter).Cast<CubicMeter>(); }
-		}
-
-		public PerSecond IdleSpeed
-		{
-			get { return GetDoubleElementValue(XMLNames.Engine_IdlingSpeed).RPMtoRad(); }
-		}
-
-		public FuelType FuelType
-		{
-			get { return GetElementValue(XMLNames.Engine_FuelType).ParseEnum<FuelType>(); }
-		}
-
-		public TableData FuelConsumptionMap
-		{
-			get {
-				return ReadTableData(AttributeMappings.FuelConsumptionMapMapping,
-					Helper.Query(XMLNames.Engine_FuelConsumptionMap, XMLNames.Engine_FuelConsumptionMap_Entry));
-			}
-		}
-
-		public TableData FullLoadCurve
-		{
-			get {
-				return ReadTableData(AttributeMappings.EngineFullLoadCurveMapping,
-					Helper.Query(XMLNames.Engine_FullLoadAndDragCurve, XMLNames.Engine_FullLoadCurve_Entry));
-			}
-		}
-
-		public Watt RatedPowerDeclared
-		{
-			get { return GetDoubleElementValue(XMLNames.Engine_RatedPower).SI<Watt>(); }
-		}
-
-		public PerSecond RatedSpeedDeclared
-		{
-			get { return GetDoubleElementValue(XMLNames.Engine_RatedSpeed).RPMtoRad(); }
-		}
-
-		public NewtonMeter MaxTorqueDeclared
-		{
-			get { return GetDoubleElementValue(XMLNames.Engine_MaxTorque).SI<NewtonMeter>(); }
-		}
-
-		public double WHTCMotorway
-		{
-			get { return GetDoubleElementValue(XMLNames.Engine_WHTCMotorway); }
-		}
-
-		public double WHTCRural
-		{
-			get { return GetDoubleElementValue(XMLNames.Engine_WHTCRural); }
-		}
-
-		public double WHTCUrban
-		{
-			get { return GetDoubleElementValue(XMLNames.Engine_WHTCUrban); }
-		}
-
-		public double ColdHotBalancingFactor
-		{
-			get { return GetDoubleElementValue(XMLNames.Engine_ColdHotBalancingFactor); }
-		}
-
-		public double CorrectionFactorRegPer
-		{
-			get { return GetDoubleElementValue(XMLNames.Engine_CorrectionFactor_RegPer); }
-		}
-
-		public double CorrectionFactorNCV
-		{
-			get { return GetDoubleElementValue(XMLNames.Engine_CorrecionFactor_NCV); }
-		}
-	}
+		}
+
+		public PerSecond IdleSpeed
+		{
+			get { return GetDoubleElementValue(XMLNames.Engine_IdlingSpeed).RPMtoRad(); }
+		}
+
+		public FuelType FuelType
+		{
+			get { return GetElementValue(XMLNames.Engine_FuelType).ParseEnum<FuelType>(); }
+		}
+
+		public TableData FuelConsumptionMap
+		{
+			get {
+				return ReadTableData(AttributeMappings.FuelConsumptionMapMapping,
+					Helper.Query(XMLNames.Engine_FuelConsumptionMap, XMLNames.Engine_FuelConsumptionMap_Entry));
+			}
+		}
+
+		public TableData FullLoadCurve
+		{
+			get {
+				return ReadTableData(AttributeMappings.EngineFullLoadCurveMapping,
+					Helper.Query(XMLNames.Engine_FullLoadAndDragCurve, XMLNames.Engine_FullLoadCurve_Entry));
+			}
+		}
+
+		public Watt RatedPowerDeclared
+		{
+			get { return GetDoubleElementValue(XMLNames.Engine_RatedPower).SI<Watt>(); }
+		}
+
+		public PerSecond RatedSpeedDeclared
+		{
+			get { return GetDoubleElementValue(XMLNames.Engine_RatedSpeed).RPMtoRad(); }
+		}
+
+		public NewtonMeter MaxTorqueDeclared
+		{
+			get { return GetDoubleElementValue(XMLNames.Engine_MaxTorque).SI<NewtonMeter>(); }
+		}
+
+		public double WHTCMotorway
+		{
+			get { return GetDoubleElementValue(XMLNames.Engine_WHTCMotorway); }
+		}
+
+		public double WHTCRural
+		{
+			get { return GetDoubleElementValue(XMLNames.Engine_WHTCRural); }
+		}
+
+		public double WHTCUrban
+		{
+			get { return GetDoubleElementValue(XMLNames.Engine_WHTCUrban); }
+		}
+
+		public double ColdHotBalancingFactor
+		{
+			get { return GetDoubleElementValue(XMLNames.Engine_ColdHotBalancingFactor); }
+		}
+
+		public double CorrectionFactorRegPer
+		{
+			get { return GetDoubleElementValue(XMLNames.Engine_CorrectionFactor_RegPer); }
+		}
+
+		public double CorrectionFactorNCV
+		{
+			get { return GetDoubleElementValue(XMLNames.Engine_CorrecionFactor_NCV); }
+		}
+	}
 }
\ No newline at end of file
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/XMLDeclarationVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/XMLDeclarationVehicleDataProvider.cs
index 1fadee42c3..c4a8d1c726 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/XMLDeclarationVehicleDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/XMLDeclarationVehicleDataProvider.cs
@@ -139,6 +139,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration
 					var rollResistance = tyre.SelectSingleNode(Helper.NSPrefix(XMLNames.AxleWheels_Axles_Axle_RRCDeclared), Manager);
 					var tyreTestLoad = tyre.SelectSingleNode(Helper.NSPrefix(XMLNames.AxleWheels_Axles_Axle_FzISO), Manager);
 					var certirficationNumber = tyre.SelectSingleNode(Helper.NSPrefix(XMLNames.Component_CertificationNumber), Manager);
+					var digestValue = tyre.SelectSingleNode(Helper.Query("..//*[local-name()='DigestValue']"), Manager);
 					retVal[axleNumber - 1] = new AxleInputData {
 						AxleType = axleType == null ? AxleType.VehicleNonDriven : axleType.Value.ParseEnum<AxleType>(),
 						TwinTyres = twinTyres != null && XmlConvert.ToBoolean(twinTyres.Value),
@@ -148,7 +149,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration
 							RollResistanceCoefficient = rollResistance == null ? double.NaN : rollResistance.Value.ToDouble(),
 							Dimension = dimension == null ? null : dimension.Value,
 							CertificationNumber = certirficationNumber == null ? null : certirficationNumber.Value,
-							CertificationMethod = CertificationMethod.Measured
+							CertificationMethod = CertificationMethod.Measured,
+							DigestValue = digestValue == null ? "" : digestValue.Value
 						}
 					};
 				}
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs
index f5066419c2..c5803432b4 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs
@@ -119,7 +119,8 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 					RollResistanceCoefficient = axleInput.Tyre.RollResistanceCoefficient,
 					TyreTestLoad = axleInput.Tyre.TyreTestLoad,
 					Inertia = DeclarationData.Wheels.Lookup(axleInput.Tyre.Dimension.RemoveWhitespace()).Inertia,
-					CertificationNumber = axleInput.Tyre.CertificationNumber
+					CertificationNumber = axleInput.Tyre.CertificationNumber,
+					DigestValueInput = axleInput.Tyre.DigestValue,
 				};
 				axleData.Add(axle);
 			}
-- 
GitLab