From e801ac24d76f6c971746855a5213364aa2cccbbb Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Tue, 23 Feb 2016 16:08:23 +0100
Subject: [PATCH] move retarder ratio property to vehicle input provider

---
 VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs   |  9 +++++----
 VectoCore/InputData/InputData.cs                     | 12 ++++++------
 .../AbstractSimulationDataAdapter.cs                 |  4 ++--
 .../DataObjectAdaper/DeclarationDataAdapter.cs       |  4 ++--
 .../DataObjectAdaper/EngineeringDataAdapter.cs       |  4 ++--
 .../Impl/DeclarationModeVectoRunDataFactory.cs       |  2 +-
 .../Impl/EngineeringModeVectoRunDataFactory.cs       |  2 +-
 7 files changed, 19 insertions(+), 18 deletions(-)

diff --git a/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs b/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs
index 10979f55fa..72d9385bc5 100644
--- a/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs
+++ b/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs
@@ -120,6 +120,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 			get { return ReadTableData(Body.GetEx<string>("CdCorrFile"), "CrosswindCorrection File"); }
 		}
 
+		public virtual double RetarderRatio
+		{
+			get { return Body.GetEx(JsonKeys.Vehicle_Retarder).GetEx<double>(JsonKeys.Vehicle_Retarder_Ratio); }
+		}
+
 		#endregion
 
 		#region IRetarderInputData
@@ -140,10 +145,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 			}
 		}
 
-		public virtual double Ratio
-		{
-			get { return Body.GetEx(JsonKeys.Vehicle_Retarder).GetEx<double>(JsonKeys.Vehicle_Retarder_Ratio); }
-		}
 
 		public virtual DataTable LossMap
 		{
diff --git a/VectoCore/InputData/InputData.cs b/VectoCore/InputData/InputData.cs
index 79075ce2fb..4978066701 100644
--- a/VectoCore/InputData/InputData.cs
+++ b/VectoCore/InputData/InputData.cs
@@ -146,6 +146,12 @@ namespace TUGraz.VectoCore.InputData
 		/// cf. VECTO Input Parameters.xlsx
 		/// </summary>
 		DataTable CrosswindCorrectionMap { get; }
+
+		/// <summary>
+		/// P053
+		/// cf. VECTO Input Parameters.xlsx
+		/// </summary>
+		double RetarderRatio { get; }
 	}
 
 	public interface IRetarderInputData : IComponentInputData
@@ -156,12 +162,6 @@ namespace TUGraz.VectoCore.InputData
 		/// </summary>
 		RetarderData.RetarderType Type { get; }
 
-		/// <summary>
-		/// P053
-		/// cf. VECTO Input Parameters.xlsx
-		/// </summary>
-		double Ratio { get; }
-
 		/// <summary>
 		/// P054
 		/// P057, P058
diff --git a/VectoCore/InputData/Reader/DataObjectAdaper/AbstractSimulationDataAdapter.cs b/VectoCore/InputData/Reader/DataObjectAdaper/AbstractSimulationDataAdapter.cs
index 4a95a42f7e..326e3a5c1d 100644
--- a/VectoCore/InputData/Reader/DataObjectAdaper/AbstractSimulationDataAdapter.cs
+++ b/VectoCore/InputData/Reader/DataObjectAdaper/AbstractSimulationDataAdapter.cs
@@ -58,7 +58,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdaper
 			return retVal;
 		}
 
-		internal RetarderData SetCommonRetarderData(IRetarderInputData data)
+		internal RetarderData SetCommonRetarderData(IRetarderInputData data, IVehicleInputData vehicle)
 		{
 			var retarder = new RetarderData {
 				SavedInDeclarationMode = data.SavedInDeclarationMode,
@@ -73,7 +73,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdaper
 			};
 			if (retarder.Type == RetarderData.RetarderType.Primary || retarder.Type == RetarderData.RetarderType.Secondary) {
 				retarder.LossMap = RetarderLossMap.Create(data.LossMap);
-				retarder.Ratio = data.Ratio;
+				retarder.Ratio = vehicle.RetarderRatio;
 			}
 			return retarder;
 		}
diff --git a/VectoCore/InputData/Reader/DataObjectAdaper/DeclarationDataAdapter.cs b/VectoCore/InputData/Reader/DataObjectAdaper/DeclarationDataAdapter.cs
index a1bf29ab51..9d694fb158 100644
--- a/VectoCore/InputData/Reader/DataObjectAdaper/DeclarationDataAdapter.cs
+++ b/VectoCore/InputData/Reader/DataObjectAdaper/DeclarationDataAdapter.cs
@@ -247,9 +247,9 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdaper
 			Log.Warn("{0} not in Declaration Mode!", inputData);
 		}
 
-		public RetarderData CreateRetarderData(IRetarderInputData retarder)
+		public RetarderData CreateRetarderData(IRetarderInputData retarder, IVehicleInputData vehicle)
 		{
-			return SetCommonRetarderData(retarder);
+			return SetCommonRetarderData(retarder, vehicle);
 		}
 
 
diff --git a/VectoCore/InputData/Reader/DataObjectAdaper/EngineeringDataAdapter.cs b/VectoCore/InputData/Reader/DataObjectAdaper/EngineeringDataAdapter.cs
index 2c88dfb169..501153e4c4 100644
--- a/VectoCore/InputData/Reader/DataObjectAdaper/EngineeringDataAdapter.cs
+++ b/VectoCore/InputData/Reader/DataObjectAdaper/EngineeringDataAdapter.cs
@@ -197,9 +197,9 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdaper
 		}
 
 		//=================================
-		public RetarderData CreateRetarderData(IRetarderInputData retarder)
+		public RetarderData CreateRetarderData(IRetarderInputData retarder, IVehicleInputData vehicle)
 		{
-			return SetCommonRetarderData(retarder);
+			return SetCommonRetarderData(retarder, vehicle);
 		}
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs b/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs
index 9eaa4ab141..54837902f4 100644
--- a/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs
+++ b/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs
@@ -57,7 +57,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 
 			var gearboxData = dao.CreateGearboxData(InputDataProvider.GearboxInputData, engineData);
 			var axlegearData = dao.CreateAxleGearData(InputDataProvider.AxleGearInputData);
-			var retarderData = dao.CreateRetarderData(InputDataProvider.RetarderInputData);
+			var retarderData = dao.CreateRetarderData(InputDataProvider.RetarderInputData, InputDataProvider.VehicleInputData);
 
 			if (Report != null) {
 				var powertrainConfig = new VectoRunData() {
diff --git a/VectoCore/InputData/Reader/Impl/EngineeringModeVectoRunDataFactory.cs b/VectoCore/InputData/Reader/Impl/EngineeringModeVectoRunDataFactory.cs
index 95b0b06e78..00c254dca5 100644
--- a/VectoCore/InputData/Reader/Impl/EngineeringModeVectoRunDataFactory.cs
+++ b/VectoCore/InputData/Reader/Impl/EngineeringModeVectoRunDataFactory.cs
@@ -57,7 +57,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 				VehicleData = dao.CreateVehicleData(InputDataProvider.VehicleInputData),
 				DriverData = driver,
 				Aux = dao.CreateAuxiliaryData(InputDataProvider.AuxiliaryInputData()),
-				Retarder = dao.CreateRetarderData(InputDataProvider.RetarderInputData),
+				Retarder = dao.CreateRetarderData(InputDataProvider.RetarderInputData, InputDataProvider.VehicleInputData),
 				Cycle = DrivingCycleDataReader.ReadFromDataTable(cycle.CycleData, cycle.Name),
 				IsEngineOnly = InputDataProvider.JobInputData().EngineOnlyMode
 			});
-- 
GitLab