From c6a09ca77a2da5a2dc7cd78706bb23ae05e7a17a Mon Sep 17 00:00:00 2001
From: "VKMTHD\\franzjosefkober" <franz.josef.kober@ivt.tugraz.at>
Date: Wed, 10 Mar 2021 15:32:08 +0100
Subject: [PATCH] added multistage reader

---
 .../Resources/XMLNames.Designer.cs            |  9 +++++
 .../VectoCommon/Resources/XMLNames.resx       |  3 ++
 ...ationInputDataMultistageV01InjectModule.cs |  5 +++
 .../Reader/Impl/XMLDeclarationInputReader.cs  | 40 +++++++++++++++++--
 4 files changed, 54 insertions(+), 3 deletions(-)

diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs
index c67d405baf..ac375e108f 100644
--- a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs
+++ b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs
@@ -3300,6 +3300,15 @@ namespace TUGraz.VectoCommon.Resources {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to VectoOuputMultistage.
+        /// </summary>
+        public static string VectoOuputMultistage {
+            get {
+                return ResourceManager.GetString("VectoOuputMultistage", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to VectoOutputPrimaryVehicle.
         /// </summary>
diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.resx b/VectoCommon/VectoCommon/Resources/XMLNames.resx
index b8eaad1e3a..d957901567 100644
--- a/VectoCommon/VectoCommon/Resources/XMLNames.resx
+++ b/VectoCommon/VectoCommon/Resources/XMLNames.resx
@@ -1419,4 +1419,7 @@
   <data name="Bus_WaterElectricHeater" xml:space="preserve">
     <value>WaterElectricHeater</value>
   </data>
+  <data name="VectoOuputMultistage" xml:space="preserve">
+    <value>VectoOuputMultistage</value>
+  </data>
 </root>
\ No newline at end of file
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataMultistageV01InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataMultistageV01InjectModule.cs
index 54f573aef4..a0f136e535 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataMultistageV01InjectModule.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataMultistageV01InjectModule.cs
@@ -1,5 +1,6 @@
 using Ninject.Modules;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces;
+using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl;
 
 namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules
 {
@@ -9,6 +10,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules
 		{
 			Bind<IXMLDeclarationInputData>().To<XMLDeclarationInputDataProviderMultistageV01>()
 				.Named(XMLDeclarationInputDataProviderMultistageV01.QUALIFIED_XSD_TYPE);
+
+			Bind<IXMLDeclarationInputDataReader>().To<XMLDeclarationInputReaderMultistageV01>()
+				.Named(XMLDeclarationInputReaderMultistageV01.QUALIFIED_XSD_TYPE);
+
 		}
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationInputReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationInputReader.cs
index 6008ba605e..8e374940ce 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationInputReader.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationInputReader.cs
@@ -59,13 +59,47 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl
 
 		public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE);
 
-		public XMLDeclarationInputReaderV20(IXMLDeclarationInputData inputData, XmlNode baseNode) : base(inputData,
-			baseNode)
+		public XMLDeclarationInputReaderV20(IXMLDeclarationInputData inputData, XmlNode baseNode) 
+			: base(inputData, baseNode) { }
+	}
+
+	// ---------------------------------------------------------------------------------------
+	
+	public class XMLDeclarationInputReaderMultistageV01 : AbstractComponentReader, IXMLDeclarationInputDataReader
+	{
+
+		public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_MULTISTAGE_BUS_VEHICLE_NAMESPACE_VO1;
+
+		public const string XSD_TYPE = "VectoOuputMultistageType";
+
+		public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE);
+
+		[Inject]
+		public IDeclarationInjectFactory Factory { protected get; set; }
+
+		protected IDeclarationJobInputData _jobData;
+
+
+		public XMLDeclarationInputReaderMultistageV01(IXMLDeclarationInputData inputData, XmlNode baseNode)
+			: base(inputData, baseNode)
 		{
 
 		}
-	}
 
+		public IDeclarationJobInputData JobData
+		{
+			get { return _jobData ?? (_jobData = CreateComponent(XMLNames.VectoOuputMultistage, JobCreator)); }
+		}
+
+		protected virtual IDeclarationJobInputData JobCreator(string version, XmlNode node, string arg3)
+		{
+			//var job = Factory.CreateJobData(version, BaseNode, InputData, (InputData as IXMLResource).DataSource.SourceFile);
+			//job.Reader = Factory.CreateJobReader(version, job, JobNode);
+			//return job;
+
+			return null;
+		}
+	}
 
 	// ---------------------------------------------------------------------------------------
 
-- 
GitLab