diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFAdasType.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFAdasType.cs index a587427aa5fb789f0dca11cf149ff414338126d2..85508575b06fc1f8e6b44eb277272be33b48b7db 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFAdasType.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFAdasType.cs @@ -17,6 +17,10 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF public XElement GetElement(IDeclarationInputDataProvider inputData) { var adas = inputData.JobInputData.Vehicle.ADAS; + + if (adas == null) + return null; + return new XElement(_vif + XMLNames.Vehicle_ADAS, new XElement(_vif + XMLNames.Vehicle_ADAS_EngineStopStart, adas.EngineStopStart), new XElement(_vif + XMLNames.Vehicle_ADAS_EcoRollWithoutEngineStop, adas.EcoRoll == EcoRollType.WithoutEngineStop), diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFAngleDriveType.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFAngleDriveType.cs index d12a4c9eb51d9d75a10103776db5ad6d1ed6d21a..6cbc76b3e7b57e546ba49e53edcb869042af5ea0 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFAngleDriveType.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFAngleDriveType.cs @@ -17,6 +17,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF public XElement GetElement(IDeclarationInputDataProvider inputData) { var angelDrive = inputData.JobInputData.Vehicle.Components.AngledriveInputData; + if (angelDrive == null) + return null; return new XElement(_vif + XMLNames.Component_Angledrive, new XElement(_vif + XMLNames.ComponentDataWrapper, diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFAuxiliaryType.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFAuxiliaryType.cs index 9ab10fced1ac0b7584ea23683bad123092416f32..4c8afdea77f15f6e008d44792370819c6a8d18a4 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFAuxiliaryType.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFAuxiliaryType.cs @@ -21,6 +21,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF public XElement GetElement(IDeclarationInputDataProvider inputData) { var aux = inputData.JobInputData.Vehicle.Components.BusAuxiliaries; + if (aux != null) + return null; return new XElement(_vif + XMLNames.Component_Auxiliaries, new XElement(_vif + XMLNames.ComponentDataWrapper, diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFAxleWheelsType.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFAxleWheelsType.cs index cca0efe492a6231c2d41dc2185bcfd8305bf51e0..4143f571461cd5a959d09f406d73dbb20d37ac52 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFAxleWheelsType.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFAxleWheelsType.cs @@ -16,6 +16,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF public XElement GetElement(IDeclarationInputDataProvider inputData) { var axleWheels = inputData.JobInputData.Vehicle.Components.AxleWheels; + if (axleWheels != null) + return null; + return new XElement(_vif + XMLNames.Component_AxleWheels, new XElement(_vif + XMLNames.ComponentDataWrapper, new XAttribute(_xsi + "type", "v2.0:AxleDataDeclarationType"), diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFAxlegearType.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFAxlegearType.cs index fbfc735e5a5cf412115a829db8d5579f60f77f17..50d28e522d7167b72310440beb973ff78636f582 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFAxlegearType.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFAxlegearType.cs @@ -17,7 +17,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF public XElement GetElement(IDeclarationInputDataProvider inputData) { var axleGear = inputData.JobInputData.Vehicle.Components.AxleGearInputData; - + if (axleGear == null) + return null; + return new XElement(_vif + XMLNames.Component_Axlegear, new XElement(_vif + XMLNames.ComponentDataWrapper, new XAttribute(_xsi + "type", "vif:AxlegearDataVIFType"), diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFElectricEnergyStorageType.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFElectricEnergyStorageType.cs index d50b95c8f000ebb54164312b543bdadb2a29be0f..5a5619a40385c8ac1b5e46079ae9f6267bfa962c 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFElectricEnergyStorageType.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFElectricEnergyStorageType.cs @@ -19,7 +19,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF public XElement GetElement(IDeclarationInputDataProvider inputData) { var electricStorages = inputData.JobInputData.Vehicle.Components.ElectricStorage.ElectricStorageElements; - + if (electricStorages == null) + return null; + var result = new List<XElement>(); foreach (var entry in electricStorages) { diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFEngineType.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFEngineType.cs index 04b646aac16ff07539b726824c4b013b6817c149..3fc1517bddc26048ed3ada71258f6217e3e471e4 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFEngineType.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFEngineType.cs @@ -21,6 +21,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF public XElement GetElement(IDeclarationInputDataProvider inputData) { var engine = inputData.JobInputData.Vehicle.Components.EngineInputData; + if (engine == null) + return null; return new XElement(_vif + XMLNames.Component_Engine, new XElement(_vif + XMLNames.ComponentDataWrapper, diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFIepcType.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFIepcType.cs index 1dfd3bfea009a3aec0262fa7a4bbe2ed9ccd35e0..263d5f9ca730245b664da7f71fb42247321b5a29 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFIepcType.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFIepcType.cs @@ -19,6 +19,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF public XElement GetElement(IDeclarationInputDataProvider inputData) { var iepc = inputData.JobInputData.Vehicle.Components.IEPC; + if (iepc == null) + return null; return new XElement(_vif + XMLNames.Component_IEPC, new XElement(_vif + XMLNames.ComponentDataWrapper, diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFTorqueConverterType.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFTorqueConverterType.cs index 8239cc8e5b9f65d9fc7951329a7203483214b2c8..626dcb8f5692c66a8114a28d35a50c6577ad365d 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFTorqueConverterType.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFTorqueConverterType.cs @@ -20,6 +20,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF public XElement GetElement(IDeclarationInputDataProvider inputData) { var torque = inputData.JobInputData.Vehicle.Components.TorqueConverterInputData; + if (torque == null) + return null; return new XElement(_vif + XMLNames.Component_TorqueConverter, new XElement(_vif + XMLNames.ComponentDataWrapper, diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFTransmissionType.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFTransmissionType.cs index a16fbfe45cdb92ca0f59c06e4d06ce24e40cc8ec..56f45595f8b7990e07f55af2ac704edd2a3338d4 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFTransmissionType.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFTransmissionType.cs @@ -23,6 +23,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF public XElement GetElement(IDeclarationInputDataProvider inputData) { var transmission = inputData.JobInputData.Vehicle.Components.GearboxInputData; + if (transmission == null) + return null; return new XElement(_vif + XMLNames.Component_Transmission, new XElement(_vif + XMLNames.ComponentDataWrapper,