From e19ae06b92aeb5009fe1ff9051cba109c1dc22f1 Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Tue, 22 Nov 2016 13:05:20 +0100
Subject: [PATCH] modify abstract simulation data adapter to read retarder data
 only if its a separate component

---
 .../AbstractSimulationDataAdapter.cs          | 25 +++++++++++--------
 1 file changed, 14 insertions(+), 11 deletions(-)

diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs
index f89bbff395..947cb327a4 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs
@@ -70,17 +70,8 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 		internal RetarderData SetCommonRetarderData(IRetarderInputData data)
 		{
 			try {
-				var retarder = new RetarderData {
-					SavedInDeclarationMode = data.SavedInDeclarationMode,
-					Vendor = data.Vendor,
-					ModelName = data.ModelName,
-					Creator = data.Creator,
-					Date = data.Date,
-					TypeId = data.TypeId,
-					DigestValue = data.DigestValue,
-					IntegrityStatus = data.IntegrityStatus,
-					Type = data.Type,
-				};
+				var retarder = new RetarderData { Type = data.Type };
+
 				switch (retarder.Type) {
 					//case RetarderType.EngineRetarder:
 					case RetarderType.TransmissionInputRetarder:
@@ -98,6 +89,18 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 						throw new ArgumentOutOfRangeException("retarder.Type", "RetarderType unknown");
 				}
 
+				if (!retarder.Type.IsDedicatedComponent()) {
+					return retarder;
+				}
+				retarder.SavedInDeclarationMode = data.SavedInDeclarationMode;
+				retarder.Vendor = data.Vendor;
+				retarder.ModelName = data.ModelName;
+				retarder.Creator = data.Creator;
+				retarder.Date = data.Date;
+				retarder.TypeId = data.TypeId;
+				retarder.DigestValue = data.DigestValue;
+				retarder.IntegrityStatus = data.IntegrityStatus;
+
 				return retarder;
 			} catch (Exception e) {
 				throw new VectoException("Error while Reading Retarder Data: {0}", e.Message);
-- 
GitLab