Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS will be completely phased out by mid-2025. To see alternatives please check here

Skip to content
Snippets Groups Projects
Unverified Commit 24b9f7af authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

do not allow vecto vehicles in XML version before 2.4

parent c6242934
No related branches found
No related tags found
No related merge requests found
/*
#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
......
......@@ -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>();
}
......
......@@ -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;
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment