diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs index e7afc73ea507e00b59b2a3ebcf37fa8d53ed7aff..95bc41296ff73b464feb7895f9543c6014a750f5 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs @@ -1,4 +1,10 @@ -/* +#if CERTIFICATION_RELEASE || RELEASE_CANDIDATE +#define PROHIBIT_OLD_XML +#endif + +//#define PROHIBIT_OLD_XML + +/* * This file is part of VECTO. * * Copyright © 2012-2019 European Union @@ -35,6 +41,7 @@ using System.Linq; using System.Xml; using System.Xml.Linq; using TUGraz.VectoCommon.BusAuxiliaries; +using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Resources; @@ -45,6 +52,7 @@ using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader; using TUGraz.VectoCore.InputData.Impl; using TUGraz.VectoCore.Utils; + namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { public class XMLDeclarationVehicleDataProviderV10 : AbstractCommonComponentType, IXMLDeclarationVehicleData @@ -67,10 +75,21 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { Job = jobData; SourceType = DataSourceType.XMLEmbedded; + +#if PROHIBIT_OLD_XML + throw new VectoException("XML Jobs in version 1.0 are no longer supported!"); +#endif + } + + protected XMLDeclarationVehicleDataProviderV10(IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile, bool dummy) + : base(xmlNode, sourceFile) + { + Job = jobData; + SourceType = DataSourceType.XMLEmbedded; } - public virtual XmlElement ComponentNode + public virtual XmlElement ComponentNode { get { if (ExemptedVehicle) { @@ -268,10 +287,20 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); - public XMLDeclarationVehicleDataProviderV20(IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) : - base(jobData, xmlNode, sourceFile) { } + public XMLDeclarationVehicleDataProviderV20(IXMLDeclarationJobInputData jobData, XmlNode xmlNode, + string sourceFile) : + base(jobData, xmlNode, sourceFile, false) + { +#if PROHIBIT_OLD_XML + throw new VectoException("XML Jobs in version 2.0 are no longer supported!"); +#endif + } + + protected XMLDeclarationVehicleDataProviderV20(IXMLDeclarationJobInputData jobData, XmlNode xmlNode, + string sourceFile, bool dummy) : + base(jobData, xmlNode, sourceFile, dummy) {} - protected override XNamespace SchemaNamespace => NAMESPACE_URI; + protected override XNamespace SchemaNamespace => NAMESPACE_URI; public override bool VocationalVehicle => false; @@ -324,14 +353,20 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); - public XMLDeclarationVehicleDataProviderV21(IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) : - base(jobData, xmlNode, sourceFile) { } + public XMLDeclarationVehicleDataProviderV21(IXMLDeclarationJobInputData jobData, XmlNode xmlNode, + string sourceFile) : + base(jobData, xmlNode, sourceFile, false) + { +#if PROHIBIT_OLD_XML + throw new VectoException("XML Jobs in version 2.1 are no longer supported!"); +#endif + } #region Overrides of XMLDeclarationVehicleDataProviderV10 #endregion - public override VehicleCategory VehicleCategory + public override VehicleCategory VehicleCategory { get { var val = GetString(XMLNames.Vehicle_VehicleCategory); @@ -363,11 +398,14 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) : base(jobData, xmlNode, sourceFile) { SourceType = DataSourceType.XMLEmbedded; - } +#if PROHIBIT_OLD_XML + throw new VectoException("XML Jobs in version 2.2 are no longer supported!"); +#endif + } #region Overrides of AbstractXMLResource - protected override XNamespace SchemaNamespace => NAMESPACE_URI; + protected override XNamespace SchemaNamespace => NAMESPACE_URI; protected override DataSourceType SourceType { get; } @@ -440,9 +478,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) : base(jobData, xmlNode, sourceFile) { - } +#if PROHIBIT_OLD_XML + throw new VectoException("XML Jobs in version 2.2.1 are no longer supported!"); +#endif + } - public override bool? SleeperCab => ElementExists(XMLNames.Vehicle_SleeperCab) ? XmlConvert.ToBoolean(GetString(XMLNames.Vehicle_SleeperCab)) : (bool?)null; + public override bool? SleeperCab => ElementExists(XMLNames.Vehicle_SleeperCab) ? XmlConvert.ToBoolean(GetString(XMLNames.Vehicle_SleeperCab)) : (bool?)null; public override AxleConfiguration AxleConfiguration => ElementExists(XMLNames.Vehicle_AxleConfiguration) @@ -762,7 +803,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider protected IAdvancedDriverAssistantSystemDeclarationInputData _adas; protected AbstractXMLVehicleDataProviderV24(IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) - : base(jobData, xmlNode, sourceFile) { } + : base(jobData, xmlNode, sourceFile, false) { } #region Overrides of XMLDeclarationVehicleDataProviderV10 diff --git a/VectoCore/VectoCore/Models/Simulation/SimulationFactoryNinjectModule.cs b/VectoCore/VectoCore/Models/Simulation/SimulationFactoryNinjectModule.cs index 93d91ab992d7e6ff2cefebb0c7cfc1bf5b3b7c1f..eb847d5245c62c3fe8a3035c2e016b02749917f5 100644 --- a/VectoCore/VectoCore/Models/Simulation/SimulationFactoryNinjectModule.cs +++ b/VectoCore/VectoCore/Models/Simulation/SimulationFactoryNinjectModule.cs @@ -59,11 +59,11 @@ namespace TUGraz.VectoCore.Models.Simulation //Bind<IDeclarationCycleFactory>().To<DeclarationCycleFromFilesystemFactory>().InSingletonScope(); Bind<IMissionFilter>().To<DefaultMissionFilter>(); - //Bind<IDeclarationCycleFactory>().To<DeclarationCycleFactory>().InSingletonScope(); + Bind<IDeclarationCycleFactory>().To<DeclarationCycleFactory>().InSingletonScope(); //Bind<IMissionFilter>().ToMethod((context => null)); - Bind<IDeclarationReport>().To<NullDeclarationReport>(); + Bind<IDeclarationReport>().To<NullDeclarationReport>(); Bind<IVTPReport>().To<NullVTPReport>(); } diff --git a/VectoCore/VectoCore/Utils/Ninject/UseFirstArgumentAsInstanceProvider.cs b/VectoCore/VectoCore/Utils/Ninject/UseFirstArgumentAsInstanceProvider.cs index 9cd93738dabe9d233ef26d0ade1a0b11fb7d6d3d..2ba63b1707a7ce5519ceaedc61207a81cbe8fa3e 100644 --- a/VectoCore/VectoCore/Utils/Ninject/UseFirstArgumentAsInstanceProvider.cs +++ b/VectoCore/VectoCore/Utils/Ninject/UseFirstArgumentAsInstanceProvider.cs @@ -61,7 +61,7 @@ namespace TUGraz.VectoCore.Utils.Ninject try { return base.GetInstance(instanceResolver, methodInfo, arguments); } catch (Exception e) { - throw new VectoException("failed to create instance for '{1}' via '{0}' version '{2}'", e, methodInfo.Name, methodInfo.ReturnType.Name, arguments[0]); + throw new VectoException("failed to create instance for '{1}' via '{0}' version '{2}' \n{3}", e, methodInfo.Name, methodInfo.ReturnType.Name, arguments[0], e.InnerException?.Message ?? ""); //throw e; } }