diff --git a/VECTO/Input Files/Engine.vb b/VECTO/Input Files/Engine.vb index 6d00b176028bf9b51d6ad63e735f555d84a3c949..a1421cc170993bd62cbff5ff8a2a281267141e83 100644 --- a/VECTO/Input Files/Engine.vb +++ b/VECTO/Input Files/Engine.vb @@ -24,6 +24,7 @@ Imports TUGraz.VectoCore.Models.Declaration Imports TUGraz.VectoCore.Models.SimulationComponent.Data Imports TUGraz.VectoCore.Models.SimulationComponent.Impl Imports TUGraz.VectoCore.Utils +Imports DeclarationDataAdapterHeavyLorry = TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry ''' <summary> diff --git a/VECTO/Input Files/Gearbox.vb b/VECTO/Input Files/Gearbox.vb index a28e7c3000fce595f2c6d489d3a4fdc565dfeeac..1f55fd5e564a3b0855a833815e6ff4eff74a797a 100644 --- a/VECTO/Input Files/Gearbox.vb +++ b/VECTO/Input Files/Gearbox.vb @@ -28,6 +28,7 @@ Imports TUGraz.VectoCore.Models.SimulationComponent.Data Imports TUGraz.VectoCore.Models.SimulationComponent.Data.Engine Imports TUGraz.VectoCore.Models.SimulationComponent.Impl Imports TUGraz.VectoCore.Utils +Imports DeclarationDataAdapterHeavyLorry = TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry <CustomValidation(GetType(Gearbox), "ValidateGearbox")> Public Class Gearbox diff --git a/VECTO/Input Files/Vehicle.vb b/VECTO/Input Files/Vehicle.vb index 64e65684f25f2bd39834d0a54af04c44d627b3ba..3b892b018d2c1009e2f51ac727193d2a85adf521 100644 --- a/VECTO/Input Files/Vehicle.vb +++ b/VECTO/Input Files/Vehicle.vb @@ -26,6 +26,7 @@ Imports TUGraz.VectoCore.Models.Declaration Imports TUGraz.VectoCore.Models.SimulationComponent.Data Imports TUGraz.VectoCore.Models.SimulationComponent.Impl Imports TUGraz.VectoCore.Utils +Imports DeclarationDataAdapterHeavyLorry = TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry <CustomValidation(GetType(Vehicle), "ValidateVehicle")> Public Class Vehicle diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DataAdapter b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DataAdapter new file mode 100644 index 0000000000000000000000000000000000000000..50da0f52338f61db5ca05bc81de27329323202c1 --- /dev/null +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DataAdapter @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="utf-8"?> +<ClassDiagram MajorVersion="1" MinorVersion="1" MembersFormat="NameAndType"> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry"> + <Position X="1" Y="2.75" Width="6" /> + <Compartments> + <Compartment Name="Nested Types" Collapsed="false" /> + </Compartments> + <NestedTypes> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.Conventional" Collapsed="true"> + <TypeIdentifier> + <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\Conventional.cs</NewMemberFileName> + </TypeIdentifier> + </Class> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P4"> + <TypeIdentifier> + <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_P4.cs</NewMemberFileName> + </TypeIdentifier> + </Class> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_S4" Collapsed="true"> + <TypeIdentifier> + <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_S4.cs</NewMemberFileName> + </TypeIdentifier> + </Class> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P1"> + <TypeIdentifier> + <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_P1.cs</NewMemberFileName> + </TypeIdentifier> + </Class> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P2_5"> + <TypeIdentifier> + <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_P2_5.cs</NewMemberFileName> + </TypeIdentifier> + </Class> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P2"> + <TypeIdentifier> + <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_P2.cs</NewMemberFileName> + </TypeIdentifier> + </Class> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_S2" Collapsed="true"> + <TypeIdentifier> + <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_S2.cs</NewMemberFileName> + </TypeIdentifier> + </Class> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P3"> + <TypeIdentifier> + <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_P3.cs</NewMemberFileName> + </TypeIdentifier> + </Class> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_S3" Collapsed="true"> + <TypeIdentifier> + <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_S3.cs</NewMemberFileName> + </TypeIdentifier> + </Class> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.PEV_E2" Collapsed="true"> + <TypeIdentifier> + <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\PEV_E2.cs</NewMemberFileName> + </TypeIdentifier> + </Class> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.PEV_E3" Collapsed="true"> + <TypeIdentifier> + <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\PEV_E3.cs</NewMemberFileName> + </TypeIdentifier> + </Class> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.PEV_E4" Collapsed="true"> + <TypeIdentifier> + <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\PEV_E4.cs</NewMemberFileName> + </TypeIdentifier> + </Class> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.LorryBase" Collapsed="true"> + <TypeIdentifier> + <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\LorryBase.cs</NewMemberFileName> + </TypeIdentifier> + <Lollipop Position="0.2" /> + </Class> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.PEV_E_IEPC" Collapsed="true"> + <TypeIdentifier> + <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\PEV_E_IEPC.cs</NewMemberFileName> + </TypeIdentifier> + </Class> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_S_IEPC" Collapsed="true"> + <TypeIdentifier> + <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_S_IEPC.cs</NewMemberFileName> + </TypeIdentifier> + </Class> + </NestedTypes> + <TypeIdentifier> + <HashCode>AAEAAAgAgCAgAAAAAAEAEgIAAAAAACAEAAAAQQABQAA=</HashCode> + <FileName>InputData\Reader\DataObjectAdapter\HeavyLorry\DeclarationDataAdapterHeavyLorry.cs</FileName> + </TypeIdentifier> + <Lollipop Position="0.2" /> + </Class> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.AbstractSimulationDataAdapter"> + <Position X="8.25" Y="0.5" Width="5" /> + <TypeIdentifier> + <HashCode>AAggAEAAEAAABAAAAAAAAhAEABEAAgAMAAgAAAAADAA=</HashCode> + <FileName>InputData\Reader\DataObjectAdapter\AbstractSimulationDataAdapter.cs</FileName> + </TypeIdentifier> + </Class> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.DeclarationDataAdapterPrimaryBus"> + <Position X="7.25" Y="7.75" Width="2.75" /> + <TypeIdentifier> + <HashCode>AAAQAAAAgDAgAAAAAAAIAgIASABgAqIgEAAAAAABQAQ=</HashCode> + <FileName>InputData\Reader\DataObjectAdapter\DeclarationDataAdapterPrimaryBus.cs</FileName> + </TypeIdentifier> + </Class> + <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.ElectricConsumerEntry"> + <Position X="10.5" Y="6" Width="4" /> + <TypeIdentifier> + <HashCode>AAAAAAAAAAAAAAAAAACAAAAACAAAAAAAAAAAEEAAAAA=</HashCode> + <FileName>InputData\Reader\DataObjectAdapter\DeclarationDataAdapterPrimaryBus.cs</FileName> + </TypeIdentifier> + </Class> + <Interface Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.IDeclarationDataAdapter"> + <Position X="6" Y="0.5" Width="3.25" /> + <TypeIdentifier> + <HashCode>AAEAAAgAgCAgAAAAAAEAAgIAAAAAAAAEAAAAQAABQAA=</HashCode> + <FileName>InputData\Reader\DataObjectAdapter\IDeclarationDataAdapter.cs</FileName> + </TypeIdentifier> + </Interface> + <Font Name="Segoe UI" Size="9" /> +</ClassDiagram> \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterNinjectModule.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterNinjectModule.cs index 08425cda422aa686f17033bbcac53cc397d33b81..1c3560efba3704b960f5a296d3ecd439506d6f16 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterNinjectModule.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterNinjectModule.cs @@ -10,46 +10,46 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter public override void Load() { #region HeavyLorry - Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.Conventional>() + Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.Conventional>() .WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.Conventional>(); - Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.HEV_S2>() + Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_S2>() .WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.HEV_S2>(); - Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.HEV_S3>() + Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_S3>() .WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.HEV_S3>(); - Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.HEV_S4>() + Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_S4>() .WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.HEV_S4>(); - Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.HEV_S_IEPC>() + Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_S_IEPC>() .WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.HEV_S_IEPC>(); - Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.HEV_P1>() + Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P1>() .WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.HEV_P1>(); - Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.HEV_P2>() + Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P2>() .WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.HEV_P2>(); - Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.HEV_P2_5>() + Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P2_5>() .WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.HEV_P2_5>(); - Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.HEV_P3>() + Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P3>() .WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.HEV_P3>(); - Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.HEV_P4>() + Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P4>() .WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.HEV_P4>(); - Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.PEV_E2>() + Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.PEV_E2>() .WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.PEV_E2>(); - Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.PEV_E3>() + Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.PEV_E3>() .WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.PEV_E3>(); - Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.PEV_E4>() + Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.PEV_E4>() .WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.PEV_E4>(); - Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.PEV_E_IEPC>() + Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.PEV_E_IEPC>() .WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.PEV_E_IEPC>(); #endregion HeavyLorry } diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs index 9067d8cca2f8b3c1afafdb6efd0ec35dbf48957b..373c7c44c700bdbaf8c1e6240eb9550f1952cd6f 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs @@ -19,7 +19,7 @@ using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter { - public class DeclarationDataAdapterPrimaryBus : DeclarationDataAdapterHeavyLorry.Conventional + public class DeclarationDataAdapterPrimaryBus : HeavyLorry.DeclarationDataAdapterHeavyLorry.Conventional { #region Overrides of DeclarationDataAdapterHeavyLorry diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs index e5fb7b2d7584413d9cc16359757577620d62bde8..2363f7c692551f2186feae1ebcbc53e60cce413e 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs @@ -145,7 +145,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter : 4.SI<Meter>()); retVal.CrossWindCorrectionCurve = new CrosswindCorrectionCdxALookup( airDragArea, - DeclarationDataAdapterHeavyLorry.Conventional.GetDeclarationAirResistanceCurve( + HeavyLorry.DeclarationDataAdapterHeavyLorry.Conventional.GetDeclarationAirResistanceCurve( GetAirdragParameterSet( data.VehicleCategory, data.AxleConfiguration, data.Components.AxleWheels.AxlesEngineering.Count, data.GrossVehicleMassRating), airDragArea, height), diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/Conventional.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/Conventional.cs index 0b8b2a0ac553040762fe09ffc6179222efc8a4fc..ae836867a3c09c46eba77697ce710c8f9de7b040 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/Conventional.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/Conventional.cs @@ -16,7 +16,7 @@ using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine; using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox; using TUGraz.VectoCore.Utils; -namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter +namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry { public partial class DeclarationDataAdapterHeavyLorry { @@ -76,10 +76,11 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter WarnDeclarationMode("VehicleData"); } - return data.ExemptedVehicle - ? CreateExemptedVehicleData(data) - : CreateNonExemptedVehicleData(data, segment, mission, loading.Value.Item1, loading.Value.Item2, - allowVocational); + //return data.ExemptedVehicle + // ? CreateExemptedVehicleData(data) + // : CreateNonExemptedVehicleData(data, segment, mission, loading.Value.Item1, loading.Value.Item2, + // allowVocational); + return CreateNonExemptedVehicleData(data, segment, mission, loading.Value.Item1, loading.Value.Item2, allowVocational); } protected virtual VehicleData CreateNonExemptedVehicleData(IVehicleDeclarationInputData data, diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/DeclarationDataAdapterHeavyLorry.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/DeclarationDataAdapterHeavyLorry.cs index 573b15b7d3bc6d7585c62803f1ed7a6f049f8dce..377f87edd17e762dfe296f12eabe907eaecc89da 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/DeclarationDataAdapterHeavyLorry.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/DeclarationDataAdapterHeavyLorry.cs @@ -31,26 +31,16 @@ using System; using System.Collections.Generic; -using System.Linq; -using TUGraz.VectoCommon.BusAuxiliaries; -using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.InputData.Reader.ComponentData; -using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC; -using TUGraz.VectoCore.InputData.Reader.ShiftStrategy; -using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.SimulationComponent; using TUGraz.VectoCore.Models.SimulationComponent.Data; -using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine; -using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox; -using TUGraz.VectoCore.Utils; -namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter +namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry { public partial class DeclarationDataAdapterHeavyLorry : AbstractSimulationDataAdapter, IDeclarationDataAdapter @@ -60,7 +50,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter { } - private IDeclarationDataAdapter _declarationDataAdapterImplementation = new DeclarationDataAdapterHeavyLorry.Conventional(); + private IDeclarationDataAdapter _declarationDataAdapterImplementation = new Conventional(); public static readonly GearboxType[] SupportedGearboxTypes = Conventional.SupportedGearboxTypes; public static List<CrossWindCorrectionCurveReader.CrossWindCorrectionEntry> GetDeclarationAirResistanceCurve(string parameterSet, SquareMeter si, Meter meter) { diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P1.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P1.cs index d9ebb4ca1fc13fe212d469498b27ecf1c9161a22..bef6a10f64edcdfc2b70c1786bf7c26e2ba82620 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P1.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P1.cs @@ -1,4 +1,4 @@ -namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter +namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry { public partial class DeclarationDataAdapterHeavyLorry { diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P2.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P2.cs index 89991f09b9af4ce6cf01296c35bd1a1e47e91b6a..648cea5b2c096368dca2fe41efdc6e2572855311 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P2.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P2.cs @@ -1,5 +1,5 @@ -namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter +namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry { public partial class DeclarationDataAdapterHeavyLorry { diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P2_5.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P2_5.cs index 18b36227b4341e9bd3f493f03c2b0177780be933..da14951413573603d38431f25593f090ecbb3e79 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P2_5.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P2_5.cs @@ -1,9 +1,9 @@ -namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter +namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry { public partial class DeclarationDataAdapterHeavyLorry { - public class HEV_P2_5 : DataObjectAdapter.DeclarationDataAdapterHeavyLorry.LorryBase + public class HEV_P2_5 : LorryBase { } diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P3.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P3.cs index 3b12407d168680061ce8469a8453fde6b886f6ff..331c5372f5c17875652d70fd50700a1de4c440b9 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P3.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P3.cs @@ -1,5 +1,5 @@ -namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter +namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry { public partial class DeclarationDataAdapterHeavyLorry { diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P4.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P4.cs index 3fbaf1b7a66a14d7d423507f59ab7d1089509b9b..99a743928b60ef8eb74a09a5eb3d167543292e98 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P4.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P4.cs @@ -1,9 +1,9 @@ -namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter +namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry { public partial class DeclarationDataAdapterHeavyLorry { - public class HEV_P4 : DataObjectAdapter.DeclarationDataAdapterHeavyLorry.LorryBase + public class HEV_P4 : LorryBase { } diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S2.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S2.cs index ea97ab174ca4e6ae9cf9ccb8ad33aa9bffe0914c..e15d55e1ba3bc0d7f2beae4dcfc424554e6600d1 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S2.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S2.cs @@ -8,7 +8,7 @@ using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.SimulationComponent; using TUGraz.VectoCore.Models.SimulationComponent.Data; -namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter +namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry { public partial class DeclarationDataAdapterHeavyLorry { diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S3.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S3.cs index d02d80057cbc3bbf0d28254be21fa2e82bfcee57..383233462fecb07cce5568abd06fe98cf2e63808 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S3.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S3.cs @@ -1,11 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using TUGraz.VectoCore.InputData.Reader.Impl; - -namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter +namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry { public partial class DeclarationDataAdapterHeavyLorry { diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S4.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S4.cs index ffa4b4975ec31f48a899f7b51d7feef73e1f81b7..48deec22b0b903a29bf8ff948dae859dfda98f17 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S4.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S4.cs @@ -1,11 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using TUGraz.VectoCore.InputData.Reader.Impl; - -namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter +namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry { public partial class DeclarationDataAdapterHeavyLorry { diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S_IEPC.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S_IEPC.cs index 0917520f49f053b79815b2b5e12ce0233994e801..44194285ad0bfcbb75be344bb9f01e78c93c1c0e 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S_IEPC.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S_IEPC.cs @@ -1,8 +1,8 @@ -namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter +namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry { public partial class DeclarationDataAdapterHeavyLorry { - public class HEV_S_IEPC : DataObjectAdapter.DeclarationDataAdapterHeavyLorry.LorryBase + public class HEV_S_IEPC : LorryBase { } diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/LorryBase.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/LorryBase.cs index 198243eef9d89e8d3cd51d97888c4c150243d0eb..2ab8ab830344df81df1115c7325eba4a59d8a9ae 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/LorryBase.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/LorryBase.cs @@ -8,7 +8,7 @@ using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.SimulationComponent; using TUGraz.VectoCore.Models.SimulationComponent.Data; -namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter +namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry { public partial class DeclarationDataAdapterHeavyLorry { diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E2.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E2.cs index 366d6ac6b4fcba36652d32f113b2c660828ec1dd..eeb02207a944990e1051e1f37aec000cf074c052 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E2.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E2.cs @@ -1,9 +1,9 @@ -namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter +namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry { public partial class DeclarationDataAdapterHeavyLorry { - public class PEV_E2 : DataObjectAdapter.DeclarationDataAdapterHeavyLorry.LorryBase + public class PEV_E2 : LorryBase { } diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E3.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E3.cs index 91528a457140bed8027a7f6f969bf9a7c78da9bc..ebcf0d47e627c0ef7fab180c6c320a05acd99ef7 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E3.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E3.cs @@ -1,9 +1,9 @@ -namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter +namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry { public partial class DeclarationDataAdapterHeavyLorry { - public class PEV_E3 : DataObjectAdapter.DeclarationDataAdapterHeavyLorry.LorryBase + public class PEV_E3 : LorryBase { } diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E4.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E4.cs index 4dac3f87fc7bb3d2c84fcc82468654270adbf42a..54254768d658c99ed912f240138656bd6570b1d4 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E4.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E4.cs @@ -1,9 +1,9 @@ -namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter +namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry { public partial class DeclarationDataAdapterHeavyLorry { - public class PEV_E4 : DataObjectAdapter.DeclarationDataAdapterHeavyLorry.LorryBase + public class PEV_E4 : LorryBase { } diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E_IEPC.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E_IEPC.cs index 61f904f99874244f3131d602c6928e7b05363181..ba61ea4702264895b1689d5358ffc129c020e21d 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E_IEPC.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E_IEPC.cs @@ -1,9 +1,9 @@ -namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter +namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry { public partial class DeclarationDataAdapterHeavyLorry { - public class PEV_E_IEPC : DataObjectAdapter.DeclarationDataAdapterHeavyLorry.LorryBase + public class PEV_E_IEPC : LorryBase { } diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/HeavyLorryRunDataFactory/Conventional.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/HeavyLorryRunDataFactory/Conventional.cs index e27fd01ee567ec9bbcea25db279dffa84b61d881..10d6a2bb4aa0850e0b2a0dc474c940121b3a3cfb 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/HeavyLorryRunDataFactory/Conventional.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/HeavyLorryRunDataFactory/Conventional.cs @@ -15,7 +15,8 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.HeavyLorryRunDa { public abstract partial class DeclarationModeHeavyLorryRunDataFactory { - public class Conventional : LorryBase + + public sealed class Conventional : LorryBase { public Conventional(IDeclarationInputDataProvider dataProvider, IDeclarationReport report, IDeclarationDataAdapter declarationDataAdapter) : base(dataProvider, report, declarationDataAdapter) { } @@ -44,7 +45,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.HeavyLorryRunDa } } - private VectoRunData CreateVectoRunData(IVehicleDeclarationInputData vehicle, int modeIdx, Mission mission, + protected override VectoRunData CreateVectoRunData(IVehicleDeclarationInputData vehicle, int modeIdx, Mission mission, KeyValuePair<LoadingType, Tuple<Kilogram, double?>> loading, bool allowVocational) { var engine = InputDataProvider.JobInputData.Vehicle.Components.EngineInputData; @@ -160,5 +161,11 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.HeavyLorryRunDa public PEV_E_IEPC(IDeclarationInputDataProvider dataProvider, IDeclarationReport report, IDeclarationDataAdapter declarationDataAdapter) : base(dataProvider, report, declarationDataAdapter) { } } + + public class Exempted : LorryBase + { + public Exempted(IDeclarationInputDataProvider dataProvider, IDeclarationReport report, + IDeclarationDataAdapter declarationDataAdapter) : base(dataProvider, report, declarationDataAdapter) { } + } } } \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/HeavyLorryRunDataFactory/DeclarationModeHeavyLorryRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/HeavyLorryRunDataFactory/DeclarationModeHeavyLorryRunDataFactory.cs index cbdb049b6a5975728e6090b58e679e67427040a8..cf845914d1196ac8b1f665e33f1e1e39ba327881 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/HeavyLorryRunDataFactory/DeclarationModeHeavyLorryRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/HeavyLorryRunDataFactory/DeclarationModeHeavyLorryRunDataFactory.cs @@ -43,6 +43,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.HeavyLorryRunDa protected PTOData _ptoTransmissionData; protected PTOData _municipalPtoTransmissionData; protected ShiftStrategyParameters _gearshiftData; + private bool _allowVocational; protected LorryBase(IDeclarationInputDataProvider dataProvider, IDeclarationReport report, @@ -99,6 +100,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.HeavyLorryRunDa { var vehicle = InputDataProvider.JobInputData.Vehicle; _segment = GetSegment(vehicle, out var allowVocational); + _allowVocational = allowVocational; _driverdata = DataAdapter.CreateDriverData(); _driverdata.AccelerationCurve = AccelerationCurveReader.ReadFromStream(_segment.AccelerationFile); var tempVehicle = DataAdapter.CreateVehicleData(vehicle, _segment, _segment.Missions.First(), @@ -157,7 +159,10 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.HeavyLorryRunDa CycleType.PTO, "PTO", false) }; } - protected abstract VectoRunData CreateVectoRunData(IVehicleDeclarationInputData vehicle, int modeIdx, Mission mission, KeyValuePair<LoadingType, Tuple<Kilogram, double?>> loading, bool allowVocational); + protected virtual VectoRunData CreateVectoRunData(IVehicleDeclarationInputData vehicle, int modeIdx, Mission mission, KeyValuePair<LoadingType, Tuple<Kilogram, double?>> loading, bool allowVocational) + { + throw new NotImplementedException(); + } public virtual void InitializeReport() { @@ -166,14 +171,14 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.HeavyLorryRunDa var vehicle = InputDataProvider.JobInputData.Vehicle; if (vehicle.ExemptedVehicle) { - powertrainConfig = CreateVectoRunData(vehicle, 0, null, new KeyValuePair<LoadingType, Tuple<Kilogram, double?>>()); + powertrainConfig = CreateVectoRunData(vehicle, 0, null, new KeyValuePair<LoadingType, Tuple<Kilogram, double?>>(), _allowVocational); fuels = new List<List<FuelData.Entry>>(); } else { powertrainConfig = _segment.Missions.Select( mission => CreateVectoRunData( - vehicle, 0, mission, mission.Loadings.First())) + vehicle, 0, mission, mission.Loadings.First(), _allowVocational)) .FirstOrDefault(x => x != null); fuels = vehicle.Components.EngineInputData.EngineModes.Select(x => x.Fuels.Select(f => DeclarationData.FuelData.Lookup(f.FuelType, vehicle.TankSystem)).ToList()) .ToList(); diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/RunDataFactories.cd b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/RunDataFactories.cd new file mode 100644 index 0000000000000000000000000000000000000000..1c447d7f808150012cb6572c5d74bf709d603be3 --- /dev/null +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/RunDataFactories.cd @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<ClassDiagram MajorVersion="1" MinorVersion="1" MembersFormat="NameAndType"> + <Class Name="TUGraz.VectoCore.InputData.Reader.Impl.DeclarationModeTruckVectoRunDataFactory"> + <Position X="6.5" Y="4.75" Width="5.25" /> + <TypeIdentifier> + <HashCode>gAKAIAAAAAAAAAABAAAABAAAAAQAAAEAAAAAAAAAAAA=</HashCode> + <FileName>InputData\Reader\Impl\DeclarationModeHeavyLorryVectoRunDataFactory.cs</FileName> + </TypeIdentifier> + </Class> + <Class Name="TUGraz.VectoCore.InputData.Reader.Impl.AbstractDeclarationVectoRunDataFactory"> + <Position X="1.25" Y="2.25" Width="3.5" /> + <TypeIdentifier> + <HashCode>gAoAAgAAAkEgAQIBAACgACgAAAAAAAEIAgAAgAQABAA=</HashCode> + <FileName>InputData\Reader\Impl\AbstractDeclarationVectoRunDataFactory.cs</FileName> + </TypeIdentifier> + <Lollipop Position="0.2" /> + </Class> + <Class Name="TUGraz.VectoCore.InputData.Reader.Impl.DeclarationModePrimaryBusVectoRunDataFactory"> + <Position X="6.5" Y="1.25" Width="6" /> + <TypeIdentifier> + <HashCode>gAIBAgAAAAAAAAABAAAABAAAAAAIAAEAAAAAAAAAAAA=</HashCode> + <FileName>InputData\Reader\Impl\DeclarationModePrimaryBusVectoRunDataFactory.cs</FileName> + </TypeIdentifier> + </Class> + <Interface Name="TUGraz.VectoCore.InputData.IVectoRunDataFactory"> + <Position X="2.75" Y="0.5" Width="3" /> + <TypeIdentifier> + <HashCode>AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode> + <FileName>InputData\IVectoRunDataFactory.cs</FileName> + </TypeIdentifier> + </Interface> + <Font Name="Segoe UI" Size="9" /> +</ClassDiagram> \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeHeavyLorryVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeHeavyLorryVectoRunDataFactory.cs index 4f39aff811299608d9de51e83a8b133e9daaee59..f7c2ed89007975302e727c13d1c17a4f4fc83ffb 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeHeavyLorryVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeHeavyLorryVectoRunDataFactory.cs @@ -41,6 +41,7 @@ using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.SimulationComponent.Data; using TUGraz.VectoCore.OutputData; +using DeclarationDataAdapterHeavyLorry = TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry; namespace TUGraz.VectoCore.InputData.Reader.Impl diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryLorries.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryLorries.cs index 574d77a8497ddf95411de146f8765e0371d9a992..a40581987bfd5ab3216ec7c78152270aa8f1d1b0 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryLorries.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryLorries.cs @@ -43,6 +43,7 @@ using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.SimulationComponent.Data; using TUGraz.VectoCore.OutputData; +using DeclarationDataAdapterHeavyLorry = TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry; namespace TUGraz.VectoCore.InputData.Reader.Impl { diff --git a/VectoCore/VectoCore/InputData/Reader/VectoRunDataFactoryNinjectModule.cs b/VectoCore/VectoCore/InputData/Reader/VectoRunDataFactoryNinjectModule.cs index fbd6e0359c33fd61aed011fdd031618fe1820e24..a1aabcb7d591c1382dc94c73d2fd9d020bcb1e1a 100644 --- a/VectoCore/VectoCore/InputData/Reader/VectoRunDataFactoryNinjectModule.cs +++ b/VectoCore/VectoCore/InputData/Reader/VectoRunDataFactoryNinjectModule.cs @@ -117,7 +117,8 @@ namespace TUGraz.VectoCore.InputData.Reader _vehicleStringHelper.GetName(VehicleCategoryHelper.Lorry, VectoSimulationJobType.BatteryElectricVehicle, ArchitectureID.E_IEPC)); - + Bind<IVectoRunDataFactory>().To<DeclarationModeHeavyLorryRunDataFactory.Exempted>().Named( + _vehicleStringHelper.GetName(VehicleCategoryHelper.Lorry, exempted: true)); #endregion #region PrimaryBus diff --git a/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs b/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs index b0e5b91229de2228381bd7a4627db88262f5a08f..a6ac03e7afa17c3eeddd1e2d7a1651e645866eeb 100644 --- a/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs +++ b/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs @@ -14,6 +14,7 @@ using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; using TUGraz.VectoCore.Models.SimulationComponent.Data; using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine; using TUGraz.VectoCore.Utils; +using DeclarationDataAdapterHeavyLorry = TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry; namespace TUGraz.VectoCore.Models.Declaration { diff --git a/VectoCore/VectoCore/Utils/Ninject/VehicleTypeAndArchitectureStringHelper.cs b/VectoCore/VectoCore/Utils/Ninject/VehicleTypeAndArchitectureStringHelper.cs index 99bf7c53dce67edf8448a70cd0abe3e7dbc988f0..9b6e8adb786d0a591540ae1e0306e1303ff92d25 100644 --- a/VectoCore/VectoCore/Utils/Ninject/VehicleTypeAndArchitectureStringHelper.cs +++ b/VectoCore/VectoCore/Utils/Ninject/VehicleTypeAndArchitectureStringHelper.cs @@ -114,38 +114,83 @@ namespace TUGraz.VectoCore.Utils.Ninject return GetName(new VehicleClassification(jobType, archId, vehicleType, exempted, iepc, ihpc)); } + public string GetName(string vehicleType, bool exempted) + { + return GetName(vehicleType, VectoSimulationJobType.ConventionalVehicle, exempted: exempted); + } + #endregion public struct VehicleClassification { + private readonly VectoSimulationJobType _jobType; + + private VectoSimulationJobType JobType + { + get + { + if (Exempted) { + return VectoSimulationJobType.ConventionalVehicle; //ignored for exempted vehicles + } + return _jobType; + } + } + + private readonly ArchitectureID _archId; + + private ArchitectureID ArchId + { + get + { + if (Exempted) { + return ArchitectureID.UNKNOWN; //ignored for exempted vehicles + } + return _archId; + } + } + + private readonly string _vehicleType; + + private string VehicleType => _vehicleType; + + private readonly bool _exempted; + + private bool Exempted + { + get + { + return _exempted; + } + } + + private readonly bool _iepc; + + private bool Iepc => _iepc; + + private readonly bool _ihpc; - private VectoSimulationJobType JobType { get; } - private ArchitectureID ArchId { get; } - private string VehicleType { get; } - private bool Exempted { get; } - private bool Iepc { get; } - private bool Ihpc { get; } + private bool Ihpc => _ihpc; public VehicleClassification(VectoSimulationJobType jobType, ArchitectureID archId, string vehicleType, bool exempted, bool iepc, bool ihpc) { - Iepc = iepc; - Ihpc = ihpc; - Exempted = exempted; - VehicleType = vehicleType; - ArchId = archId; - JobType = jobType; + _iepc = iepc; + _ihpc = ihpc; + _exempted = exempted; + _vehicleType = vehicleType; + _archId = archId; + _jobType = jobType; } public VehicleClassification(IVehicleDeclarationInputData inputData) : this() { //Iepc = (inputData.Components?.ElectricMachines?.Entries)?.Count(electric => electric.ElectricMachine.IHPCType != "None") > 0; //Ihpc = (inputData.Components?.IEPC != null); - Iepc = false; - Ihpc = false; - Exempted = inputData.ExemptedVehicle; - VehicleType = inputData.VehicleCategory.GetVehicleType(); - ArchId = inputData.ArchitectureID; - JobType = inputData.VehicleType; + _iepc = false; + _ihpc = false; + _exempted = inputData.ExemptedVehicle; + _vehicleType = inputData.VehicleCategory.GetVehicleType(); + _archId = inputData.ArchitectureID; + _jobType = inputData.VehicleType; } @@ -154,12 +199,12 @@ namespace TUGraz.VectoCore.Utils.Ninject { //Iepc = (inputData.MultistageJobInputData..Components?.ElectricMachines?.Entries)?.Count(electric => electric.ElectricMachine.IHPCType != "None") > 0; //Ihpc = (inputData.Components?.IEPC != null); - Iepc = false; - Ihpc = false; - Exempted = inputData.MultistageJobInputData.JobInputData.PrimaryVehicle.Vehicle.ExemptedVehicle; - VehicleType = inputData.MultistageJobInputData.JobInputData.ConsolidateManufacturingStage.Vehicle.VehicleCategory.GetVehicleType(); - ArchId = inputData.MultistageJobInputData.JobInputData.PrimaryVehicle.Vehicle.ArchitectureID; - JobType = inputData.MultistageJobInputData.JobInputData.PrimaryVehicle.Vehicle.VehicleType; + _iepc = false; + _ihpc = false; + _exempted = inputData.MultistageJobInputData.JobInputData.PrimaryVehicle.Vehicle.ExemptedVehicle; + _vehicleType = inputData.MultistageJobInputData.JobInputData.ConsolidateManufacturingStage.Vehicle.VehicleCategory.GetVehicleType(); + _archId = inputData.MultistageJobInputData.JobInputData.PrimaryVehicle.Vehicle.ArchitectureID; + _jobType = inputData.MultistageJobInputData.JobInputData.PrimaryVehicle.Vehicle.VehicleType; //inputData.MultistageJobInputData.JobInputData.ConsolidateManufacturingStage. } diff --git a/VectoCore/VectoCoreTest/InputData/RunDataFactory/RunDataFactoryFactoryTest.cs b/VectoCore/VectoCoreTest/InputData/RunDataFactory/RunDataFactoryFactoryTest.cs index b4444c669ff787cd81e0a1351ed46aa895e711ab..c41ed30d97086f13d83e1240056f9b097feb7955 100644 --- a/VectoCore/VectoCoreTest/InputData/RunDataFactory/RunDataFactoryFactoryTest.cs +++ b/VectoCore/VectoCoreTest/InputData/RunDataFactory/RunDataFactoryFactoryTest.cs @@ -12,6 +12,7 @@ using TUGraz.VectoCommon.Models; using TUGraz.VectoCore.InputData; using TUGraz.VectoCore.InputData.Reader; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry; using TUGraz.VectoCore.InputData.Reader.Impl; using TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.HeavyLorryRunDataFactory; @@ -196,10 +197,20 @@ namespace TUGraz.VectoCore.Tests.InputData.RunDataFactory } - -#endregion HeavyLorry -#region PrimaryBus [TestCase()] + public void Exempted_HeavyLorryTest(Type expectedDataAdapter = null) + { + var input = new Mock<IDeclarationInputDataProvider>() + .Exempted() + .Lorry(); + CreateRunDataFactory(input, typeof(DeclarationModeHeavyLorryRunDataFactory.Exempted), expectedDataAdapter); + + } + + + #endregion HeavyLorry + #region PrimaryBus + [TestCase()] public void ConventionalPrimaryBus() { var input = new Mock<IDeclarationInputDataProvider>() @@ -263,27 +274,24 @@ namespace TUGraz.VectoCore.Tests.InputData.RunDataFactory CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_S2)); } - [TestCase()] - public void HEV_P3_PrimaryBus() + public void HEV_P2_5_PrimaryBus() { var input = new Mock<IDeclarationInputDataProvider>() - .HEV(ArchitectureID.P3) + .HEV(ArchitectureID.P2_5) .PrimaryBus(); - CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_P3)); + CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_P2_5)); } - - [TestCase()] - public void HEV_P2_5_PrimaryBus() + [TestCase()] + public void HEV_P3_PrimaryBus() { var input = new Mock<IDeclarationInputDataProvider>() - .HEV(ArchitectureID.P2_5) + .HEV(ArchitectureID.P3) .PrimaryBus(); - CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_P2_5)); + CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_P3)); } - [TestCase()] public void HEV_P4_PrimaryBus() { @@ -331,7 +339,7 @@ namespace TUGraz.VectoCore.Tests.InputData.RunDataFactory } #endregion PrimaryBus - #region CompletedBus + #region CompletedBus [TestCase()] public void ConventionalCompletedBus() { @@ -521,6 +529,13 @@ namespace TUGraz.VectoCore.Tests.InputData.RunDataFactory return mock; } + internal static Mock<IDeclarationInputDataProvider> Exempted(this Mock<IDeclarationInputDataProvider> mock) + { + mock.Setup(p => p.JobInputData.Vehicle.ExemptedVehicle) + .Returns(true); + return mock; + } + internal static Mock<IMultistageVIFInputData> Conventional(this Mock<IMultistageVIFInputData> mock) { mock.Setup(p => p.MultistageJobInputData.JobInputData.PrimaryVehicle.Vehicle.VehicleType) @@ -564,6 +579,13 @@ namespace TUGraz.VectoCore.Tests.InputData.RunDataFactory return mock; } + internal static Mock<IMultistageVIFInputData> Exempted(this Mock<IMultistageVIFInputData> mock) + { + mock.Setup(p => p.MultistageJobInputData.JobInputData.PrimaryVehicle.Vehicle.ExemptedVehicle).Returns(true); + return mock; + } + + } diff --git a/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusFactorMethodTest.cs b/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusFactorMethodTest.cs index 6334fd4bd787a59c547b77626e184749e5ec5646..4ae2f2680f9963e6261225fa4f2bf2316874c8b7 100644 --- a/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusFactorMethodTest.cs +++ b/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusFactorMethodTest.cs @@ -22,6 +22,7 @@ using TUGraz.VectoCore.Models.Simulation.Impl; using TUGraz.VectoCore.Models.SimulationComponent.Data; using TUGraz.VectoCore.OutputData.FileIO; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry; using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC; using TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory; using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine; diff --git a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs index 4fb62f6219cb6e058cdeb67c4448d55a9fa16d92..49685ca7fc07502c4a2c4f417a14091b31b30570 100644 --- a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs +++ b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs @@ -41,6 +41,7 @@ using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.FileIO.JSON; using TUGraz.VectoCore.InputData.Reader.ComponentData; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry; using TUGraz.VectoCore.InputData.Reader.Impl; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.SimulationComponent.Data; diff --git a/VectoCore/VectoCoreTest/Models/Declaration/ShiftPolygonTest.cs b/VectoCore/VectoCoreTest/Models/Declaration/ShiftPolygonTest.cs index 89c56a1bfaa7430be54ec5fb05f111ca898f3348..defefa5236c1aa672fc6618c51a1a7381cfd4d40 100644 --- a/VectoCore/VectoCoreTest/Models/Declaration/ShiftPolygonTest.cs +++ b/VectoCore/VectoCoreTest/Models/Declaration/ShiftPolygonTest.cs @@ -42,6 +42,7 @@ using TUGraz.VectoCore.InputData.FileIO.JSON; using TUGraz.VectoCore.InputData.FileIO.XML; using TUGraz.VectoCore.InputData.Reader.ComponentData; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.Simulation.Impl; diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/ATGearboxTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/ATGearboxTest.cs index e84ed5e7500888f67281e06a47490a6095a0a047..03b0b59ca1e9bf0044926750a1c79828896dc353 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponent/ATGearboxTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/ATGearboxTest.cs @@ -40,6 +40,7 @@ using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.FileIO.JSON; using TUGraz.VectoCore.InputData.Impl; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry; using TUGraz.VectoCore.Models.Connector.Ports.Impl; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs index 94f1b6fbde457003cf2fb1f6f496172a9a9db82b..35435a494a35e1a6463182c6a7af47a036004c8e 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs @@ -53,6 +53,7 @@ using System.IO; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCore.InputData.FileIO.JSON; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry; // ReSharper disable RedundantAssignment // ReSharper disable UnusedVariable diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs index 6381bb3e3ac7f164571b98c0bcf55a9f576d6467..7b0e6e6df52f43e7ddc9efee3c889f7691d87cde 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs @@ -38,6 +38,7 @@ using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.Reader.ComponentData; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.Simulation.DataBus; using TUGraz.VectoCore.Models.Simulation.Impl; diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs index 2857d8a00c0d5542be77ea0d7d6a5a3fc90068e3..9ce9851a6f46adfdaa558df76c3c8b44781d28e5 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs @@ -42,6 +42,7 @@ using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.Reader.ComponentData; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.Simulation.Impl; diff --git a/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs b/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs index 171980a2aa031c888d275bcabce7b982b339b86d..5f6bcc6e0e02168211e788667e3e97f68f2fe3cf 100644 --- a/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs +++ b/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs @@ -45,6 +45,7 @@ using TUGraz.VectoCore.Models.SimulationComponent.Data; using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox; using TUGraz.VectoCore.Tests.FileIO; using TUGraz.VectoCommon.BusAuxiliaries; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry; using TUGraz.VectoCore.Models.SimulationComponent.Data.Battery; namespace TUGraz.VectoCore.Tests.Utils diff --git a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs index 2bbb611ebd9468ba3e53bcb90db23813c14a014e..f0f570272d36c43bc48dac2c3138d9b5dfe4d5a1 100644 --- a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs @@ -52,6 +52,7 @@ using NUnit.Framework; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCore.InputData.FileIO.XML; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry; using TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory; namespace TUGraz.VectoCore.Tests.XML