diff --git a/TestBenchFramework/BenchControl/Ambient/Comet/AmbientCfg.cs b/TestBenchFramework/BenchControl/Ambient/Comet/AmbientCfg.cs
index 91f2974de..8604cd23e 100644
--- a/TestBenchFramework/BenchControl/Ambient/Comet/AmbientCfg.cs
+++ b/TestBenchFramework/BenchControl/Ambient/Comet/AmbientCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.Ambient.Comet
{
public class AmbientCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(AmbientCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new AmbientCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Ambient/Comet/Factory.cs b/TestBenchFramework/BenchControl/Ambient/Comet/Factory.cs
index 179ad1686..49ce58624 100644
--- a/TestBenchFramework/BenchControl/Ambient/Comet/Factory.cs
+++ b/TestBenchFramework/BenchControl/Ambient/Comet/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Ambient.Comet
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(AmbientCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(AmbientCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Ambient/Greco/AmbientCfg.cs b/TestBenchFramework/BenchControl/Ambient/Greco/AmbientCfg.cs
index a2749cc30..b1a9782f9 100644
--- a/TestBenchFramework/BenchControl/Ambient/Greco/AmbientCfg.cs
+++ b/TestBenchFramework/BenchControl/Ambient/Greco/AmbientCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.Ambient.Greco
{
public class AmbientCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(AmbientCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new AmbientCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Ambient/Greco/Factory.cs b/TestBenchFramework/BenchControl/Ambient/Greco/Factory.cs
index fa636d56f..1b45b2e18 100644
--- a/TestBenchFramework/BenchControl/Ambient/Greco/Factory.cs
+++ b/TestBenchFramework/BenchControl/Ambient/Greco/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Ambient.Greco
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(AmbientCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(AmbientCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/BenchInfo/Munich/ComponentCfg.cs b/TestBenchFramework/BenchControl/BenchInfo/Munich/ComponentCfg.cs
index 083a44af6..3cb06f4b6 100644
--- a/TestBenchFramework/BenchControl/BenchInfo/Munich/ComponentCfg.cs
+++ b/TestBenchFramework/BenchControl/BenchInfo/Munich/ComponentCfg.cs
@@ -14,6 +14,9 @@ namespace TBF.BenchControl.BenchInfo.Munich
///
public class ComponentCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(ComponentCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new ComponentCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/BenchInfo/Munich/ComponentFactory.cs b/TestBenchFramework/BenchControl/BenchInfo/Munich/ComponentFactory.cs
index 4572bed53..f863e6f08 100644
--- a/TestBenchFramework/BenchControl/BenchInfo/Munich/ComponentFactory.cs
+++ b/TestBenchFramework/BenchControl/BenchInfo/Munich/ComponentFactory.cs
@@ -21,7 +21,7 @@ namespace TBF.BenchControl.BenchInfo.Munich
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(ComponentCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(ComponentCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/BenchInfo/Polska/ComponentCfg.cs b/TestBenchFramework/BenchControl/BenchInfo/Polska/ComponentCfg.cs
index 1fc4d6308..3ffb89245 100644
--- a/TestBenchFramework/BenchControl/BenchInfo/Polska/ComponentCfg.cs
+++ b/TestBenchFramework/BenchControl/BenchInfo/Polska/ComponentCfg.cs
@@ -14,6 +14,9 @@ namespace TBF.BenchControl.BenchInfo.Polska
///
public class ComponentCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(ComponentCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new ComponentCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/BenchInfo/Polska/ComponentFactory.cs b/TestBenchFramework/BenchControl/BenchInfo/Polska/ComponentFactory.cs
index 05f8941b8..b5d150e2d 100644
--- a/TestBenchFramework/BenchControl/BenchInfo/Polska/ComponentFactory.cs
+++ b/TestBenchFramework/BenchControl/BenchInfo/Polska/ComponentFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.BenchInfo.Polska
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(ComponentCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(ComponentCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/ComponentCfgBase.cs b/TestBenchFramework/BenchControl/ComponentCfgBase.cs
index 98659e20c..8a65cc287 100644
--- a/TestBenchFramework/BenchControl/ComponentCfgBase.cs
+++ b/TestBenchFramework/BenchControl/ComponentCfgBase.cs
@@ -12,7 +12,7 @@ namespace TBF.BenchControl
{
public class ComponentCfgBase
{
- [XmlIgnore]
+ [XmlIgnore]
public string Name
{
get { return name; }
@@ -94,28 +94,32 @@ namespace TBF.BenchControl
}
+ protected virtual XmlSerializer GetSerializer() { return new XmlSerializer(GetType()); }
+
public Component CreateDbEntity()
{
using (var writer = new StringWriter())
{
- (new XmlSerializer(GetType())).Serialize(writer, this);
+ GetSerializer().Serialize(writer, this);
return Component.CreateFromCfg(Name, factory.ClassName, ParentName, ItemNr, DebugLevel, LogLevel, writer.ToString());
}
}
-
- public static IComponentCfg CreateFromDbEntity(Type type, Component cmpntEntity, IComponentFactory factory)
+ public static IComponentCfg CreateFromDbEntity(XmlSerializer s, Component cmpntEntity, IComponentFactory factory)
{
using (var reader = new StringReader(cmpntEntity.Parameters))
{
- IComponentCfg config = (IComponentCfg)(new XmlSerializer(type)).Deserialize(reader);
- config.Name = cmpntEntity.Name;
- config.ParentName = cmpntEntity.ParentName;
- config.ItemNr = cmpntEntity.ItemNr;
- config.DebugLevel = cmpntEntity.Mode;
- config.LogLevel = cmpntEntity.Logging;
- config.Corrections = cmpntEntity.Corrections;
- config.Factory = factory;
+ IComponentCfg config = s.Deserialize(reader) as IComponentCfg;
+ if (config != null)
+ {
+ config.Name = cmpntEntity.Name;
+ config.ParentName = cmpntEntity.ParentName;
+ config.ItemNr = cmpntEntity.ItemNr;
+ config.DebugLevel = cmpntEntity.Mode;
+ config.LogLevel = cmpntEntity.Logging;
+ config.Corrections = cmpntEntity.Corrections;
+ config.Factory = factory;
+ }
return config;
}
}
diff --git a/TestBenchFramework/BenchControl/Configs/NameOnly/TestMethodCfg.cs b/TestBenchFramework/BenchControl/Configs/NameOnly/TestMethodCfg.cs
index 98d537508..b2655f3a8 100644
--- a/TestBenchFramework/BenchControl/Configs/NameOnly/TestMethodCfg.cs
+++ b/TestBenchFramework/BenchControl/Configs/NameOnly/TestMethodCfg.cs
@@ -2,11 +2,15 @@
/// Copyright (c) 2016 Sensus Metering Systems
///
using TBF.BenchControl.Generic;
+using System.Xml.Serialization;
namespace TBF.BenchControl.Configs.NameOnly
{
public class TestMethodCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(TestMethodCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new TestMethodCfgCtrl(); }
/// Private parameterless constructor invoked by all other (public) constructors
diff --git a/TestBenchFramework/BenchControl/DB/SensusOracle/DatabaseCfg.cs b/TestBenchFramework/BenchControl/DB/SensusOracle/DatabaseCfg.cs
index 1169c573b..8cb6c8add 100644
--- a/TestBenchFramework/BenchControl/DB/SensusOracle/DatabaseCfg.cs
+++ b/TestBenchFramework/BenchControl/DB/SensusOracle/DatabaseCfg.cs
@@ -30,6 +30,9 @@ namespace TBF.BenchControl.DB.SensusOracle
public class DatabaseCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(DatabaseCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new DatabaseCfgCtrl(); }
diff --git a/TestBenchFramework/BenchControl/DB/SensusOracle/DatabaseFactory.cs b/TestBenchFramework/BenchControl/DB/SensusOracle/DatabaseFactory.cs
index ca0cbed6b..42fd856a7 100644
--- a/TestBenchFramework/BenchControl/DB/SensusOracle/DatabaseFactory.cs
+++ b/TestBenchFramework/BenchControl/DB/SensusOracle/DatabaseFactory.cs
@@ -21,7 +21,7 @@ namespace TBF.BenchControl.DB.SensusOracle
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(DatabaseCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(DatabaseCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Danfoss/VLT2800/PumpCfg.cs b/TestBenchFramework/BenchControl/Danfoss/VLT2800/PumpCfg.cs
index 041604828..e47122256 100644
--- a/TestBenchFramework/BenchControl/Danfoss/VLT2800/PumpCfg.cs
+++ b/TestBenchFramework/BenchControl/Danfoss/VLT2800/PumpCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.Danfoss.VLT2800
{
public class PumpCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(PumpCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new PumpCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Danfoss/VLT2800/PumpFactory.cs b/TestBenchFramework/BenchControl/Danfoss/VLT2800/PumpFactory.cs
index d55923e3f..14003044d 100644
--- a/TestBenchFramework/BenchControl/Danfoss/VLT2800/PumpFactory.cs
+++ b/TestBenchFramework/BenchControl/Danfoss/VLT2800/PumpFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Danfoss.VLT2800
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(PumpCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(PumpCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/DataEntry/Combined/EntryFormCfg.cs b/TestBenchFramework/BenchControl/DataEntry/Combined/EntryFormCfg.cs
index 0e71ffc88..58e81d509 100644
--- a/TestBenchFramework/BenchControl/DataEntry/Combined/EntryFormCfg.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/Combined/EntryFormCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.DataEntry.Combined
{
public class EntryFormCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(EntryFormCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new EntryFormCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/DataEntry/Combined/EntryFormFactory.cs b/TestBenchFramework/BenchControl/DataEntry/Combined/EntryFormFactory.cs
index c64e87db1..f13842944 100644
--- a/TestBenchFramework/BenchControl/DataEntry/Combined/EntryFormFactory.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/Combined/EntryFormFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.DataEntry.Combined
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(EntryFormCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(EntryFormCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/DataEntry/HeatMeters12/EntryFormCfg.cs b/TestBenchFramework/BenchControl/DataEntry/HeatMeters12/EntryFormCfg.cs
index b5f02dce5..20e20c0b0 100644
--- a/TestBenchFramework/BenchControl/DataEntry/HeatMeters12/EntryFormCfg.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/HeatMeters12/EntryFormCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
{
public class EntryFormCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(EntryFormCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new EntryFormCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/DataEntry/HeatMeters12/Factory.cs b/TestBenchFramework/BenchControl/DataEntry/HeatMeters12/Factory.cs
index 8e0c4217a..71d746b43 100644
--- a/TestBenchFramework/BenchControl/DataEntry/HeatMeters12/Factory.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/HeatMeters12/Factory.cs
@@ -23,7 +23,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(typeof(EntryFormCfg), component, this);
+ IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(EntryFormCfg.Serializer, component, this);
(cfg as EntryFormCfg).Units = (cfg as EntryFormCfg).DefaultUnits;
return cfg;
}
diff --git a/TestBenchFramework/BenchControl/DataEntry/HeatMeters6/EntryFormCfg.cs b/TestBenchFramework/BenchControl/DataEntry/HeatMeters6/EntryFormCfg.cs
index aa72ee5bf..459f8e7d4 100644
--- a/TestBenchFramework/BenchControl/DataEntry/HeatMeters6/EntryFormCfg.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/HeatMeters6/EntryFormCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.DataEntry.HeatMeters6
{
public class EntryFormCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(EntryFormCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new EntryFormCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/DataEntry/HeatMeters6/Factory.cs b/TestBenchFramework/BenchControl/DataEntry/HeatMeters6/Factory.cs
index 4f2f97d47..63545b17a 100644
--- a/TestBenchFramework/BenchControl/DataEntry/HeatMeters6/Factory.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/HeatMeters6/Factory.cs
@@ -23,7 +23,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters6
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(typeof(EntryFormCfg), component, this);
+ IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(EntryFormCfg.Serializer, component, this);
(cfg as EntryFormCfg).Units = (cfg as EntryFormCfg).DefaultUnits;
return cfg;
}
diff --git a/TestBenchFramework/BenchControl/DataEntry/Munich/EntryFormCfg.cs b/TestBenchFramework/BenchControl/DataEntry/Munich/EntryFormCfg.cs
index fffc08d46..b117d28d5 100644
--- a/TestBenchFramework/BenchControl/DataEntry/Munich/EntryFormCfg.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/Munich/EntryFormCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.DataEntry.Munich
{
public class EntryFormCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(EntryFormCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new EntryFormCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/DataEntry/Munich/EntryFormFactory.cs b/TestBenchFramework/BenchControl/DataEntry/Munich/EntryFormFactory.cs
index 7f931d359..57af5a731 100644
--- a/TestBenchFramework/BenchControl/DataEntry/Munich/EntryFormFactory.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/Munich/EntryFormFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.DataEntry.Munich
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(EntryFormCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(EntryFormCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/DataEntry/Munich3/EntryFormCfg.cs b/TestBenchFramework/BenchControl/DataEntry/Munich3/EntryFormCfg.cs
index 15e0fa761..d9385b75d 100644
--- a/TestBenchFramework/BenchControl/DataEntry/Munich3/EntryFormCfg.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/Munich3/EntryFormCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.DataEntry.Munich3
{
public class EntryFormCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(EntryFormCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new EntryFormCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/DataEntry/Munich3/EntryFormFactory.cs b/TestBenchFramework/BenchControl/DataEntry/Munich3/EntryFormFactory.cs
index db50cb4c0..8f44aa919 100644
--- a/TestBenchFramework/BenchControl/DataEntry/Munich3/EntryFormFactory.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/Munich3/EntryFormFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.DataEntry.Munich3
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(EntryFormCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(EntryFormCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/DataEntry/Standard12/EntryFormCfg.cs b/TestBenchFramework/BenchControl/DataEntry/Standard12/EntryFormCfg.cs
index 839e9d727..9828919d5 100644
--- a/TestBenchFramework/BenchControl/DataEntry/Standard12/EntryFormCfg.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/Standard12/EntryFormCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.DataEntry.Standard12
{
public class EntryFormCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(EntryFormCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new EntryFormCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/DataEntry/Standard12/Factory.cs b/TestBenchFramework/BenchControl/DataEntry/Standard12/Factory.cs
index 8e0915a90..3b4214a2b 100644
--- a/TestBenchFramework/BenchControl/DataEntry/Standard12/Factory.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/Standard12/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.DataEntry.Standard12
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(EntryFormCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(EntryFormCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/DataEntry/Standard12/FactoryNoStartEnd.cs b/TestBenchFramework/BenchControl/DataEntry/Standard12/FactoryNoStartEnd.cs
index 6a7ebb7e9..7837940e5 100644
--- a/TestBenchFramework/BenchControl/DataEntry/Standard12/FactoryNoStartEnd.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/Standard12/FactoryNoStartEnd.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.DataEntry.Standard12
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(EntryFormCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(EntryFormCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/DataEntry/Standard24/EntryFormCfg.cs b/TestBenchFramework/BenchControl/DataEntry/Standard24/EntryFormCfg.cs
index 11ad2a7e3..8654c719a 100644
--- a/TestBenchFramework/BenchControl/DataEntry/Standard24/EntryFormCfg.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/Standard24/EntryFormCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.DataEntry.Standard24
{
public class EntryFormCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(EntryFormCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new EntryFormCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/DataEntry/Standard24/Factory.cs b/TestBenchFramework/BenchControl/DataEntry/Standard24/Factory.cs
index 11158d9cd..3c7d2f255 100644
--- a/TestBenchFramework/BenchControl/DataEntry/Standard24/Factory.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/Standard24/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(EntryFormCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(EntryFormCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/DataEntry/Standard24/FactoryNoStartEnd.cs b/TestBenchFramework/BenchControl/DataEntry/Standard24/FactoryNoStartEnd.cs
index e387d1036..272d0ff5e 100644
--- a/TestBenchFramework/BenchControl/DataEntry/Standard24/FactoryNoStartEnd.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/Standard24/FactoryNoStartEnd.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(EntryFormCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(EntryFormCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/DataEntry/Standard48/EntryFormCfg.cs b/TestBenchFramework/BenchControl/DataEntry/Standard48/EntryFormCfg.cs
index b1b8fdae4..fa8be2ffc 100644
--- a/TestBenchFramework/BenchControl/DataEntry/Standard48/EntryFormCfg.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/Standard48/EntryFormCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.DataEntry.Standard48
{
public class EntryFormCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(EntryFormCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new EntryFormCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/DataEntry/Standard48/Factory.cs b/TestBenchFramework/BenchControl/DataEntry/Standard48/Factory.cs
index 782cde639..53c6c500c 100644
--- a/TestBenchFramework/BenchControl/DataEntry/Standard48/Factory.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/Standard48/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(EntryFormCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(EntryFormCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/DataEntry/Standard48/FactoryNoStartEnd.cs b/TestBenchFramework/BenchControl/DataEntry/Standard48/FactoryNoStartEnd.cs
index 564bbc7ba..b120dec6a 100644
--- a/TestBenchFramework/BenchControl/DataEntry/Standard48/FactoryNoStartEnd.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/Standard48/FactoryNoStartEnd.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(EntryFormCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(EntryFormCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/DataEntry/Standard6/EntryFormCfg.cs b/TestBenchFramework/BenchControl/DataEntry/Standard6/EntryFormCfg.cs
index aace68f5f..3a0f0c816 100644
--- a/TestBenchFramework/BenchControl/DataEntry/Standard6/EntryFormCfg.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/Standard6/EntryFormCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.DataEntry.Standard6
{
public class EntryFormCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(EntryFormCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new EntryFormCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/DataEntry/Standard6/Factory.cs b/TestBenchFramework/BenchControl/DataEntry/Standard6/Factory.cs
index 38d6c41cb..e9a061f0e 100644
--- a/TestBenchFramework/BenchControl/DataEntry/Standard6/Factory.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/Standard6/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.DataEntry.Standard6
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(EntryFormCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(EntryFormCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/DataEntry/Standard6/FactoryNoStartEnd.cs b/TestBenchFramework/BenchControl/DataEntry/Standard6/FactoryNoStartEnd.cs
index 9ea601379..017826233 100644
--- a/TestBenchFramework/BenchControl/DataEntry/Standard6/FactoryNoStartEnd.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/Standard6/FactoryNoStartEnd.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.DataEntry.Standard6
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(EntryFormCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(EntryFormCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/DataEntry/WMStates/EntryFormCfg.cs b/TestBenchFramework/BenchControl/DataEntry/WMStates/EntryFormCfg.cs
index 2005f3ada..cfa23ef48 100644
--- a/TestBenchFramework/BenchControl/DataEntry/WMStates/EntryFormCfg.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/WMStates/EntryFormCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.DataEntry.WMStates
{
public class EntryFormCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(EntryFormCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new EntryFormCfgCtrl(); }
/// Private parameterless constructor invoked by all other (public) constructors
diff --git a/TestBenchFramework/BenchControl/DataEntry/WMStates/EntryFormFactory.cs b/TestBenchFramework/BenchControl/DataEntry/WMStates/EntryFormFactory.cs
index ccab13cd2..fd77c2e22 100644
--- a/TestBenchFramework/BenchControl/DataEntry/WMStates/EntryFormFactory.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/WMStates/EntryFormFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.DataEntry.WMStates
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(EntryFormCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(EntryFormCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/DataEntry/iPerl/EntryFormCfg.cs b/TestBenchFramework/BenchControl/DataEntry/iPerl/EntryFormCfg.cs
index 13275a530..5f54604d8 100644
--- a/TestBenchFramework/BenchControl/DataEntry/iPerl/EntryFormCfg.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/iPerl/EntryFormCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.DataEntry.iPerl
{
public class EntryFormCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(EntryFormCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new EntryFormCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/DataEntry/iPerl/EntryFormFactory.cs b/TestBenchFramework/BenchControl/DataEntry/iPerl/EntryFormFactory.cs
index 14495fa09..1a2f8ebfd 100644
--- a/TestBenchFramework/BenchControl/DataEntry/iPerl/EntryFormFactory.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/iPerl/EntryFormFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.DataEntry.iPerl
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(EntryFormCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(EntryFormCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Dummy/Balance/Factory.cs b/TestBenchFramework/BenchControl/Dummy/Balance/Factory.cs
index 8ada18dc4..e2f6097fa 100644
--- a/TestBenchFramework/BenchControl/Dummy/Balance/Factory.cs
+++ b/TestBenchFramework/BenchControl/Dummy/Balance/Factory.cs
@@ -21,7 +21,7 @@ namespace TBF.BenchControl.Dummy.Balance
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TestMethodCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TestMethodCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Dummy/Diverter/Factory.cs b/TestBenchFramework/BenchControl/Dummy/Diverter/Factory.cs
index 9afd2c8d5..b401dd639 100644
--- a/TestBenchFramework/BenchControl/Dummy/Diverter/Factory.cs
+++ b/TestBenchFramework/BenchControl/Dummy/Diverter/Factory.cs
@@ -21,7 +21,7 @@ namespace TBF.BenchControl.Dummy.Diverter
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TestMethodCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TestMethodCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Dummy/FlowMeter/Factory.cs b/TestBenchFramework/BenchControl/Dummy/FlowMeter/Factory.cs
index 4268e374a..0d4c76694 100644
--- a/TestBenchFramework/BenchControl/Dummy/FlowMeter/Factory.cs
+++ b/TestBenchFramework/BenchControl/Dummy/FlowMeter/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Dummy.FlowMeter
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(FlowMeterCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(FlowMeterCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Dummy/FlowMeter/FlowMeterCfg.cs b/TestBenchFramework/BenchControl/Dummy/FlowMeter/FlowMeterCfg.cs
index f416a80e9..c3bfa42d2 100644
--- a/TestBenchFramework/BenchControl/Dummy/FlowMeter/FlowMeterCfg.cs
+++ b/TestBenchFramework/BenchControl/Dummy/FlowMeter/FlowMeterCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.Dummy.FlowMeter
{
public class FlowMeterCfg : ComponentCfgBase, GenericDevices.ICalibInfoCfg, IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(FlowMeterCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new FlowMeterCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Dummy/RegulValve/Factory.cs b/TestBenchFramework/BenchControl/Dummy/RegulValve/Factory.cs
index f92b0fcfa..ebee99b52 100644
--- a/TestBenchFramework/BenchControl/Dummy/RegulValve/Factory.cs
+++ b/TestBenchFramework/BenchControl/Dummy/RegulValve/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Dummy.RegulValve
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(RegulValveCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(RegulValveCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Dummy/RegulValve/RegulValveCfg.cs b/TestBenchFramework/BenchControl/Dummy/RegulValve/RegulValveCfg.cs
index 140c2d9cb..14ecd4026 100644
--- a/TestBenchFramework/BenchControl/Dummy/RegulValve/RegulValveCfg.cs
+++ b/TestBenchFramework/BenchControl/Dummy/RegulValve/RegulValveCfg.cs
@@ -2,11 +2,15 @@
/// Copyright (c) 2017 Sensus Metering Systems
///
using TBF.BenchControl.Generic;
+using System.Xml.Serialization;
namespace TBF.BenchControl.Dummy.RegulValve
{
public class RegulValveCfg : ComponentCfgBase, IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(RegulValveCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new RegulValveCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Dummy/Valve/Factory.cs b/TestBenchFramework/BenchControl/Dummy/Valve/Factory.cs
index 7f5233a0b..fa10c5e4c 100644
--- a/TestBenchFramework/BenchControl/Dummy/Valve/Factory.cs
+++ b/TestBenchFramework/BenchControl/Dummy/Valve/Factory.cs
@@ -21,7 +21,7 @@ namespace TBF.BenchControl.Dummy.Valve
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TestMethodCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TestMethodCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Elde/ControlBoardCfg.cs b/TestBenchFramework/BenchControl/Elde/ControlBoardCfg.cs
index 7bf376246..9c1db0e82 100644
--- a/TestBenchFramework/BenchControl/Elde/ControlBoardCfg.cs
+++ b/TestBenchFramework/BenchControl/Elde/ControlBoardCfg.cs
@@ -10,6 +10,9 @@ namespace TBF.BenchControl.Elde
{
public class ControlBoardCfg : ComponentCfgBase, IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(ControlBoardCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new ControlBoardCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Elde/ControlBoardFactory.cs b/TestBenchFramework/BenchControl/Elde/ControlBoardFactory.cs
index 4e98f6dd2..f43213c8b 100644
--- a/TestBenchFramework/BenchControl/Elde/ControlBoardFactory.cs
+++ b/TestBenchFramework/BenchControl/Elde/ControlBoardFactory.cs
@@ -28,7 +28,7 @@ namespace TBF.BenchControl.Elde
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(Elde.ControlBoardCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(Elde.ControlBoardCfg.Serializer, component, this);
}
public void ResetStaticProperties() { ControlBoardDev.ResetStaticProperties(); }
diff --git a/TestBenchFramework/BenchControl/Elde/CoverTest/CoverTestCfg.cs b/TestBenchFramework/BenchControl/Elde/CoverTest/CoverTestCfg.cs
index e6d48735d..e422fb6dc 100644
--- a/TestBenchFramework/BenchControl/Elde/CoverTest/CoverTestCfg.cs
+++ b/TestBenchFramework/BenchControl/Elde/CoverTest/CoverTestCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.Elde.CoverTest
{
public class CoverTestCfg : ComponentCfgBase, IChildComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(CoverTestCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new CoverTestCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Elde/CoverTest/Factory.cs b/TestBenchFramework/BenchControl/Elde/CoverTest/Factory.cs
index 57a10bf89..b70255ed2 100644
--- a/TestBenchFramework/BenchControl/Elde/CoverTest/Factory.cs
+++ b/TestBenchFramework/BenchControl/Elde/CoverTest/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Elde.CoverTest
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(CoverTestCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(CoverTestCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Elde/Diverter/DiverterCfg.cs b/TestBenchFramework/BenchControl/Elde/Diverter/DiverterCfg.cs
index ab7ddf6ad..83febd940 100644
--- a/TestBenchFramework/BenchControl/Elde/Diverter/DiverterCfg.cs
+++ b/TestBenchFramework/BenchControl/Elde/Diverter/DiverterCfg.cs
@@ -10,6 +10,9 @@ namespace TBF.BenchControl.Elde.Diverter
{
public class DiverterCfg : ComponentCfgBase, IChildComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(DiverterCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new DiverterCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Elde/Diverter/DiverterFactory.cs b/TestBenchFramework/BenchControl/Elde/Diverter/DiverterFactory.cs
index 012c6748d..1e44c3fef 100644
--- a/TestBenchFramework/BenchControl/Elde/Diverter/DiverterFactory.cs
+++ b/TestBenchFramework/BenchControl/Elde/Diverter/DiverterFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Elde.Diverter
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(DiverterCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(DiverterCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Elde/FixedStartRegisterReader/RRProcedureParams.cs b/TestBenchFramework/BenchControl/Elde/FixedStartRegisterReader/RRProcedureParams.cs
index f5cbf66c1..1234222c7 100644
--- a/TestBenchFramework/BenchControl/Elde/FixedStartRegisterReader/RRProcedureParams.cs
+++ b/TestBenchFramework/BenchControl/Elde/FixedStartRegisterReader/RRProcedureParams.cs
@@ -13,6 +13,9 @@ namespace TBF.BenchControl.Elde.FixedStartRegisterReader
{
public class RRProcedureParams : ProcedureParamsBase, IParamsProvider, IProcedureParams
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(RRProcedureParams) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public float PulsesPerLtr; /// Target low limit of the flow increase or decrease
public override void InitializeAll()
@@ -83,14 +86,13 @@ namespace TBF.BenchControl.Elde.FixedStartRegisterReader
if (dbEntity == null) return;
try
{
- RRProcedureParams tmp = (RRProcedureParams)(new XmlSerializer(typeof(RRProcedureParams)))
- .Deserialize(new StringReader(dbEntity.Parameters));
+ RRProcedureParams tmp = Serializer.Deserialize(new StringReader(dbEntity.Parameters)) as RRProcedureParams;
procedureParamsEntity = dbEntity;
componentName = dbEntity.CmpntName;
procedure = dbEntity.Procedure;
- tmp.CopyContentTo(this);
+ if (tmp != null) tmp.CopyContentTo(this);
}
catch
{
diff --git a/TestBenchFramework/BenchControl/Elde/FixedStartRegisterReader/RegisterReaderCfg.cs b/TestBenchFramework/BenchControl/Elde/FixedStartRegisterReader/RegisterReaderCfg.cs
index fe3b07a37..726ee015f 100644
--- a/TestBenchFramework/BenchControl/Elde/FixedStartRegisterReader/RegisterReaderCfg.cs
+++ b/TestBenchFramework/BenchControl/Elde/FixedStartRegisterReader/RegisterReaderCfg.cs
@@ -12,6 +12,9 @@ namespace TBF.BenchControl.Elde.FixedStartRegisterReader
{
public class RegisterReaderCfg : ComponentCfgBase, Generic.IChildComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(RegisterReaderCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new RegisterReaderCfgCtrl(); }
/// Procedure parameters
diff --git a/TestBenchFramework/BenchControl/Elde/FixedStartRegisterReader/RegisterReaderFactory.cs b/TestBenchFramework/BenchControl/Elde/FixedStartRegisterReader/RegisterReaderFactory.cs
index 25d593013..00dde1c89 100644
--- a/TestBenchFramework/BenchControl/Elde/FixedStartRegisterReader/RegisterReaderFactory.cs
+++ b/TestBenchFramework/BenchControl/Elde/FixedStartRegisterReader/RegisterReaderFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Elde.FixedStartRegisterReader
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(RegisterReaderCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(RegisterReaderCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Elde/FlowMeter/FlowMeterCfg.cs b/TestBenchFramework/BenchControl/Elde/FlowMeter/FlowMeterCfg.cs
index 289304847..b2efda835 100644
--- a/TestBenchFramework/BenchControl/Elde/FlowMeter/FlowMeterCfg.cs
+++ b/TestBenchFramework/BenchControl/Elde/FlowMeter/FlowMeterCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.Elde.FlowMeter
{
public class FlowMeterCfg : ComponentCfgBase, GenericDevices.ICalibInfoCfg, IChildComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(FlowMeterCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new FlowMeterCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Elde/FlowMeter/FlowMeterFactory.cs b/TestBenchFramework/BenchControl/Elde/FlowMeter/FlowMeterFactory.cs
index 03c9da742..c43f1ae10 100644
--- a/TestBenchFramework/BenchControl/Elde/FlowMeter/FlowMeterFactory.cs
+++ b/TestBenchFramework/BenchControl/Elde/FlowMeter/FlowMeterFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Elde.FlowMeter
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(FlowMeterCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(FlowMeterCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Elde/FlowMeterTwins/FlowMeterCfg.cs b/TestBenchFramework/BenchControl/Elde/FlowMeterTwins/FlowMeterCfg.cs
index 595ad22e8..31c03ec76 100644
--- a/TestBenchFramework/BenchControl/Elde/FlowMeterTwins/FlowMeterCfg.cs
+++ b/TestBenchFramework/BenchControl/Elde/FlowMeterTwins/FlowMeterCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.Elde.FlowMeterTwins
{
public class FlowMeterCfg : ComponentCfgBase, Generic.IChildComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(FlowMeterCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new FlowMeterCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Elde/FlowMeterTwins/FlowMeterFactory.cs b/TestBenchFramework/BenchControl/Elde/FlowMeterTwins/FlowMeterFactory.cs
index 5f5f7d900..c81361aef 100644
--- a/TestBenchFramework/BenchControl/Elde/FlowMeterTwins/FlowMeterFactory.cs
+++ b/TestBenchFramework/BenchControl/Elde/FlowMeterTwins/FlowMeterFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Elde.FlowMeterTwins
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(FlowMeterCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(FlowMeterCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Elde/PressureMeter/PressureMeterCfg.cs b/TestBenchFramework/BenchControl/Elde/PressureMeter/PressureMeterCfg.cs
index d0c616cbe..d9608d776 100644
--- a/TestBenchFramework/BenchControl/Elde/PressureMeter/PressureMeterCfg.cs
+++ b/TestBenchFramework/BenchControl/Elde/PressureMeter/PressureMeterCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.Elde.PressureMeter
{
public class PressureMeterCfg : ComponentCfgBase, Generic.IChildComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(PressureMeterCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new PressureMeterCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Elde/PressureMeter/PressureMeterFactory.cs b/TestBenchFramework/BenchControl/Elde/PressureMeter/PressureMeterFactory.cs
index c1bf2c8ab..993c10ec6 100644
--- a/TestBenchFramework/BenchControl/Elde/PressureMeter/PressureMeterFactory.cs
+++ b/TestBenchFramework/BenchControl/Elde/PressureMeter/PressureMeterFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Elde.PressureMeter
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(PressureMeterCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(PressureMeterCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Elde/PressureMeterInternal/PressureMeterCfg.cs b/TestBenchFramework/BenchControl/Elde/PressureMeterInternal/PressureMeterCfg.cs
index 48f4af8ea..b4d9ffbfa 100644
--- a/TestBenchFramework/BenchControl/Elde/PressureMeterInternal/PressureMeterCfg.cs
+++ b/TestBenchFramework/BenchControl/Elde/PressureMeterInternal/PressureMeterCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.Elde.PressureMeterInternal
{
public class PressureMeterCfg : ComponentCfgBase, IChildComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(PressureMeterCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new PressureMeterCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Elde/PressureMeterInternal/PressureMeterFactory.cs b/TestBenchFramework/BenchControl/Elde/PressureMeterInternal/PressureMeterFactory.cs
index 0f542ea08..91959c277 100644
--- a/TestBenchFramework/BenchControl/Elde/PressureMeterInternal/PressureMeterFactory.cs
+++ b/TestBenchFramework/BenchControl/Elde/PressureMeterInternal/PressureMeterFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Elde.PressureMeterInternal
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(PressureMeterCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(PressureMeterCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Elde/Pump/PumpCfg.cs b/TestBenchFramework/BenchControl/Elde/Pump/PumpCfg.cs
index 0b6a680d2..2a7c1c6cd 100644
--- a/TestBenchFramework/BenchControl/Elde/Pump/PumpCfg.cs
+++ b/TestBenchFramework/BenchControl/Elde/Pump/PumpCfg.cs
@@ -10,6 +10,9 @@ namespace TBF.BenchControl.Elde.Pump
{
public class PumpCfg : ComponentCfgBase, IChildComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(PumpCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new PumpCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Elde/Pump/PumpFactory.cs b/TestBenchFramework/BenchControl/Elde/Pump/PumpFactory.cs
index e445a88a3..05a5f3bd5 100644
--- a/TestBenchFramework/BenchControl/Elde/Pump/PumpFactory.cs
+++ b/TestBenchFramework/BenchControl/Elde/Pump/PumpFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Elde.Pump
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(PumpCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(PumpCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Elde/PumpTandem/PumpCfg.cs b/TestBenchFramework/BenchControl/Elde/PumpTandem/PumpCfg.cs
index dc0cb2e74..bee933568 100644
--- a/TestBenchFramework/BenchControl/Elde/PumpTandem/PumpCfg.cs
+++ b/TestBenchFramework/BenchControl/Elde/PumpTandem/PumpCfg.cs
@@ -10,6 +10,9 @@ namespace TBF.BenchControl.Elde.PumpTandem
{
public class PumpCfg : ComponentCfgBase, IChildComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(PumpCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new PumpCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Elde/PumpTandem/PumpFactory.cs b/TestBenchFramework/BenchControl/Elde/PumpTandem/PumpFactory.cs
index 0a151dbb4..7bf37b0fc 100644
--- a/TestBenchFramework/BenchControl/Elde/PumpTandem/PumpFactory.cs
+++ b/TestBenchFramework/BenchControl/Elde/PumpTandem/PumpFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Elde.PumpTandem
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(PumpCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(PumpCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Elde/PumpWithFM/PumpCfg.cs b/TestBenchFramework/BenchControl/Elde/PumpWithFM/PumpCfg.cs
index 0e32c0d74..4165fa1ff 100644
--- a/TestBenchFramework/BenchControl/Elde/PumpWithFM/PumpCfg.cs
+++ b/TestBenchFramework/BenchControl/Elde/PumpWithFM/PumpCfg.cs
@@ -10,6 +10,9 @@ namespace TBF.BenchControl.Elde.PumpWithFM
{
public class PumpCfg : ComponentCfgBase, IChildComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(PumpCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new PumpCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Elde/PumpWithFM/PumpFactory.cs b/TestBenchFramework/BenchControl/Elde/PumpWithFM/PumpFactory.cs
index 566ce6a3b..dec81e7d5 100644
--- a/TestBenchFramework/BenchControl/Elde/PumpWithFM/PumpFactory.cs
+++ b/TestBenchFramework/BenchControl/Elde/PumpWithFM/PumpFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Elde.PumpWithFM
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(PumpCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(PumpCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Elde/RegisterReader/Factory.cs b/TestBenchFramework/BenchControl/Elde/RegisterReader/Factory.cs
index 01e454193..833b83aab 100644
--- a/TestBenchFramework/BenchControl/Elde/RegisterReader/Factory.cs
+++ b/TestBenchFramework/BenchControl/Elde/RegisterReader/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Elde.RegisterReader
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(RegisterReaderCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(RegisterReaderCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Elde/RegisterReader/RRProcedureParams.cs b/TestBenchFramework/BenchControl/Elde/RegisterReader/RRProcedureParams.cs
index 6e6a0a300..50bafcba3 100644
--- a/TestBenchFramework/BenchControl/Elde/RegisterReader/RRProcedureParams.cs
+++ b/TestBenchFramework/BenchControl/Elde/RegisterReader/RRProcedureParams.cs
@@ -13,6 +13,9 @@ namespace TBF.BenchControl.Elde.RegisterReader
{
public class RRProcedureParams : ProcedureParamsBase, IParamsProvider, IProcedureParams
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(RRProcedureParams) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public float PulsesPerLtr; /// [l^-1]
public override void InitializeAll()
@@ -83,14 +86,13 @@ namespace TBF.BenchControl.Elde.RegisterReader
if (dbEntity == null) return;
try
{
- RRProcedureParams tmp = (RRProcedureParams)(new XmlSerializer(typeof(RRProcedureParams)))
- .Deserialize(new StringReader(dbEntity.Parameters));
+ RRProcedureParams tmp = Serializer.Deserialize(new StringReader(dbEntity.Parameters)) as RRProcedureParams;
procedureParamsEntity = dbEntity;
componentName = dbEntity.CmpntName;
procedure = dbEntity.Procedure;
- tmp.CopyContentTo(this);
+ if (tmp != null) tmp.CopyContentTo(this);
}
catch
{
diff --git a/TestBenchFramework/BenchControl/Elde/RegisterReader/RegisterReaderCfg.cs b/TestBenchFramework/BenchControl/Elde/RegisterReader/RegisterReaderCfg.cs
index 566d81bf3..bb640f21d 100644
--- a/TestBenchFramework/BenchControl/Elde/RegisterReader/RegisterReaderCfg.cs
+++ b/TestBenchFramework/BenchControl/Elde/RegisterReader/RegisterReaderCfg.cs
@@ -9,6 +9,9 @@ namespace TBF.BenchControl.Elde.RegisterReader
{
public class RegisterReaderCfg : ComponentCfgBase, Generic.IChildComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(RegisterReaderCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new RegisterReaderCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Elde/RegulValve/RegulValveCfg.cs b/TestBenchFramework/BenchControl/Elde/RegulValve/RegulValveCfg.cs
index 592e57e2c..64bca96bd 100644
--- a/TestBenchFramework/BenchControl/Elde/RegulValve/RegulValveCfg.cs
+++ b/TestBenchFramework/BenchControl/Elde/RegulValve/RegulValveCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.Elde.RegulValve
{
public class RegulValveCfg : ComponentCfgBase, IChildComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(RegulValveCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new RegulValveCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Elde/RegulValve/RegulValveFactory.cs b/TestBenchFramework/BenchControl/Elde/RegulValve/RegulValveFactory.cs
index 79527199b..a682bf5b9 100644
--- a/TestBenchFramework/BenchControl/Elde/RegulValve/RegulValveFactory.cs
+++ b/TestBenchFramework/BenchControl/Elde/RegulValve/RegulValveFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Elde.RegulValve
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(RegulValveCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(RegulValveCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Elde/RegulValveTandem/RegulValveTandemCfg.cs b/TestBenchFramework/BenchControl/Elde/RegulValveTandem/RegulValveTandemCfg.cs
index 345733aba..5e6d853a4 100644
--- a/TestBenchFramework/BenchControl/Elde/RegulValveTandem/RegulValveTandemCfg.cs
+++ b/TestBenchFramework/BenchControl/Elde/RegulValveTandem/RegulValveTandemCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.Elde.RegulValveTandem
{
public class RegulValveTandemCfg : ComponentCfgBase, IChildComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(RegulValveTandemCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new RegulValveTandemCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Elde/RegulValveTandem/RegulValveTandemFactory.cs b/TestBenchFramework/BenchControl/Elde/RegulValveTandem/RegulValveTandemFactory.cs
index 34cda1219..75b751462 100644
--- a/TestBenchFramework/BenchControl/Elde/RegulValveTandem/RegulValveTandemFactory.cs
+++ b/TestBenchFramework/BenchControl/Elde/RegulValveTandem/RegulValveTandemFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Elde.RegulValveTandem
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(RegulValveTandemCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(RegulValveTandemCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Elde/TempMeter/TempMeterCfg.cs b/TestBenchFramework/BenchControl/Elde/TempMeter/TempMeterCfg.cs
index a539bbe3f..3b01b52a5 100644
--- a/TestBenchFramework/BenchControl/Elde/TempMeter/TempMeterCfg.cs
+++ b/TestBenchFramework/BenchControl/Elde/TempMeter/TempMeterCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.Elde.TempMeter
{
public class TempMeterCfg : ComponentCfgBase, IChildComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(TempMeterCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new TempMeterCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Elde/TempMeter/TempMeterFactory.cs b/TestBenchFramework/BenchControl/Elde/TempMeter/TempMeterFactory.cs
index bd4414053..de91443a4 100644
--- a/TestBenchFramework/BenchControl/Elde/TempMeter/TempMeterFactory.cs
+++ b/TestBenchFramework/BenchControl/Elde/TempMeter/TempMeterFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Elde.TempMeter
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TempMeterCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TempMeterCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Elde/TempMeterInternal/TempMeterCfg.cs b/TestBenchFramework/BenchControl/Elde/TempMeterInternal/TempMeterCfg.cs
index a6b6cc603..fa82151e5 100644
--- a/TestBenchFramework/BenchControl/Elde/TempMeterInternal/TempMeterCfg.cs
+++ b/TestBenchFramework/BenchControl/Elde/TempMeterInternal/TempMeterCfg.cs
@@ -12,6 +12,9 @@ namespace TBF.BenchControl.Elde.TempMeterInternal
{
public class TempMeterCfg : ComponentCfgBase, IChildComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(TempMeterCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new TempMeterCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Elde/TempMeterInternal/TempMeterFactory.cs b/TestBenchFramework/BenchControl/Elde/TempMeterInternal/TempMeterFactory.cs
index 15d6269e2..c6c1d4ede 100644
--- a/TestBenchFramework/BenchControl/Elde/TempMeterInternal/TempMeterFactory.cs
+++ b/TestBenchFramework/BenchControl/Elde/TempMeterInternal/TempMeterFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Elde.TempMeterInternal
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TempMeterCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TempMeterCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Elde/Valve/ValveCfg.cs b/TestBenchFramework/BenchControl/Elde/Valve/ValveCfg.cs
index c47d966e6..54cb76149 100644
--- a/TestBenchFramework/BenchControl/Elde/Valve/ValveCfg.cs
+++ b/TestBenchFramework/BenchControl/Elde/Valve/ValveCfg.cs
@@ -10,6 +10,9 @@ namespace TBF.BenchControl.Elde.Valve
{
public class ValveCfg : ComponentCfgBase, IChildComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(ValveCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new ValveCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Elde/Valve/ValveFactory.cs b/TestBenchFramework/BenchControl/Elde/Valve/ValveFactory.cs
index 2f0808133..cd1b5a071 100644
--- a/TestBenchFramework/BenchControl/Elde/Valve/ValveFactory.cs
+++ b/TestBenchFramework/BenchControl/Elde/Valve/ValveFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Elde.Valve
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(ValveCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(ValveCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Elde/ValveEx/ValveCfg.cs b/TestBenchFramework/BenchControl/Elde/ValveEx/ValveCfg.cs
index f1eae1d4f..c6b8ad59a 100644
--- a/TestBenchFramework/BenchControl/Elde/ValveEx/ValveCfg.cs
+++ b/TestBenchFramework/BenchControl/Elde/ValveEx/ValveCfg.cs
@@ -10,6 +10,9 @@ namespace TBF.BenchControl.Elde.ValveEx
{
public class ValveCfg : ComponentCfgBase, IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(ValveCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new ValveCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Elde/ValveEx/ValveFactory.cs b/TestBenchFramework/BenchControl/Elde/ValveEx/ValveFactory.cs
index 993deaecf..3ad803c14 100644
--- a/TestBenchFramework/BenchControl/Elde/ValveEx/ValveFactory.cs
+++ b/TestBenchFramework/BenchControl/Elde/ValveEx/ValveFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Elde.ValveEx
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(ValveCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(ValveCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Keithley/Multimeter_2010_RS232/Factory.cs b/TestBenchFramework/BenchControl/Keithley/Multimeter_2010_RS232/Factory.cs
index 8d0954da8..3be74fd37 100644
--- a/TestBenchFramework/BenchControl/Keithley/Multimeter_2010_RS232/Factory.cs
+++ b/TestBenchFramework/BenchControl/Keithley/Multimeter_2010_RS232/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Keithley.Multimeter_2010_RS232
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(MultimeterCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(MultimeterCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Keithley/Multimeter_2010_RS232/MultimeterCfg.cs b/TestBenchFramework/BenchControl/Keithley/Multimeter_2010_RS232/MultimeterCfg.cs
index c00b22a81..10f34fd2c 100644
--- a/TestBenchFramework/BenchControl/Keithley/Multimeter_2010_RS232/MultimeterCfg.cs
+++ b/TestBenchFramework/BenchControl/Keithley/Multimeter_2010_RS232/MultimeterCfg.cs
@@ -3,12 +3,16 @@
///
using System;
using System.IO.Ports;
+using System.Xml.Serialization;
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.Keithley.Multimeter_2010_RS232
{
public class MultimeterCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(MultimeterCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new MultimeterCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Keithley/TempMeter/Factory.cs b/TestBenchFramework/BenchControl/Keithley/TempMeter/Factory.cs
index 0e3e607e8..d9ea3e3ca 100644
--- a/TestBenchFramework/BenchControl/Keithley/TempMeter/Factory.cs
+++ b/TestBenchFramework/BenchControl/Keithley/TempMeter/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Keithley.TempMeter
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TempMeterCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TempMeterCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Keithley/TempMeter/TempMeterCfg.cs b/TestBenchFramework/BenchControl/Keithley/TempMeter/TempMeterCfg.cs
index 7d58afba1..6f5be0e34 100644
--- a/TestBenchFramework/BenchControl/Keithley/TempMeter/TempMeterCfg.cs
+++ b/TestBenchFramework/BenchControl/Keithley/TempMeter/TempMeterCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.Keithley.TempMeter
{
public class TempMeterCfg : ComponentCfgBase, IChildComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(TempMeterCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new TempMeterCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/MettlerToledo/Multi/BalanceCfg.cs b/TestBenchFramework/BenchControl/MettlerToledo/Multi/BalanceCfg.cs
index 53f570a48..18e213d3f 100644
--- a/TestBenchFramework/BenchControl/MettlerToledo/Multi/BalanceCfg.cs
+++ b/TestBenchFramework/BenchControl/MettlerToledo/Multi/BalanceCfg.cs
@@ -12,6 +12,9 @@ namespace TBF.BenchControl.MettlerToledo.Multi
{
public class BalanceCfg : ComponentCfgBase, GenericDevices.IScaleCfg, GenericDevices.ICalibInfoCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(BalanceCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new BalanceCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/MettlerToledo/Multi/BalanceFactory.cs b/TestBenchFramework/BenchControl/MettlerToledo/Multi/BalanceFactory.cs
index 7767ef1a1..76a70c31f 100644
--- a/TestBenchFramework/BenchControl/MettlerToledo/Multi/BalanceFactory.cs
+++ b/TestBenchFramework/BenchControl/MettlerToledo/Multi/BalanceFactory.cs
@@ -28,7 +28,7 @@ namespace TBF.BenchControl.MettlerToledo.Multi
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(BalanceCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(BalanceCfg.Serializer, component, this);
}
public void ResetStaticProperties() { BalanceDev.ResetStaticProperties(); }
diff --git a/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceCfg.cs b/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceCfg.cs
index 531235e2b..e1dc5dce6 100644
--- a/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceCfg.cs
+++ b/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceCfg.cs
@@ -12,6 +12,9 @@ namespace TBF.BenchControl.MettlerToledo.Standard
{
public class BalanceCfg : ComponentCfgBase, GenericDevices.IScaleCfg, GenericDevices.ICalibInfoCfg, GenericDevices.ITankDrainingCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(BalanceCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new BalanceCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceFactory.cs b/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceFactory.cs
index 6c7cc287b..a80df9036 100644
--- a/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceFactory.cs
+++ b/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceFactory.cs
@@ -28,7 +28,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(BalanceCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(BalanceCfg.Serializer, component, this);
}
public void ResetStaticProperties() { BalanceDev.ResetStaticProperties(); }
diff --git a/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceNewFactory.cs b/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceNewFactory.cs
index 034428594..036bae569 100644
--- a/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceNewFactory.cs
+++ b/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceNewFactory.cs
@@ -28,7 +28,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(BalanceCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(BalanceCfg.Serializer, component, this);
}
public void ResetStaticProperties() { BalanceNewDev.ResetStaticProperties(); }
diff --git a/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceOldFactory.cs b/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceOldFactory.cs
index dc1da032b..4734377e9 100644
--- a/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceOldFactory.cs
+++ b/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceOldFactory.cs
@@ -28,7 +28,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(BalanceCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(BalanceCfg.Serializer, component, this);
}
public void ResetStaticProperties() { BalanceOld.ResetStaticProperties(); }
diff --git a/TestBenchFramework/BenchControl/Modbus/Common/Factory.cs b/TestBenchFramework/BenchControl/Modbus/Common/Factory.cs
index 007f1307b..556981f0d 100644
--- a/TestBenchFramework/BenchControl/Modbus/Common/Factory.cs
+++ b/TestBenchFramework/BenchControl/Modbus/Common/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Modbus.Common
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(ModbusCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(ModbusCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Modbus/Common/ModbusCfg.cs b/TestBenchFramework/BenchControl/Modbus/Common/ModbusCfg.cs
index fc35b3c0f..50236fdbc 100644
--- a/TestBenchFramework/BenchControl/Modbus/Common/ModbusCfg.cs
+++ b/TestBenchFramework/BenchControl/Modbus/Common/ModbusCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.Modbus.Common
{
public class ModbusCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(ModbusCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new ModbusCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Modbus/Easytherm/EasythermCfg.cs b/TestBenchFramework/BenchControl/Modbus/Easytherm/EasythermCfg.cs
index 8a2b74730..40b4eedd5 100644
--- a/TestBenchFramework/BenchControl/Modbus/Easytherm/EasythermCfg.cs
+++ b/TestBenchFramework/BenchControl/Modbus/Easytherm/EasythermCfg.cs
@@ -10,6 +10,9 @@ namespace TBF.BenchControl.Modbus.Easytherm
{
public class EasythermCfg : ComponentCfgBase, Generic.IChildComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(EasythermCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new EasythermCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Modbus/Easytherm/Factory.cs b/TestBenchFramework/BenchControl/Modbus/Easytherm/Factory.cs
index 47af7614c..4960c1083 100644
--- a/TestBenchFramework/BenchControl/Modbus/Easytherm/Factory.cs
+++ b/TestBenchFramework/BenchControl/Modbus/Easytherm/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Modbus.Easytherm
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(EasythermCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(EasythermCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Modbus/Easytherm/ProcParams.cs b/TestBenchFramework/BenchControl/Modbus/Easytherm/ProcParams.cs
index 92aa8cade..a336069f3 100644
--- a/TestBenchFramework/BenchControl/Modbus/Easytherm/ProcParams.cs
+++ b/TestBenchFramework/BenchControl/Modbus/Easytherm/ProcParams.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.Modbus.Easytherm
{
public class ProcParams : ProcedureParamsBase, IParamsProvider, IProcedureParams
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(ProcParams) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public float RequiredTemp; /// [°C] target temperature for a temperature controller or 0=not communicated to the controller
@@ -101,14 +104,13 @@ namespace TBF.BenchControl.Modbus.Easytherm
if (dbEntity == null) return;
try
{
- ProcParams tmp = (ProcParams)(new XmlSerializer(typeof(ProcParams)))
- .Deserialize(new StringReader(dbEntity.Parameters));
+ ProcParams tmp = Serializer.Deserialize(new StringReader(dbEntity.Parameters)) as ProcParams;
procedureParamsEntity = dbEntity;
componentName = dbEntity.CmpntName;
procedure = dbEntity.Procedure;
- tmp.CopyContentTo(this);
+ if (tmp != null) tmp.CopyContentTo(this);
}
catch
{
diff --git a/TestBenchFramework/BenchControl/Modbus/PressureMeter/Meret/Factory.cs b/TestBenchFramework/BenchControl/Modbus/PressureMeter/Meret/Factory.cs
index ed51286b3..ba6fdfc3f 100644
--- a/TestBenchFramework/BenchControl/Modbus/PressureMeter/Meret/Factory.cs
+++ b/TestBenchFramework/BenchControl/Modbus/PressureMeter/Meret/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Modbus.PressureMeter.Meret
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(PressureMeterCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(PressureMeterCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Modbus/PressureMeter/Meret/PressureMeterCfg.cs b/TestBenchFramework/BenchControl/Modbus/PressureMeter/Meret/PressureMeterCfg.cs
index e6d2a921c..02367a19f 100644
--- a/TestBenchFramework/BenchControl/Modbus/PressureMeter/Meret/PressureMeterCfg.cs
+++ b/TestBenchFramework/BenchControl/Modbus/PressureMeter/Meret/PressureMeterCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.Modbus.PressureMeter.Meret
{
public class PressureMeterCfg : ComponentCfgBase, Generic.IChildComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(PressureMeterCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new PressureMeterCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Modbus/QuidoRS/Factory.cs b/TestBenchFramework/BenchControl/Modbus/QuidoRS/Factory.cs
index 076c84603..59d8e7523 100644
--- a/TestBenchFramework/BenchControl/Modbus/QuidoRS/Factory.cs
+++ b/TestBenchFramework/BenchControl/Modbus/QuidoRS/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Modbus.QuidoRS
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(QuidoRSCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(QuidoRSCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Modbus/QuidoRS/QuidoRSCfg.cs b/TestBenchFramework/BenchControl/Modbus/QuidoRS/QuidoRSCfg.cs
index c87a1f482..eddcbb7f6 100644
--- a/TestBenchFramework/BenchControl/Modbus/QuidoRS/QuidoRSCfg.cs
+++ b/TestBenchFramework/BenchControl/Modbus/QuidoRS/QuidoRSCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.Modbus.QuidoRS
{
public class QuidoRSCfg : ComponentCfgBase, Generic.IChildComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(QuidoRSCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new QuidoRSCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Modbus/TankSelector/Factory.cs b/TestBenchFramework/BenchControl/Modbus/TankSelector/Factory.cs
index 98eb629ca..6ea6bbbea 100644
--- a/TestBenchFramework/BenchControl/Modbus/TankSelector/Factory.cs
+++ b/TestBenchFramework/BenchControl/Modbus/TankSelector/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Modbus.TankSelector
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TankSelectorCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TankSelectorCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Modbus/TankSelector/TankSelectorCfg.cs b/TestBenchFramework/BenchControl/Modbus/TankSelector/TankSelectorCfg.cs
index 707996435..37e2fcc6f 100644
--- a/TestBenchFramework/BenchControl/Modbus/TankSelector/TankSelectorCfg.cs
+++ b/TestBenchFramework/BenchControl/Modbus/TankSelector/TankSelectorCfg.cs
@@ -1,12 +1,16 @@
///
/// Copyright (c) 2017 Sensus Metering Systems
///
+using System.Xml.Serialization;
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.Modbus.TankSelector
{
public class TankSelectorCfg : ComponentCfgBase, Generic.IChildComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(TankSelectorCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new TankSelectorCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Network/Adapter/Factory.cs b/TestBenchFramework/BenchControl/Network/Adapter/Factory.cs
index a3f0f2ea1..e995d0243 100644
--- a/TestBenchFramework/BenchControl/Network/Adapter/Factory.cs
+++ b/TestBenchFramework/BenchControl/Network/Adapter/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Network.Adapter
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(NetadapterCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(NetadapterCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Network/Adapter/NetadapterCfg.cs b/TestBenchFramework/BenchControl/Network/Adapter/NetadapterCfg.cs
index 819f70119..cf9241ed1 100644
--- a/TestBenchFramework/BenchControl/Network/Adapter/NetadapterCfg.cs
+++ b/TestBenchFramework/BenchControl/Network/Adapter/NetadapterCfg.cs
@@ -1,12 +1,16 @@
///
/// Copyright (c) 2017 Sensus Metering Systems
///
+using System.Xml.Serialization;
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.Network.Adapter
{
public class NetadapterCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(NetadapterCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new NetadapterCfgCtrl(); }
diff --git a/TestBenchFramework/BenchControl/Network/Camera/CLP1611/CameraCfg.cs b/TestBenchFramework/BenchControl/Network/Camera/CLP1611/CameraCfg.cs
index d230a79fc..bcdf36504 100644
--- a/TestBenchFramework/BenchControl/Network/Camera/CLP1611/CameraCfg.cs
+++ b/TestBenchFramework/BenchControl/Network/Camera/CLP1611/CameraCfg.cs
@@ -3,6 +3,7 @@
///
using System.Net;
using System.Net.Sockets;
+using System.Xml.Serialization;
using TBF.BenchControl.Generic;
using TBF.Resources;
@@ -10,6 +11,9 @@ namespace TBF.BenchControl.Network.Camera.CLP1611
{
public class CameraCfg : ComponentCfgBase, IChildComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(CameraCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new CameraCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Network/Camera/CLP1611/Factory.cs b/TestBenchFramework/BenchControl/Network/Camera/CLP1611/Factory.cs
index 86441d4a7..29781f911 100644
--- a/TestBenchFramework/BenchControl/Network/Camera/CLP1611/Factory.cs
+++ b/TestBenchFramework/BenchControl/Network/Camera/CLP1611/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Network.Camera.CLP1611
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(CameraCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(CameraCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Network/Camera/Display/DisplayCfg.cs b/TestBenchFramework/BenchControl/Network/Camera/Display/DisplayCfg.cs
index f20ffebd1..fe871331c 100644
--- a/TestBenchFramework/BenchControl/Network/Camera/Display/DisplayCfg.cs
+++ b/TestBenchFramework/BenchControl/Network/Camera/Display/DisplayCfg.cs
@@ -9,6 +9,9 @@ namespace TBF.BenchControl.Network.Camera.Display
{
public class DisplayCfg : ComponentCfgBase, IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(DisplayCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new DisplayCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Network/Camera/Display/Factory.cs b/TestBenchFramework/BenchControl/Network/Camera/Display/Factory.cs
index 324a9de4b..49b65fafc 100644
--- a/TestBenchFramework/BenchControl/Network/Camera/Display/Factory.cs
+++ b/TestBenchFramework/BenchControl/Network/Camera/Display/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Network.Camera.Display
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(DisplayCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(DisplayCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Network/Camera/Roi/Factory.cs b/TestBenchFramework/BenchControl/Network/Camera/Roi/Factory.cs
index 23460bae7..4d3086133 100644
--- a/TestBenchFramework/BenchControl/Network/Camera/Roi/Factory.cs
+++ b/TestBenchFramework/BenchControl/Network/Camera/Roi/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Network.Camera.Roi
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(RoiCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(RoiCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Network/Camera/Roi/ProcedureParams.cs b/TestBenchFramework/BenchControl/Network/Camera/Roi/ProcedureParams.cs
index bef4df69e..914febddb 100644
--- a/TestBenchFramework/BenchControl/Network/Camera/Roi/ProcedureParams.cs
+++ b/TestBenchFramework/BenchControl/Network/Camera/Roi/ProcedureParams.cs
@@ -13,6 +13,9 @@ namespace TBF.BenchControl.Network.Camera.Roi
{
public class ProcedureParams : ProcedureParamsBase, IParamsProvider, IProcedureParams
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(ProcedureParams) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public float PulsesPerLtr; /// [l^-1]
public int DetectionImagesCount;
public int DetectionPeriod1;
@@ -115,14 +118,13 @@ namespace TBF.BenchControl.Network.Camera.Roi
if (dbEntity == null) return;
try
{
- ProcedureParams tmp = (ProcedureParams)(new XmlSerializer(typeof(ProcedureParams)))
- .Deserialize(new StringReader(dbEntity.Parameters));
+ ProcedureParams tmp = Serializer.Deserialize(new StringReader(dbEntity.Parameters)) as ProcedureParams;
procedureParamsEntity = dbEntity;
componentName = dbEntity.CmpntName;
procedure = dbEntity.Procedure;
- tmp.CopyContentTo(this);
+ if (tmp != null) tmp.CopyContentTo(this);
}
catch
{
diff --git a/TestBenchFramework/BenchControl/Network/Camera/Roi/RoiCfg.cs b/TestBenchFramework/BenchControl/Network/Camera/Roi/RoiCfg.cs
index 373c3beff..693e2edc0 100644
--- a/TestBenchFramework/BenchControl/Network/Camera/Roi/RoiCfg.cs
+++ b/TestBenchFramework/BenchControl/Network/Camera/Roi/RoiCfg.cs
@@ -9,6 +9,9 @@ namespace TBF.BenchControl.Network.Camera.Roi
{
public class RoiCfg : ComponentCfgBase, IChildComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(RoiCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new RoiCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/Output/FileWriters/Basic/FactoryCompound.cs b/TestBenchFramework/BenchControl/Output/FileWriters/Basic/FactoryCompound.cs
index 90ce22312..7959c8b0e 100644
--- a/TestBenchFramework/BenchControl/Output/FileWriters/Basic/FactoryCompound.cs
+++ b/TestBenchFramework/BenchControl/Output/FileWriters/Basic/FactoryCompound.cs
@@ -21,7 +21,7 @@ namespace TBF.BenchControl.Output.FileWriters.Basic
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(typeof(WriterCfg), component, this);
+ IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(WriterCfg.Serializer, component, this);
(cfg as WriterCfg).MetersKind = Config.Entities.MetersKind.Combined;
return cfg;
}
diff --git a/TestBenchFramework/BenchControl/Output/FileWriters/Basic/FactoryHeatMeters.cs b/TestBenchFramework/BenchControl/Output/FileWriters/Basic/FactoryHeatMeters.cs
index 23c17c41c..0cd7d69eb 100644
--- a/TestBenchFramework/BenchControl/Output/FileWriters/Basic/FactoryHeatMeters.cs
+++ b/TestBenchFramework/BenchControl/Output/FileWriters/Basic/FactoryHeatMeters.cs
@@ -21,7 +21,7 @@ namespace TBF.BenchControl.Output.FileWriters.Basic
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(typeof(WriterCfg), component, this);
+ IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(WriterCfg.Serializer, component, this);
(cfg as WriterCfg).MetersKind = Config.Entities.MetersKind.HeatMeter;
return cfg;
}
diff --git a/TestBenchFramework/BenchControl/Output/FileWriters/Basic/FactorySingle.cs b/TestBenchFramework/BenchControl/Output/FileWriters/Basic/FactorySingle.cs
index 05f5e55e7..ab12171cd 100644
--- a/TestBenchFramework/BenchControl/Output/FileWriters/Basic/FactorySingle.cs
+++ b/TestBenchFramework/BenchControl/Output/FileWriters/Basic/FactorySingle.cs
@@ -21,7 +21,7 @@ namespace TBF.BenchControl.Output.FileWriters.Basic
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(typeof(WriterCfg), component, this);
+ IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(WriterCfg.Serializer, component, this);
(cfg as WriterCfg).MetersKind = Config.Entities.MetersKind.Single;
return cfg;
}
diff --git a/TestBenchFramework/BenchControl/Output/FileWriters/Basic/WriterCfg.cs b/TestBenchFramework/BenchControl/Output/FileWriters/Basic/WriterCfg.cs
index 9adafb3f0..cb81d08b1 100644
--- a/TestBenchFramework/BenchControl/Output/FileWriters/Basic/WriterCfg.cs
+++ b/TestBenchFramework/BenchControl/Output/FileWriters/Basic/WriterCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.Output.FileWriters.Basic
{
public class WriterCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(WriterCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new WriterCfgCtrl(); }
public string DestinationPath; /// Directory path into which the results will be saved
diff --git a/TestBenchFramework/BenchControl/Output/FileWriters/Enhanced/FactoryCompound.cs b/TestBenchFramework/BenchControl/Output/FileWriters/Enhanced/FactoryCompound.cs
index d53d08925..53112633d 100644
--- a/TestBenchFramework/BenchControl/Output/FileWriters/Enhanced/FactoryCompound.cs
+++ b/TestBenchFramework/BenchControl/Output/FileWriters/Enhanced/FactoryCompound.cs
@@ -21,7 +21,7 @@ namespace TBF.BenchControl.Output.FileWriters.Enhanced
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(typeof(WriterCfg), component, this);
+ IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(WriterCfg.Serializer, component, this);
(cfg as WriterCfg).MetersKind = Config.Entities.MetersKind.Combined;
return cfg;
}
diff --git a/TestBenchFramework/BenchControl/Output/FileWriters/Enhanced/FactoryHeatMeters.cs b/TestBenchFramework/BenchControl/Output/FileWriters/Enhanced/FactoryHeatMeters.cs
index 9f607c4ee..df9fd6ae4 100644
--- a/TestBenchFramework/BenchControl/Output/FileWriters/Enhanced/FactoryHeatMeters.cs
+++ b/TestBenchFramework/BenchControl/Output/FileWriters/Enhanced/FactoryHeatMeters.cs
@@ -21,7 +21,7 @@ namespace TBF.BenchControl.Output.FileWriters.Enhanced
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(typeof(WriterCfg), component, this);
+ IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(WriterCfg.Serializer, component, this);
(cfg as WriterCfg).MetersKind = Config.Entities.MetersKind.HeatMeter;
return cfg;
}
diff --git a/TestBenchFramework/BenchControl/Output/FileWriters/Enhanced/FactorySingle.cs b/TestBenchFramework/BenchControl/Output/FileWriters/Enhanced/FactorySingle.cs
index a101701f2..020f96b82 100644
--- a/TestBenchFramework/BenchControl/Output/FileWriters/Enhanced/FactorySingle.cs
+++ b/TestBenchFramework/BenchControl/Output/FileWriters/Enhanced/FactorySingle.cs
@@ -21,7 +21,7 @@ namespace TBF.BenchControl.Output.FileWriters.Enhanced
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(typeof(WriterCfg), component, this);
+ IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(WriterCfg.Serializer, component, this);
(cfg as WriterCfg).MetersKind = Config.Entities.MetersKind.Single;
return cfg;
}
diff --git a/TestBenchFramework/BenchControl/Output/FileWriters/Enhanced/WriterCfg.cs b/TestBenchFramework/BenchControl/Output/FileWriters/Enhanced/WriterCfg.cs
index 36445b572..f9dbbb3bb 100644
--- a/TestBenchFramework/BenchControl/Output/FileWriters/Enhanced/WriterCfg.cs
+++ b/TestBenchFramework/BenchControl/Output/FileWriters/Enhanced/WriterCfg.cs
@@ -8,6 +8,9 @@ namespace TBF.BenchControl.Output.FileWriters.Enhanced
{
public class WriterCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(WriterCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new WriterCfgCtrl(); }
public string DestinationPath; /// Directory path into which the results will be saved
diff --git a/TestBenchFramework/BenchControl/Output/FileWriters/Xml/FactoryCompound.cs b/TestBenchFramework/BenchControl/Output/FileWriters/Xml/FactoryCompound.cs
index de5f66750..924274be9 100644
--- a/TestBenchFramework/BenchControl/Output/FileWriters/Xml/FactoryCompound.cs
+++ b/TestBenchFramework/BenchControl/Output/FileWriters/Xml/FactoryCompound.cs
@@ -21,7 +21,7 @@ namespace TBF.BenchControl.Output.FileWriters.Xml
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(typeof(WriterCfg), component, this);
+ IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(WriterCfg.Serializer, component, this);
(cfg as WriterCfg).MetersKind = Config.Entities.MetersKind.Combined;
return cfg;
}
diff --git a/TestBenchFramework/BenchControl/Output/FileWriters/Xml/FactoryHeatMeters.cs b/TestBenchFramework/BenchControl/Output/FileWriters/Xml/FactoryHeatMeters.cs
index 209755cf2..c9eca72dd 100644
--- a/TestBenchFramework/BenchControl/Output/FileWriters/Xml/FactoryHeatMeters.cs
+++ b/TestBenchFramework/BenchControl/Output/FileWriters/Xml/FactoryHeatMeters.cs
@@ -21,7 +21,7 @@ namespace TBF.BenchControl.Output.FileWriters.Xml
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(typeof(WriterCfg), component, this);
+ IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(WriterCfg.Serializer, component, this);
(cfg as WriterCfg).MetersKind = Config.Entities.MetersKind.HeatMeter;
return cfg;
}
diff --git a/TestBenchFramework/BenchControl/Output/FileWriters/Xml/FactorySingle.cs b/TestBenchFramework/BenchControl/Output/FileWriters/Xml/FactorySingle.cs
index 846458e8c..8e986d636 100644
--- a/TestBenchFramework/BenchControl/Output/FileWriters/Xml/FactorySingle.cs
+++ b/TestBenchFramework/BenchControl/Output/FileWriters/Xml/FactorySingle.cs
@@ -21,7 +21,7 @@ namespace TBF.BenchControl.Output.FileWriters.Xml
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(typeof(WriterCfg), component, this);
+ IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(WriterCfg.Serializer, component, this);
(cfg as WriterCfg).MetersKind = Config.Entities.MetersKind.Single;
return cfg;
}
diff --git a/TestBenchFramework/BenchControl/Output/FileWriters/Xml/WriterCfg.cs b/TestBenchFramework/BenchControl/Output/FileWriters/Xml/WriterCfg.cs
index 0f9a03e39..d7664e720 100644
--- a/TestBenchFramework/BenchControl/Output/FileWriters/Xml/WriterCfg.cs
+++ b/TestBenchFramework/BenchControl/Output/FileWriters/Xml/WriterCfg.cs
@@ -12,6 +12,9 @@ namespace TBF.BenchControl.Output.FileWriters.Xml
public class WriterCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(WriterCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new WriterCfgCtrl(); }
public string DestinationPath; /// Directory path into which the results will be saved
diff --git a/TestBenchFramework/BenchControl/Output/Printers/Enhanced/FactoryCompound.cs b/TestBenchFramework/BenchControl/Output/Printers/Enhanced/FactoryCompound.cs
index 35c486258..46f1a8bc5 100644
--- a/TestBenchFramework/BenchControl/Output/Printers/Enhanced/FactoryCompound.cs
+++ b/TestBenchFramework/BenchControl/Output/Printers/Enhanced/FactoryCompound.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Output.Printers.Enhanced
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(PrinterCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(PrinterCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Output/Printers/Enhanced/FactoryHeatMeters.cs b/TestBenchFramework/BenchControl/Output/Printers/Enhanced/FactoryHeatMeters.cs
index 0bda0f6d2..f3d6f51c0 100644
--- a/TestBenchFramework/BenchControl/Output/Printers/Enhanced/FactoryHeatMeters.cs
+++ b/TestBenchFramework/BenchControl/Output/Printers/Enhanced/FactoryHeatMeters.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Output.Printers.Enhanced
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(PrinterCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(PrinterCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Output/Printers/Enhanced/FactorySingle.cs b/TestBenchFramework/BenchControl/Output/Printers/Enhanced/FactorySingle.cs
index 1c9037a22..fb2214e54 100644
--- a/TestBenchFramework/BenchControl/Output/Printers/Enhanced/FactorySingle.cs
+++ b/TestBenchFramework/BenchControl/Output/Printers/Enhanced/FactorySingle.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Output.Printers.Enhanced
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(PrinterCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(PrinterCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/Output/Printers/Enhanced/PrinterCfg.cs b/TestBenchFramework/BenchControl/Output/Printers/Enhanced/PrinterCfg.cs
index dadbf2062..5901072b6 100644
--- a/TestBenchFramework/BenchControl/Output/Printers/Enhanced/PrinterCfg.cs
+++ b/TestBenchFramework/BenchControl/Output/Printers/Enhanced/PrinterCfg.cs
@@ -9,6 +9,9 @@ namespace TBF.BenchControl.Output.Printers.Enhanced
{
public class PrinterCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(PrinterCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new PrinterCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/ProcedureParamsBase.cs b/TestBenchFramework/BenchControl/ProcedureParamsBase.cs
index 4918e7c1f..91a61103a 100644
--- a/TestBenchFramework/BenchControl/ProcedureParamsBase.cs
+++ b/TestBenchFramework/BenchControl/ProcedureParamsBase.cs
@@ -14,6 +14,8 @@ namespace TBF.BenchControl
{
protected ComponentProcedure procedureParamsEntity;
+ protected virtual XmlSerializer GetSerializer() { return new XmlSerializer(GetType()); }
+
public string ComponentName { get { return componentName; } }
protected string componentName;
@@ -62,7 +64,7 @@ namespace TBF.BenchControl
using (var writer = new StringWriter())
{
/// Serialize this class with parameters
- (new XmlSerializer(GetType())).Serialize(writer, this);
+ GetSerializer().Serialize(writer, this);
/// Create and return the ComponentProcedure entity
ComponentProcedure entity = new ComponentProcedure();
@@ -78,7 +80,7 @@ namespace TBF.BenchControl
using (var writer = new StringWriter())
{
/// Serialize this class and update the entity
- (new XmlSerializer(GetType())).Serialize(writer, this);
+ GetSerializer().Serialize(writer, this);
procedureParamsEntity.Parameters = writer.ToString();
procedureParamsEntity.CmpntName = componentName;
procedureParamsEntity.Procedure = procedure;
diff --git a/TestBenchFramework/BenchControl/ResultsPrinters/Cevak/PrinterCfg.cs b/TestBenchFramework/BenchControl/ResultsPrinters/Cevak/PrinterCfg.cs
index 3bcdfbd0e..e6fbc836b 100644
--- a/TestBenchFramework/BenchControl/ResultsPrinters/Cevak/PrinterCfg.cs
+++ b/TestBenchFramework/BenchControl/ResultsPrinters/Cevak/PrinterCfg.cs
@@ -12,6 +12,9 @@ namespace TBF.BenchControl.ResultsPrinters.Cevak
{
public class PrinterCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(PrinterCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new PrinterCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/ResultsPrinters/Cevak/PrinterFactory.cs b/TestBenchFramework/BenchControl/ResultsPrinters/Cevak/PrinterFactory.cs
index e1a068265..c9b7c37bc 100644
--- a/TestBenchFramework/BenchControl/ResultsPrinters/Cevak/PrinterFactory.cs
+++ b/TestBenchFramework/BenchControl/ResultsPrinters/Cevak/PrinterFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.ResultsPrinters.Cevak
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(PrinterCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(PrinterCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/ResultsPrinters/LabelPrinter/PrinterCfg.cs b/TestBenchFramework/BenchControl/ResultsPrinters/LabelPrinter/PrinterCfg.cs
index 7c66f57fd..8f5fe0962 100644
--- a/TestBenchFramework/BenchControl/ResultsPrinters/LabelPrinter/PrinterCfg.cs
+++ b/TestBenchFramework/BenchControl/ResultsPrinters/LabelPrinter/PrinterCfg.cs
@@ -12,6 +12,9 @@ namespace TBF.BenchControl.ResultsPrinters.LabelPrinter
{
public class PrinterCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(PrinterCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new PrinterCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/ResultsPrinters/LabelPrinter/PrinterFactory.cs b/TestBenchFramework/BenchControl/ResultsPrinters/LabelPrinter/PrinterFactory.cs
index 858ea1f1a..c9979d630 100644
--- a/TestBenchFramework/BenchControl/ResultsPrinters/LabelPrinter/PrinterFactory.cs
+++ b/TestBenchFramework/BenchControl/ResultsPrinters/LabelPrinter/PrinterFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.ResultsPrinters.LabelPrinter
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(PrinterCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(PrinterCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/ResultsPrinters/Munich/PrinterCfg.cs b/TestBenchFramework/BenchControl/ResultsPrinters/Munich/PrinterCfg.cs
index 3cbeb7a6e..fa04f00c6 100644
--- a/TestBenchFramework/BenchControl/ResultsPrinters/Munich/PrinterCfg.cs
+++ b/TestBenchFramework/BenchControl/ResultsPrinters/Munich/PrinterCfg.cs
@@ -12,6 +12,9 @@ namespace TBF.BenchControl.ResultsPrinters.Munich
{
public class PrinterCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(PrinterCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new PrinterCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/ResultsPrinters/Munich/PrinterFactory.cs b/TestBenchFramework/BenchControl/ResultsPrinters/Munich/PrinterFactory.cs
index 57a367ae1..312d39fef 100644
--- a/TestBenchFramework/BenchControl/ResultsPrinters/Munich/PrinterFactory.cs
+++ b/TestBenchFramework/BenchControl/ResultsPrinters/Munich/PrinterFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.ResultsPrinters.Munich
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(PrinterCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(PrinterCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/TestMethods/Adjustment/Factory.cs b/TestBenchFramework/BenchControl/TestMethods/Adjustment/Factory.cs
index d72652541..c29252287 100644
--- a/TestBenchFramework/BenchControl/TestMethods/Adjustment/Factory.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/Adjustment/Factory.cs
@@ -24,7 +24,7 @@ namespace TBF.BenchControl.TestMethods.Adjustment
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TestMethodCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TestMethodCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/CombinedWithDetTestParams.cs b/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/CombinedWithDetTestParams.cs
index c0c8f4ace..c593f8b8f 100644
--- a/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/CombinedWithDetTestParams.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/CombinedWithDetTestParams.cs
@@ -13,6 +13,9 @@ namespace TBF.BenchControl.TestMethods.CombinedWithDetection
{
public class CombinedWithDetTestParams : TestParamsBase, IParamsProvider, ITestParams
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(CombinedWithDetTestParams) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public float TargetQ; /// Target=terminal flow durning detection when increasing or decreasing the flow
public float RelativeQfrom; /// Tested flow low range related to the detected flow
public float RelativeQto; /// Tested flow high range related to the detected flow
@@ -121,14 +124,13 @@ namespace TBF.BenchControl.TestMethods.CombinedWithDetection
if (dbEntity == null) return;
try
{
- CombinedWithDetTestParams tmp = (CombinedWithDetTestParams)(new XmlSerializer(typeof(CombinedWithDetTestParams)))
- .Deserialize(new StringReader(dbEntity.Parameters));
+ CombinedWithDetTestParams tmp = Serializer.Deserialize(new StringReader(dbEntity.Parameters)) as CombinedWithDetTestParams;
testParamsEntity = dbEntity;
componentName = dbEntity.CmpntName;
test = dbEntity.Test;
- tmp.CopyContentTo(this);
+ if (tmp != null) tmp.CopyContentTo(this);
}
catch
{
diff --git a/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/TestMethodCfg.cs b/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/TestMethodCfg.cs
index be69e8f9f..950e44fb9 100644
--- a/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/TestMethodCfg.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/TestMethodCfg.cs
@@ -12,6 +12,9 @@ namespace TBF.BenchControl.TestMethods.CombinedWithDetection
{
public class TestMethodCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(TestMethodCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new TestMethodCfgCtrl(); }
/// Test parameters
diff --git a/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/TestMethodFactory.cs b/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/TestMethodFactory.cs
index 3ec4e76d4..77b38b45c 100644
--- a/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/TestMethodFactory.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/TestMethodFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.TestMethods.CombinedWithDetection
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TestMethodCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TestMethodCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/TestMethods/Endurance/Factory.cs b/TestBenchFramework/BenchControl/TestMethods/Endurance/Factory.cs
index 5ca39e58e..7485fe919 100644
--- a/TestBenchFramework/BenchControl/TestMethods/Endurance/Factory.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/Endurance/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.TestMethods.Endurance
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TestMethodCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TestMethodCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/TestMethods/Endurance/TestMethodCfg.cs b/TestBenchFramework/BenchControl/TestMethods/Endurance/TestMethodCfg.cs
index 2e8110382..ec6b24849 100644
--- a/TestBenchFramework/BenchControl/TestMethods/Endurance/TestMethodCfg.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/Endurance/TestMethodCfg.cs
@@ -12,6 +12,9 @@ namespace TBF.BenchControl.TestMethods.Endurance
{
public class TestMethodCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(TestMethodCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new TestMethodCfgCtrl(); }
public string Cycle;
diff --git a/TestBenchFramework/BenchControl/TestMethods/Endurance/TestParams.cs b/TestBenchFramework/BenchControl/TestMethods/Endurance/TestParams.cs
index 54f65472d..1812c4cbb 100644
--- a/TestBenchFramework/BenchControl/TestMethods/Endurance/TestParams.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/Endurance/TestParams.cs
@@ -13,7 +13,10 @@ namespace TBF.BenchControl.TestMethods.Endurance
{
public class TestParams : TestParamsBase, IParamsProvider, ITestParams
{
- public bool BooleanParam; /// Main meter readings are ignored during test (suitable for small flows)
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(TestParams) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
+ public bool BooleanParam; /// Main meter readings are ignored during test (suitable for small flows)
public override void InitializeAll()
{
@@ -81,14 +84,13 @@ namespace TBF.BenchControl.TestMethods.Endurance
if (dbEntity == null) return;
try
{
- TestParams tmp = (TestParams)(new XmlSerializer(typeof(TestParams)))
- .Deserialize(new StringReader(dbEntity.Parameters));
+ TestParams tmp = Serializer.Deserialize(new StringReader(dbEntity.Parameters)) as TestParams;
testParamsEntity = dbEntity;
componentName = dbEntity.CmpntName;
test = dbEntity.Test;
- tmp.CopyContentTo(this);
+ if (tmp != null) tmp.CopyContentTo(this);
}
catch
{
diff --git a/TestBenchFramework/BenchControl/TestMethods/FixedStartAdvanced/Single/Factory.cs b/TestBenchFramework/BenchControl/TestMethods/FixedStartAdvanced/Single/Factory.cs
index 870686d3b..f02b6157c 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FixedStartAdvanced/Single/Factory.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FixedStartAdvanced/Single/Factory.cs
@@ -21,7 +21,7 @@ namespace TBF.BenchControl.TestMethods.FixedStartAdvanced.Single
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TestMethodCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TestMethodCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/Compound/Factory.cs b/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/Compound/Factory.cs
index 697f79128..acf4dec8a 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/Compound/Factory.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/Compound/Factory.cs
@@ -21,7 +21,7 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection.Compound
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TestMethodCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TestMethodCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/HeatMeters/Factory.cs b/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/HeatMeters/Factory.cs
index 40f1237f4..740e57faf 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/HeatMeters/Factory.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/HeatMeters/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection.HeatMeters
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TestMethodCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TestMethodCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/HeatMeters/TestMethodCfg.cs b/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/HeatMeters/TestMethodCfg.cs
index 6991f157d..d2b8521f0 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/HeatMeters/TestMethodCfg.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/HeatMeters/TestMethodCfg.cs
@@ -12,6 +12,9 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection.HeatMeters
{
public class TestMethodCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(TestMethodCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new TestMethodCfgCtrl(); }
/// Test parameters
diff --git a/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/HeatMeters/TestParams.cs b/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/HeatMeters/TestParams.cs
index ef68a501a..b82e7597a 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/HeatMeters/TestParams.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/HeatMeters/TestParams.cs
@@ -13,6 +13,9 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection.HeatMeters
{
public class TestParams : TestParamsBase, IParamsProvider, ITestParams
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(TestParams) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public float ErrorLimitLo; /// [%]
public float ErrorLimitHi; /// [%]
public bool EvaluateVolume; /// true = evaluate also the volume, false = evaluate only energy
@@ -159,14 +162,13 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection.HeatMeters
if (dbEntity == null) return;
try
{
- TestParams tmp = (TestParams)(new XmlSerializer(typeof(TestParams)))
- .Deserialize(new StringReader(dbEntity.Parameters));
+ TestParams tmp = Serializer.Deserialize(new StringReader(dbEntity.Parameters)) as TestParams;
testParamsEntity = dbEntity;
componentName = dbEntity.CmpntName;
test = dbEntity.Test;
- tmp.CopyContentTo(this);
+ if (tmp != null) tmp.CopyContentTo(this);
}
catch
{
diff --git a/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/Single/Factory.cs b/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/Single/Factory.cs
index aba42036f..2b623d87c 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/Single/Factory.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/Single/Factory.cs
@@ -21,7 +21,7 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection.Single
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TestMethodCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TestMethodCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStart/Compound/Factory.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStart/Compound/Factory.cs
index 6e0a814e6..93110bb6d 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FlyingStart/Compound/Factory.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStart/Compound/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStart.Compound
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TestMethodCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TestMethodCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStart/Compound/TestMethodCfg.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStart/Compound/TestMethodCfg.cs
index 0f5f8fb7e..3d146600e 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FlyingStart/Compound/TestMethodCfg.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStart/Compound/TestMethodCfg.cs
@@ -12,6 +12,9 @@ namespace TBF.BenchControl.TestMethods.FlyingStart.Compound
{
public class TestMethodCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(TestMethodCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new TestMethodCfgCtrl(); }
/// Test parameters
diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStart/Compound/TestParams.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStart/Compound/TestParams.cs
index 9ceb9542e..efd470f66 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FlyingStart/Compound/TestParams.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStart/Compound/TestParams.cs
@@ -13,7 +13,10 @@ namespace TBF.BenchControl.TestMethods.FlyingStart.Compound
{
public class TestParams : TestParamsBase, IParamsProvider, ITestParams
{
- public bool SupressTrills; /// Main meter readings are ignored during test (suitable for small flows)
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(TestParams) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
+ public bool SupressTrills; /// Main meter readings are ignored during test (suitable for small flows)
public override void InitializeAll()
{
@@ -81,14 +84,13 @@ namespace TBF.BenchControl.TestMethods.FlyingStart.Compound
if (dbEntity == null) return;
try
{
- TestParams tmp = (TestParams)(new XmlSerializer(typeof(TestParams)))
- .Deserialize(new StringReader(dbEntity.Parameters));
+ TestParams tmp = Serializer.Deserialize(new StringReader(dbEntity.Parameters)) as TestParams;
testParamsEntity = dbEntity;
componentName = dbEntity.CmpntName;
test = dbEntity.Test;
- tmp.CopyContentTo(this);
+ if (tmp != null) tmp.CopyContentTo(this);
}
catch
{
diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStart/HeatMeters/Factory.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStart/HeatMeters/Factory.cs
index 34da203ac..bdadd0977 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FlyingStart/HeatMeters/Factory.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStart/HeatMeters/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStart.HeatMeters
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TestMethodCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TestMethodCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStart/HeatMeters/TestMethodCfg.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStart/HeatMeters/TestMethodCfg.cs
index 16618d4d9..528aeb9ad 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FlyingStart/HeatMeters/TestMethodCfg.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStart/HeatMeters/TestMethodCfg.cs
@@ -12,6 +12,9 @@ namespace TBF.BenchControl.TestMethods.FlyingStart.HeatMeters
{
public class TestMethodCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(TestMethodCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new TestMethodCfgCtrl(); }
/// Test parameters
diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStart/HeatMeters/TestParams.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStart/HeatMeters/TestParams.cs
index 6562f51bd..c8e169267 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FlyingStart/HeatMeters/TestParams.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStart/HeatMeters/TestParams.cs
@@ -13,6 +13,9 @@ namespace TBF.BenchControl.TestMethods.FlyingStart.HeatMeters
{
public class TestParams : TestParamsBase, IParamsProvider, ITestParams
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(TestParams) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public float ErrorLimitLo; /// [%]
public float ErrorLimitHi; /// [%]
public bool EvaluateVolume; /// true = evaluate also the volume, false = evaluate only energy
@@ -159,14 +162,13 @@ namespace TBF.BenchControl.TestMethods.FlyingStart.HeatMeters
if (dbEntity == null) return;
try
{
- TestParams tmp = (TestParams)(new XmlSerializer(typeof(TestParams)))
- .Deserialize(new StringReader(dbEntity.Parameters));
+ TestParams tmp = Serializer.Deserialize(new StringReader(dbEntity.Parameters)) as TestParams;
testParamsEntity = dbEntity;
componentName = dbEntity.CmpntName;
test = dbEntity.Test;
- tmp.CopyContentTo(this);
+ if (tmp != null) tmp.CopyContentTo(this);
}
catch
{
diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStart/Single/Factory.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStart/Single/Factory.cs
index 799004a1e..3a010facc 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FlyingStart/Single/Factory.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStart/Single/Factory.cs
@@ -21,7 +21,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStart.Single
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TestMethodCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TestMethodCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/Compound/CombinedTestParams.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/Compound/CombinedTestParams.cs
index 5a13a6e91..2cefe370f 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/Compound/CombinedTestParams.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/Compound/CombinedTestParams.cs
@@ -13,7 +13,10 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection.Compound
{
public class CombinedTestParams : TestParamsBase, IParamsProvider, ITestParams
{
- public bool SupressTrills; /// Main meter readings are ignored during test (suitable for small flows)
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(CombinedTestParams) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
+ public bool SupressTrills; /// Main meter readings are ignored during test (suitable for small flows)
public override void InitializeAll()
{
@@ -81,14 +84,13 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection.Compound
if (dbEntity == null) return;
try
{
- CombinedTestParams tmp = (CombinedTestParams)(new XmlSerializer(typeof(CombinedTestParams)))
- .Deserialize(new StringReader(dbEntity.Parameters));
+ CombinedTestParams tmp = Serializer.Deserialize(new StringReader(dbEntity.Parameters)) as CombinedTestParams;
testParamsEntity = dbEntity;
componentName = dbEntity.CmpntName;
test = dbEntity.Test;
- tmp.CopyContentTo(this);
+ if (tmp != null) tmp.CopyContentTo(this);
}
catch
{
diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/Compound/Factory.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/Compound/Factory.cs
index b52e434a6..e9cdc2ae0 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/Compound/Factory.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/Compound/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection.Compound
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TestMethodCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TestMethodCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/Compound/TestMethodCfg.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/Compound/TestMethodCfg.cs
index 634f50c22..20234c2e4 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/Compound/TestMethodCfg.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/Compound/TestMethodCfg.cs
@@ -12,6 +12,9 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection.Compound
{
public class TestMethodCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(TestMethodCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new TestMethodCfgCtrl(); }
/// Test parameters
diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/HeatMeters/Factory.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/HeatMeters/Factory.cs
index 48a900344..ebd85255f 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/HeatMeters/Factory.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/HeatMeters/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection.HeatMeters
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TestMethodCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TestMethodCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/HeatMeters/TestMethodCfg.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/HeatMeters/TestMethodCfg.cs
index eddc1418f..93f1089c8 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/HeatMeters/TestMethodCfg.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/HeatMeters/TestMethodCfg.cs
@@ -12,6 +12,9 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection.HeatMeters
{
public class TestMethodCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(TestMethodCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new TestMethodCfgCtrl(); }
/// Test parameters
diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/HeatMeters/TestParams.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/HeatMeters/TestParams.cs
index 2bd34face..6b0ddb0c4 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/HeatMeters/TestParams.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/HeatMeters/TestParams.cs
@@ -13,6 +13,9 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection.HeatMeters
{
public class TestParams : TestParamsBase, IParamsProvider, ITestParams
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(TestParams) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public float ErrorLimitLo; /// [%]
public float ErrorLimitHi; /// [%]
public bool EvaluateVolume; /// true = evaluate also the volume, false = evaluate only energy
@@ -159,14 +162,13 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection.HeatMeters
if (dbEntity == null) return;
try
{
- TestParams tmp = (TestParams)(new XmlSerializer(typeof(TestParams)))
- .Deserialize(new StringReader(dbEntity.Parameters));
+ TestParams tmp = Serializer.Deserialize(new StringReader(dbEntity.Parameters)) as TestParams;
testParamsEntity = dbEntity;
componentName = dbEntity.CmpntName;
test = dbEntity.Test;
- tmp.CopyContentTo(this);
+ if (tmp != null) tmp.CopyContentTo(this);
}
catch
{
diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/Single/Factory.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/Single/Factory.cs
index 93da2956a..4ed9c23a5 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/Single/Factory.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/Single/Factory.cs
@@ -21,7 +21,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection.Single
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TestMethodCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TestMethodCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/TestMethods/LeakTest/LeakTestParams.cs b/TestBenchFramework/BenchControl/TestMethods/LeakTest/LeakTestParams.cs
index f8af63337..aa3a78d4d 100644
--- a/TestBenchFramework/BenchControl/TestMethods/LeakTest/LeakTestParams.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/LeakTest/LeakTestParams.cs
@@ -13,6 +13,9 @@ namespace TBF.BenchControl.TestMethods.LeakTest
{
public class LeakTestParams : TestParamsBase, IParamsProvider, ITestParams
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(LeakTestParams) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public float PressureLo; /// Presure range low limit in [bar]
public float PressureHi; /// Presure range high limit in [bar]
public int DurationPMax; /// Duration of PMax test in [s]
@@ -106,14 +109,13 @@ namespace TBF.BenchControl.TestMethods.LeakTest
if (dbEntity == null) return;
try
{
- LeakTestParams tmp = (LeakTestParams)(new XmlSerializer(typeof(LeakTestParams)))
- .Deserialize(new StringReader(dbEntity.Parameters));
+ LeakTestParams tmp = Serializer.Deserialize(new StringReader(dbEntity.Parameters)) as LeakTestParams;
testParamsEntity = dbEntity;
componentName = dbEntity.CmpntName;
test = dbEntity.Test;
- tmp.CopyContentTo(this);
+ if (tmp != null) tmp.CopyContentTo(this);
}
catch
{
diff --git a/TestBenchFramework/BenchControl/TestMethods/LeakTest/TestMethodCfg.cs b/TestBenchFramework/BenchControl/TestMethods/LeakTest/TestMethodCfg.cs
index c96425a86..4be035ccb 100644
--- a/TestBenchFramework/BenchControl/TestMethods/LeakTest/TestMethodCfg.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/LeakTest/TestMethodCfg.cs
@@ -12,6 +12,9 @@ namespace TBF.BenchControl.TestMethods.LeakTest
{
public class TestMethodCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(TestMethodCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new TestMethodCfgCtrl(); }
/// Test parameters
diff --git a/TestBenchFramework/BenchControl/TestMethods/LeakTest/TestMethodFactory.cs b/TestBenchFramework/BenchControl/TestMethods/LeakTest/TestMethodFactory.cs
index 9eaf7861a..2e3050258 100644
--- a/TestBenchFramework/BenchControl/TestMethods/LeakTest/TestMethodFactory.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/LeakTest/TestMethodFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.TestMethods.LeakTest
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TestMethodCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TestMethodCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/TestMethods/LiveStream/Cfg.cs b/TestBenchFramework/BenchControl/TestMethods/LiveStream/Cfg.cs
index 0b199f68a..874e56e0b 100644
--- a/TestBenchFramework/BenchControl/TestMethods/LiveStream/Cfg.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/LiveStream/Cfg.cs
@@ -12,6 +12,9 @@ namespace TBF.BenchControl.TestMethods.LiveStream
{
public class Cfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(Cfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new CfgCtrl(); }
diff --git a/TestBenchFramework/BenchControl/TestMethods/LiveStream/Factory.cs b/TestBenchFramework/BenchControl/TestMethods/LiveStream/Factory.cs
index 6d497c983..edf863a6f 100644
--- a/TestBenchFramework/BenchControl/TestMethods/LiveStream/Factory.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/LiveStream/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.TestMethods.LiveStream
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(Cfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(Cfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/TestMethods/OuterLoop/End/Factory.cs b/TestBenchFramework/BenchControl/TestMethods/OuterLoop/End/Factory.cs
index 88042b2f6..a6813f603 100644
--- a/TestBenchFramework/BenchControl/TestMethods/OuterLoop/End/Factory.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/OuterLoop/End/Factory.cs
@@ -21,7 +21,7 @@ namespace TBF.BenchControl.TestMethods.OuterLoop.End
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TestMethodCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TestMethodCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/TestMethods/OuterLoop/Start/Factory.cs b/TestBenchFramework/BenchControl/TestMethods/OuterLoop/Start/Factory.cs
index 5881801c9..e106733b7 100644
--- a/TestBenchFramework/BenchControl/TestMethods/OuterLoop/Start/Factory.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/OuterLoop/Start/Factory.cs
@@ -21,7 +21,7 @@ namespace TBF.BenchControl.TestMethods.OuterLoop.Start
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TestMethodCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TestMethodCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/TestMethods/PMaxTest/PMaxTestParams.cs b/TestBenchFramework/BenchControl/TestMethods/PMaxTest/PMaxTestParams.cs
index dbcd75e27..40f11afa6 100644
--- a/TestBenchFramework/BenchControl/TestMethods/PMaxTest/PMaxTestParams.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/PMaxTest/PMaxTestParams.cs
@@ -13,6 +13,9 @@ namespace TBF.BenchControl.TestMethods.PMaxTest
{
public class PMaxTestParams : TestParamsBase, IParamsProvider, ITestParams
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(PMaxTestParams) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public float PressureLo; /// Presure range low limit in [bar]
public float PressureHi; /// Presure range high limit in [bar]
public int DurationPMax; /// Duration of the test in [s]
@@ -99,14 +102,13 @@ namespace TBF.BenchControl.TestMethods.PMaxTest
if (dbEntity == null) return;
try
{
- PMaxTestParams tmp = (PMaxTestParams)(new XmlSerializer(typeof(PMaxTestParams)))
- .Deserialize(new StringReader(dbEntity.Parameters));
+ PMaxTestParams tmp = Serializer.Deserialize(new StringReader(dbEntity.Parameters)) as PMaxTestParams;
testParamsEntity = dbEntity;
componentName = dbEntity.CmpntName;
test = dbEntity.Test;
- tmp.CopyContentTo(this);
+ if (tmp != null) tmp.CopyContentTo(this);
}
catch
{
diff --git a/TestBenchFramework/BenchControl/TestMethods/PMaxTest/TestMethodCfg.cs b/TestBenchFramework/BenchControl/TestMethods/PMaxTest/TestMethodCfg.cs
index b9a150ee6..83e35b3a5 100644
--- a/TestBenchFramework/BenchControl/TestMethods/PMaxTest/TestMethodCfg.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/PMaxTest/TestMethodCfg.cs
@@ -12,6 +12,9 @@ namespace TBF.BenchControl.TestMethods.PMaxTest
{
public class TestMethodCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(TestMethodCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new TestMethodCfgCtrl(); }
/// Test parameters
diff --git a/TestBenchFramework/BenchControl/TestMethods/PMaxTest/TestMethodFactory.cs b/TestBenchFramework/BenchControl/TestMethods/PMaxTest/TestMethodFactory.cs
index a4f196b10..f1adce069 100644
--- a/TestBenchFramework/BenchControl/TestMethods/PMaxTest/TestMethodFactory.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/PMaxTest/TestMethodFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.TestMethods.PMaxTest
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TestMethodCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TestMethodCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/TestMethods/ReferenceFlowmeterCalibration/TestMethodFactory.cs b/TestBenchFramework/BenchControl/TestMethods/ReferenceFlowmeterCalibration/TestMethodFactory.cs
index 8e413ea92..39b4fbbfc 100644
--- a/TestBenchFramework/BenchControl/TestMethods/ReferenceFlowmeterCalibration/TestMethodFactory.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/ReferenceFlowmeterCalibration/TestMethodFactory.cs
@@ -21,7 +21,7 @@ namespace TBF.BenchControl.TestMethods.ReferenceFlowmeterCalibration
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TestMethodCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TestMethodCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/TestMethods/RoiDetection/RoiDetectionCfg.cs b/TestBenchFramework/BenchControl/TestMethods/RoiDetection/RoiDetectionCfg.cs
index caf327c28..931d4aa1e 100644
--- a/TestBenchFramework/BenchControl/TestMethods/RoiDetection/RoiDetectionCfg.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/RoiDetection/RoiDetectionCfg.cs
@@ -11,6 +11,9 @@ namespace TBF.BenchControl.TestMethods.RoiDetection
{
public class RoiDetectionCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(RoiDetectionCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new RoiDetectionCfgCtrl(); }
/// Private parameterless constructor invoked by all other (public) constructors
diff --git a/TestBenchFramework/BenchControl/TestMethods/RoiDetection/RoiDetectionFactory.cs b/TestBenchFramework/BenchControl/TestMethods/RoiDetection/RoiDetectionFactory.cs
index b0b5bd939..e62b65b5f 100644
--- a/TestBenchFramework/BenchControl/TestMethods/RoiDetection/RoiDetectionFactory.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/RoiDetection/RoiDetectionFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.TestMethods.RoiDetection
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(RoiDetectionCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(RoiDetectionCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/TestMethodCfg.cs b/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/TestMethodCfg.cs
index 6ad8ee562..10ce22ecb 100644
--- a/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/TestMethodCfg.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/TestMethodCfg.cs
@@ -12,6 +12,9 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
{
public class TestMethodCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(TestMethodCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new TestMethodCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/TestMethodFactory.cs b/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/TestMethodFactory.cs
index 6e1b695e8..d2897b1fd 100644
--- a/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/TestMethodFactory.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/TestMethodFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(TestMethodCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(TestMethodCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlCommunicationParams.cs b/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlCommunicationParams.cs
index 87632cb00..abdc8f920 100644
--- a/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlCommunicationParams.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlCommunicationParams.cs
@@ -13,6 +13,9 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
{
public class iPerlCommunicationParams : TestParamsBase, IParamsProvider, ITestParams
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(iPerlCommunicationParams) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public string Activity; /// Communication activity
public bool SimultWithPrevious;
public bool SimultWithNext;
@@ -96,14 +99,13 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
if (dbEntity == null) return;
try
{
- iPerlCommunicationParams tmp = (iPerlCommunicationParams)(new XmlSerializer(typeof(iPerlCommunicationParams)))
- .Deserialize(new StringReader(dbEntity.Parameters));
+ iPerlCommunicationParams tmp = Serializer.Deserialize(new StringReader(dbEntity.Parameters)) as iPerlCommunicationParams;
testParamsEntity = dbEntity;
componentName = dbEntity.CmpntName;
test = dbEntity.Test;
- tmp.CopyContentTo(this);
+ if (tmp != null) tmp.CopyContentTo(this);
}
catch
{
diff --git a/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlHead/Factory.cs b/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlHead/Factory.cs
index e84ca6c08..12e582c67 100644
--- a/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlHead/Factory.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlHead/Factory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication.iPerlHead
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(IperlHeadCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(IperlHeadCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlHead/IperlHeadCfg.cs b/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlHead/IperlHeadCfg.cs
index 025961f5e..938d71110 100644
--- a/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlHead/IperlHeadCfg.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlHead/IperlHeadCfg.cs
@@ -15,6 +15,9 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication.iPerlHead
{
public class IperlHeadCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(IperlHeadCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new IperlHeadCfgCtrl(); }
///
diff --git a/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlHead/ProcParams.cs b/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlHead/ProcParams.cs
index ed860c806..cfab5de4a 100644
--- a/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlHead/ProcParams.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlHead/ProcParams.cs
@@ -13,6 +13,9 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication.iPerlHead
{
public class ProcParams : ProcedureParamsBase, IParamsProvider, IProcedureParams
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(ProcParams) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public MeterType MeterType;
public int FactorLimitLo; /// Lower limit for the calibration factor
public int FactorLimitHi; /// Upper limit for the calibration factor
@@ -135,14 +138,13 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication.iPerlHead
if (dbEntity == null) return;
try
{
- ProcParams tmp = (ProcParams)(new XmlSerializer(typeof(ProcParams)))
- .Deserialize(new StringReader(dbEntity.Parameters));
+ ProcParams tmp = Serializer.Deserialize(new StringReader(dbEntity.Parameters)) as ProcParams;
procedureParamsEntity = dbEntity;
componentName = dbEntity.CmpntName;
procedure = dbEntity.Procedure;
- tmp.CopyContentTo(this);
+ if (tmp != null) tmp.CopyContentTo(this);
}
catch
{
diff --git a/TestBenchFramework/BenchControl/TestParamsBase.cs b/TestBenchFramework/BenchControl/TestParamsBase.cs
index 3904e2b7f..afebe1556 100644
--- a/TestBenchFramework/BenchControl/TestParamsBase.cs
+++ b/TestBenchFramework/BenchControl/TestParamsBase.cs
@@ -1,5 +1,5 @@
///
-/// Copyright (c) 2013-2015 Sensus Metering Systems
+/// Copyright (c) 2013-2017 Sensus Metering Systems
///
using System;
using System.Collections.Generic;
@@ -14,6 +14,8 @@ namespace TBF.BenchControl
{
protected ComponentTest testParamsEntity;
+ protected virtual XmlSerializer GetSerializer() { return new XmlSerializer(GetType()); }
+
public string ComponentName { get { return componentName; } }
protected string componentName;
@@ -63,7 +65,7 @@ namespace TBF.BenchControl
using (var writer = new StringWriter())
{
/// Serialize this class with parameters
- (new XmlSerializer(GetType())).Serialize(writer, this);
+ GetSerializer().Serialize(writer, this);
/// Create and return the ComponentTest entity
ComponentTest entity = new ComponentTest();
@@ -79,7 +81,7 @@ namespace TBF.BenchControl
using (var writer = new StringWriter())
{
/// Serialize this class and update the entity
- (new XmlSerializer(GetType())).Serialize(writer, this);
+ GetSerializer().Serialize(writer, this);
testParamsEntity.Parameters = writer.ToString();
testParamsEntity.CmpntName = componentName;
testParamsEntity.Test = test;
diff --git a/TestBenchFramework/BenchControl/WaterMeters/Munich/ProcParams.cs b/TestBenchFramework/BenchControl/WaterMeters/Munich/ProcParams.cs
index 86729218e..908c84b13 100644
--- a/TestBenchFramework/BenchControl/WaterMeters/Munich/ProcParams.cs
+++ b/TestBenchFramework/BenchControl/WaterMeters/Munich/ProcParams.cs
@@ -13,7 +13,10 @@ namespace TBF.BenchControl.WaterMeters.Munich
{
public class ProcParams : ProcedureParamsBase, IParamsProvider, IProcedureParams
{
- public string ProductName; /// Znak fabryczny (PL)
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(ProcParams) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
+ public string ProductName; /// Znak fabryczny (PL)
public string Producer; /// Producent (PL), Hersteller (D)
public float DN;
public float L; /// stavebná dĺžka [mm]
@@ -145,14 +148,13 @@ namespace TBF.BenchControl.WaterMeters.Munich
if (dbEntity == null) return;
try
{
- ProcParams tmp = (ProcParams)(new XmlSerializer(typeof(ProcParams)))
- .Deserialize(new StringReader(dbEntity.Parameters));
+ ProcParams tmp = Serializer.Deserialize(new StringReader(dbEntity.Parameters)) as ProcParams;
procedureParamsEntity = dbEntity;
componentName = dbEntity.CmpntName;
procedure = dbEntity.Procedure;
- tmp.CopyContentTo(this);
+ if (tmp != null) tmp.CopyContentTo(this);
}
catch
{
diff --git a/TestBenchFramework/BenchControl/WaterMeters/Munich/WaterMeterCfg.cs b/TestBenchFramework/BenchControl/WaterMeters/Munich/WaterMeterCfg.cs
index 25adea656..7a48eb175 100644
--- a/TestBenchFramework/BenchControl/WaterMeters/Munich/WaterMeterCfg.cs
+++ b/TestBenchFramework/BenchControl/WaterMeters/Munich/WaterMeterCfg.cs
@@ -13,6 +13,9 @@ namespace TBF.BenchControl.WaterMeters.Munich
{
public class WaterMeterCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(WaterMeterCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new WaterMeterCfgCtrl(); }
/// Procedure parameters
diff --git a/TestBenchFramework/BenchControl/WaterMeters/Munich/WaterMeterFactory.cs b/TestBenchFramework/BenchControl/WaterMeters/Munich/WaterMeterFactory.cs
index d621f7a24..85055821d 100644
--- a/TestBenchFramework/BenchControl/WaterMeters/Munich/WaterMeterFactory.cs
+++ b/TestBenchFramework/BenchControl/WaterMeters/Munich/WaterMeterFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.WaterMeters.Munich
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(WaterMeterCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(WaterMeterCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/BenchControl/WaterMeters/WaterMeter/ProcParams.cs b/TestBenchFramework/BenchControl/WaterMeters/WaterMeter/ProcParams.cs
index 89e1df446..fa9ff5aae 100644
--- a/TestBenchFramework/BenchControl/WaterMeters/WaterMeter/ProcParams.cs
+++ b/TestBenchFramework/BenchControl/WaterMeters/WaterMeter/ProcParams.cs
@@ -13,7 +13,11 @@ namespace TBF.BenchControl.WaterMeters.WaterMeter
{
public class ProcParams : ProcedureParamsBase, IParamsProvider, IProcedureParams
{
- public string ProductName; /// Znak fabryczny (PL)
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(ProcParams) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
+
+ public string ProductName; /// Znak fabryczny (PL)
public string Producer; /// Producent (PL), Hersteller (D)
public float DN;
@@ -306,14 +310,13 @@ namespace TBF.BenchControl.WaterMeters.WaterMeter
if (dbEntity == null) return;
try
{
- ProcParams tmp = (ProcParams)(new XmlSerializer(typeof(ProcParams)))
- .Deserialize(new StringReader(dbEntity.Parameters));
+ ProcParams tmp = Serializer.Deserialize(new StringReader(dbEntity.Parameters)) as ProcParams;
procedureParamsEntity = dbEntity;
componentName = dbEntity.CmpntName;
procedure = dbEntity.Procedure;
- tmp.CopyContentTo(this);
+ if (tmp != null) tmp.CopyContentTo(this);
}
catch
{
diff --git a/TestBenchFramework/BenchControl/WaterMeters/WaterMeter/WaterMeterCfg.cs b/TestBenchFramework/BenchControl/WaterMeters/WaterMeter/WaterMeterCfg.cs
index 40e976042..e846e93ab 100644
--- a/TestBenchFramework/BenchControl/WaterMeters/WaterMeter/WaterMeterCfg.cs
+++ b/TestBenchFramework/BenchControl/WaterMeters/WaterMeter/WaterMeterCfg.cs
@@ -10,6 +10,9 @@ namespace TBF.BenchControl.WaterMeters.WaterMeter
{
public class WaterMeterCfg : ComponentCfgBase, Generic.IComponentCfg
{
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(WaterMeterCfg) })[0];
+ protected override XmlSerializer GetSerializer() { return Serializer; }
+
public IComponentCfgCtrl GetControl() { return new WaterMeterCfgCtrl(); }
/// Procedure parameters
diff --git a/TestBenchFramework/BenchControl/WaterMeters/WaterMeter/WaterMeterFactory.cs b/TestBenchFramework/BenchControl/WaterMeters/WaterMeter/WaterMeterFactory.cs
index dca767b3b..59bfa169c 100644
--- a/TestBenchFramework/BenchControl/WaterMeters/WaterMeter/WaterMeterFactory.cs
+++ b/TestBenchFramework/BenchControl/WaterMeters/WaterMeter/WaterMeterFactory.cs
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.WaterMeters.WaterMeter
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
- return ComponentCfgBase.CreateFromDbEntity(typeof(WaterMeterCfg), component, this);
+ return ComponentCfgBase.CreateFromDbEntity(WaterMeterCfg.Serializer, component, this);
}
}
}
diff --git a/TestBenchFramework/LocalSettings.cs b/TestBenchFramework/LocalSettings.cs
index d89b1e622..e287f84d3 100644
--- a/TestBenchFramework/LocalSettings.cs
+++ b/TestBenchFramework/LocalSettings.cs
@@ -18,7 +18,9 @@ namespace TBF
[XmlRootAttribute("TestBenchFramework")]
public class LocalSettings
{
- ///
+ static XmlSerializer serializer = XmlSerializer.FromTypes(new[] { typeof(LocalSettings) })[0];
+
+ ///
/// User interface language (used as CultureInfo(..) constructor argument).
///
public string Language = "en";
@@ -236,9 +238,7 @@ namespace TBF
{
using (TextReader reader = new StreamReader(fileName))
{
- LocalSettings ls = (new XmlSerializer(typeof(LocalSettings))).Deserialize(reader) as LocalSettings;
- // Copy the settings just in case De-serialize() completes OK
- return ls;
+ return serializer.Deserialize(reader) as LocalSettings;
}
}
catch (Exception e)
@@ -257,7 +257,7 @@ namespace TBF
{
using (TextWriter writer = new StreamWriter(Program.LocalSettingsFileName))
{
- (new XmlSerializer(typeof(LocalSettings))).Serialize(writer, this);
+ serializer.Serialize(writer, this);
}
}
catch (Exception e)
diff --git a/UserManagement/LocalSettings.cs b/UserManagement/LocalSettings.cs
index 7c856c98c..e319d6b34 100644
--- a/UserManagement/LocalSettings.cs
+++ b/UserManagement/LocalSettings.cs
@@ -18,7 +18,9 @@ namespace UserManagement
[XmlRootAttribute("UserManagement")]
public class LocalSettings
{
- ///
+ static XmlSerializer serializer = XmlSerializer.FromTypes(new[] { typeof(LocalSettings) })[0];
+
+ ///
/// User interface language (used as CultureInfo(..) constructor argument).
///
public string Language = "en";
@@ -52,10 +54,8 @@ namespace UserManagement
{
using (TextReader reader = new StreamReader(fileName))
{
- LocalSettings ls = (new XmlSerializer(typeof(LocalSettings))).Deserialize(reader) as LocalSettings;
- // Copy the settings just in case De-serialize() completes OK
- return ls;
- }
+ return serializer.Deserialize(reader) as LocalSettings;
+ }
}
catch (Exception e)
{
@@ -73,7 +73,7 @@ namespace UserManagement
{
using (TextWriter writer = new StreamWriter(Program.LocalSettingsFileName))
{
- (new XmlSerializer(typeof(LocalSettings))).Serialize(writer, this);
+ serializer.Serialize(writer, this);
}
}
catch (Exception e)