diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAuxiliariesDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAuxiliariesDataProvider.cs index 6cef21fe2385efa174672f3ca058cfb7dfab2b7d..e20c4e8645eb878cf26a7339aa651e111cd5998b 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAuxiliariesDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAuxiliariesDataProvider.cs @@ -133,11 +133,13 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public const string XSD_HEV_P_TYPE = "AUX_HEV-P_LorryDataType"; public const string XSD_HEV_S_TYPE = "AUX_HEV-S_LorryDataType"; public const string XSD_PEV_TYPE = "AUX_PEV_LorryDataType"; + public const string XSD_IEPC_TYPE = "AUX_IEPC_LorryDataType"; public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); public static readonly string QUALIFIED_XSD_HEV_P_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_HEV_P_TYPE); public static readonly string QUALIFIED_XSD_HEV_S_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_HEV_S_TYPE); public static readonly string QUALIFIED_XSD_PEV_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_PEV_TYPE); + public static readonly string QUALIFIED_XSD_IEPC_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_IEPC_TYPE); public XMLDeclarationAuxiliariesDataProviderV210_Lorry( IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs index 60196ba8d2a8e8f06c6594c46b35fbb32d03e5fc..15a3f9ee5540f9920d2bc5d9b4ae9727624661bc 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs @@ -467,4 +467,16 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public XMLDeclarationPrimaryBusPEVExComponentDataV210(IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base(vehicle, componentNode, sourceFile) { } } + + // --------------------------------------------------------------------------------------- + + public class XMLDeclarationIEPCHeavyLorryComponentDataV210 : XMLDeclarationComponentsDataProviderV10 + { + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V210_JOBS; + public new const string XSD_TYPE = "Components_IEPC_LorryType"; + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + + public XMLDeclarationIEPCHeavyLorryComponentDataV210(IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) + : base(vehicle, componentNode, sourceFile) { } + } } \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs index e518821ac97dea41ee3458ba7591b7d8db288be5..aefa2a832830211d4d7729ab379e39ae597cb260 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs @@ -1454,4 +1454,28 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #endregion } + + // --------------------------------------------------------------------------------------- + + public class XMLDeclarationIEPCHeavyLorryDataProviderV210 : XMLDeclarationVehicleDataProviderV10 + { + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V210_JOBS; + public new const string XSD_TYPE = "Vehicle_IEPC_HeavyLorryDeclarationType"; + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + + public XMLDeclarationIEPCHeavyLorryDataProviderV210(IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) + : base(jobData, xmlNode, sourceFile) { } + + + #region Overrides of XMLDeclarationVehicleDataProviderV10 + + public override CubicMeter CargoVolume => null; + + public override IList<ITorqueLimitInputData> TorqueLimits => null; + + #endregion + } + + + } \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV210InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV210InjectModule.cs index 32f1c591e3ce94f2790ee38a36e36f47cdbe572e..f38f98b77abd7403ffd2bd841f60773de40c1a3d 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV210InjectModule.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV210InjectModule.cs @@ -61,6 +61,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules Bind<IXMLDeclarationVehicleData>().To<XMLDeclarationPEVPrimaryBusDataProviderV210>() .Named(XMLDeclarationPEVPrimaryBusDataProviderV210.QUALIFIED_XSD_TYPE); + Bind<IXMLDeclarationVehicleData>().To<XMLDeclarationIEPCHeavyLorryDataProviderV210>() + .Named(XMLDeclarationIEPCHeavyLorryDataProviderV210.QUALIFIED_XSD_TYPE); + Bind<IXMLVehicleComponentsDeclaration>().To<XMLDeclarationCompletedBusComponentsDataProviderV210>() .Named(XMLDeclarationCompletedBusComponentsDataProviderV210.QUALIFIED_XSD_TYPE); @@ -112,6 +115,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules Bind<IXMLVehicleComponentsDeclaration>().To<XMLDeclarationPrimaryBusPEVExComponentDataV210>() .Named(XMLDeclarationPrimaryBusPEVExComponentDataV210.QUALIFIED_XSD_PEV_E4_TYPE); + Bind<IXMLVehicleComponentsDeclaration>().To<XMLDeclarationIEPCHeavyLorryComponentDataV210>() + .Named(XMLDeclarationIEPCHeavyLorryComponentDataV210.QUALIFIED_XSD_TYPE); + Bind<IXMLComponentReader>().To<XMLComponentReaderV210_CompletedBus>().Named(XMLComponentReaderV210_CompletedBus.QUALIFIED_XSD_TYPE); Bind<IXMLComponentReader>().To<XMLComponentReaderV210_HEV_PxHeavyLorry>().Named(XMLComponentReaderV210_HEV_PxHeavyLorry.QUALIFIED_XSD_TYPE); @@ -158,9 +164,15 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules Bind<IXMLComponentReader>().To<XMLPEVPrimaryBusE4DeclarationComponentReaderV201>() .Named(XMLPEVPrimaryBusE4DeclarationComponentReaderV201.QUALIFIED_XSD_TYPE); + Bind<IXMLComponentReader>().To<XMLIEPCHeavyLorryComponentReaderV201>() + .Named(XMLIEPCHeavyLorryComponentReaderV201.QUALIFIED_XSD_TYPE); + Bind<IXMLGearboxReader>().To<XMLGearboxDeclarationComponentReaderV201>() .Named(XMLGearboxDeclarationComponentReaderV201.GEARBOX_READER_QUALIFIED_XSD_TYPE); + Bind<IXMLAuxiliaryReader>().To<XMLAuxiliaryDeclarationComponentReaderV201>() + .Named(XMLAuxiliaryDeclarationComponentReaderV201.AUXILIARIES_READER_QUALIFIED_XSD_TYPE); + Bind<IXMLElectricMachineSystemReader>().To<XMLElectricMachineSystemReaderV210>().Named(XMLElectricMachineSystemReaderV210.QUALIFIED_XSD_TYPE); Bind<IXMLElectricMachineSystemReader>().To<XMLElectricMachineSystemReaderV210>().Named(XMLElectricMachineSystemReaderV210.QUALIFIED_GEN_XSD_TYPE); @@ -183,6 +195,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules Bind<IXMLAuxiliariesDeclarationInputData>().To<XMLDeclarationAuxiliariesDataProviderV210_Lorry>().Named( XMLDeclarationAuxiliariesDataProviderV210_Lorry.QUALIFIED_XSD_PEV_TYPE); + + Bind<IXMLAuxiliariesDeclarationInputData>().To<XMLDeclarationAuxiliariesDataProviderV210_Lorry>().Named( + XMLDeclarationAuxiliariesDataProviderV210_Lorry.QUALIFIED_XSD_IEPC_TYPE); Bind<IXMLAuxiliaryDeclarationInputData>().To<XMLAuxiliaryDeclarationDataProviderV210_Lorry>() .Named(XMLAuxiliaryDeclarationDataProviderV210_Lorry.QUALIFIED_XSD_TYPE); diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs index 51c115ba324c873cbe7c2fac240995a175df7656..9ca4e1b5670061503d0a095bfb3e4288528e8755 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs @@ -958,6 +958,29 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl // --------------------------------------------------------------------------------------- + public class XMLIEPCHeavyLorryComponentReaderV201 : XMLComponentReaderV10 + { + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V210_JOBS; + public new const string XSD_TYPE = "Components_IEPC_LorryType"; + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + + public XMLIEPCHeavyLorryComponentReaderV201(IXMLDeclarationVehicleData vehicle, XmlNode componentsNode) + : base(vehicle, componentsNode) { } + + #region Overrides of XMLComponentReaderV10 + + public override IEngineDeclarationInputData EngineInputData => null; + public override IElectricMachinesDeclarationInputData ElectricMachines => null; + public override IGearboxDeclarationInputData GearboxInputData => null; + public override ITorqueConverterDeclarationInputData TorqueConverterInputData => null; + public override IAngledriveInputData AngledriveInputData => null; + public override IBusAuxiliariesDeclarationData BusAuxiliariesInputData => null; + + #endregion + } + + // --------------------------------------------------------------------------------------- + public class XMLGearboxDeclarationComponentReaderV201 : XMLComponentReaderV10 { public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V2101_JOBS; @@ -967,4 +990,15 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl public XMLGearboxDeclarationComponentReaderV201(IXMLDeclarationVehicleData vehicle, XmlNode componentsNode) : base(vehicle, componentsNode) { } } + + // --------------------------------------------------------------------------------------- + + public class XMLAuxiliaryDeclarationComponentReaderV201 : XMLComponentReaderV10 + { + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V210_JOBS; + public new const string AUX_READER_TYPE = "AUX_IEPC_LorryDataType"; + public new static readonly string AUXILIARIES_READER_QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, AUX_READER_TYPE); + public XMLAuxiliaryDeclarationComponentReaderV201(IXMLDeclarationVehicleData vehicle, XmlNode componentsNode) + : base(vehicle, componentsNode) { } + } } diff --git a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs index 7e870259c2c5a585491833da95c50f5da860f3d7..e427becc7d6e642e7af5ae022f174216dbed4fe5 100644 --- a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs +++ b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs @@ -1021,9 +1021,9 @@ namespace TUGraz.VectoCore.Tests.XML TestIEPCData(vehicle.Components.IEPC); Assert.IsNull(vehicle.Components.GearboxInputData); Assert.IsNull(vehicle.Components.AngledriveInputData); - Assert.IsNotNull(vehicle.Components.RetarderInputData); + Assert.IsNotNull(vehicle.Components.RetarderInputData.LossMap); Assert.IsNotNull(vehicle.Components.AxleGearInputData); - Assert.IsNotNull(vehicle.Components.AxleWheels); + Assert.IsNotNull(vehicle.Components.AxleWheels.AxlesDeclaration); Assert.IsNotNull(vehicle.Components.AuxiliaryInputData); Assert.IsNull(vehicle.Components.BusAuxiliaries); Assert.IsNotNull(vehicle.Components.AirdragInputData); @@ -1341,6 +1341,33 @@ namespace TUGraz.VectoCore.Tests.XML Assert.IsNull(vehicle.MaxPropulsionTorque); } + [TestCase(@"HeavyLorry\IEPC_heavyLorry.xml")] + public void TestIEPCHeayLorry(string jobfile) + { + var filename = Path.Combine(BASE_DIR, jobfile); + var dataProvider = xmlInputReader.CreateDeclaration(XmlReader.Create(filename)); + Assert.NotNull(dataProvider.JobInputData); + var vehicle = dataProvider.JobInputData.Vehicle; + Assert.NotNull(vehicle); + Assert.IsNull(vehicle.Components.EngineInputData); + Assert.IsNull(vehicle.Components.ElectricMachines); + Assert.IsNotNull(vehicle.Components.IEPC); + Assert.IsNull(vehicle.Components.GearboxInputData); + Assert.IsNull(vehicle.Components.TorqueConverterInputData); + Assert.IsNull(vehicle.Components.AngledriveInputData); + Assert.IsNotNull(vehicle.Components.RetarderInputData); + Assert.IsNotNull(vehicle.Components.AxleGearInputData); + Assert.IsNotNull(vehicle.Components.AxleWheels); + Assert.IsNotNull(vehicle.Components.AuxiliaryInputData); + Assert.IsNull(vehicle.Components.BusAuxiliaries); + Assert.IsNotNull(vehicle.Components.AirdragInputData); + Assert.IsNotNull(vehicle.Components.ElectricStorage); + Assert.IsNotNull(vehicle.Components.PTOTransmissionInputData); + Assert.IsNull(vehicle.CargoVolume); + Assert.IsNull(vehicle.TorqueLimits); + Assert.IsNull(vehicle.ElectricMotorTorqueLimits); + Assert.IsNull(vehicle.MaxPropulsionTorque); + } #region Test existence of torque converter