Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/28/18 16:10:48 (6 years ago)
Author:
jkarder
Message:

#2520: worked on reintegration of new persistence

  • added nuget references to HEAL.Fossil
  • added StorableType attributes to many classes
  • changed signature of StorableConstructors
  • removed some classes in old persistence
  • removed some unnecessary usings
Location:
branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4
Files:
19 edited

Legend:

Unmodified
Added
Removed
  • branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/BoolConverter.cs

    r16453 r16462  
    2525using HeuristicLab.Core;
    2626using HeuristicLab.Data;
    27 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     27using HEAL.Fossil;
    2828
    2929namespace HeuristicLab.Problems.ExternalEvaluation {
    3030  [Item("BoolConverter", "Converts a ValueTypeValue<bool>, ValueTypeArray<bool>, or ValueTypeMatrix<bool> and adds it to the SolutionMessage's BoolVars or BoolArrayVars. A matrix is encoded as array by concatenating all rows and setting length as the length of a row.")]
    31   [StorableClass]
     31  [StorableType("8341D6D1-33C1-4CB7-AC4F-9A5447948022")]
    3232  public class BoolConverter : Item, IItemToSolutionMessageConverter {
    3333    private static readonly Type[] itemTypes = new Type[] { typeof(ValueTypeValue<bool>), typeof(ValueTypeArray<bool>), typeof(ValueTypeMatrix<bool>) };
    3434    [StorableConstructor]
    35     protected BoolConverter(bool deserializing) : base(deserializing) { }
     35    protected BoolConverter(StorableConstructorFlag _) : base(_) { }
    3636    protected BoolConverter(BoolConverter original, Cloner cloner) : base(original, cloner) { }
    3737    public override IDeepCloneable Clone(Cloner cloner) {
  • branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/DateTimeValueConverter.cs

    r16453 r16462  
    2424using HeuristicLab.Core;
    2525using HeuristicLab.Data;
    26 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     26using HEAL.Fossil;
    2727
    2828namespace HeuristicLab.Problems.ExternalEvaluation {
    2929  [Item("DateTimeValueConverter", "Converts a DateTimeValue and adds it to the SolutionMessage's StringVars. The format is yyyy-MM-dd HH:mm:sszzz, e.g. 2010-05-31 19:15:33+01:00.")]
    30   [StorableClass]
     30  [StorableType("99D4CC9B-B4F3-4A79-9EC9-6C5BB40C8C87")]
    3131  public class DateTimeValueConverter : Item, IItemToSolutionMessageConverter {
    3232    private static readonly Type[] itemTypes = new Type[] { typeof(DateTimeValue) };
    3333    [StorableConstructor]
    34     protected DateTimeValueConverter(bool deserializing) : base(deserializing) { }
     34    protected DateTimeValueConverter(StorableConstructorFlag _) : base(_) { }
    3535    protected DateTimeValueConverter(DateTimeValueConverter original, Cloner cloner) : base(original, cloner) { }
    3636    public override IDeepCloneable Clone(Cloner cloner) {
  • branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/DoubleConverter.cs

    r16453 r16462  
    2525using HeuristicLab.Core;
    2626using HeuristicLab.Data;
    27 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     27using HEAL.Fossil;
    2828
    2929namespace HeuristicLab.Problems.ExternalEvaluation {
    3030  [Item("DoubleConverter", "Converts a ValueTypeValue<double>, ValueTypeArray<double>, or ValueTypeMatrix<double> and adds it to the SolutionMessage's DoubleVars or DoubleArrayVars. A matrix is encoded as array by concatenating all rows and setting length as the length of a row.")]
    31   [StorableClass]
     31  [StorableType("30B9F1EE-5D41-4EE3-97F5-39500BBC5172")]
    3232  public class DoubleConverter : Item, IItemToSolutionMessageConverter {
    3333    private static readonly Type[] itemTypes = new Type[] { typeof(ValueTypeValue<double>), typeof(ValueTypeArray<double>), typeof(ValueTypeMatrix<double>) };
    3434
    3535    [StorableConstructor]
    36     protected DoubleConverter(bool deserializing) : base(deserializing) { }
     36    protected DoubleConverter(StorableConstructorFlag _) : base(_) { }
    3737    protected DoubleConverter(DoubleConverter original, Cloner cloner) : base(original, cloner) { }
    3838    public override IDeepCloneable Clone(Cloner cloner) {
  • branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/IntegerConverter.cs

    r16453 r16462  
    2525using HeuristicLab.Core;
    2626using HeuristicLab.Data;
    27 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     27using HEAL.Fossil;
    2828
    2929namespace HeuristicLab.Problems.ExternalEvaluation {
    3030  [Item("IntegerConverter", "Converts a ValueTypeValue<int>, ValueTypeArray<int>, or ValueTypeMatrix<int> and adds it to the SolutionMessage's IntegerVars or IntegerArrayVars. A matrix is encoded as array by concatenating all rows and setting length as the length of a row.")]
    31   [StorableClass]
     31  [StorableType("540B4803-05EC-4AB8-AFAC-A8E35A98F4D7")]
    3232  public class IntegerConverter : Item, IItemToSolutionMessageConverter {
    3333    private static readonly Type[] itemTypes = new Type[] { typeof(ValueTypeValue<int>), typeof(ValueTypeArray<int>), typeof(ValueTypeMatrix<int>) };
    3434
    3535    [StorableConstructor]
    36     protected IntegerConverter(bool deserializing) : base(deserializing) { }
     36    protected IntegerConverter(StorableConstructorFlag _) : base(_) { }
    3737    protected IntegerConverter(IntegerConverter original, Cloner cloner) : base(original, cloner) { }
    3838    public override IDeepCloneable Clone(Cloner cloner) {
  • branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/StringConverter.cs

    r16453 r16462  
    2424using HeuristicLab.Core;
    2525using HeuristicLab.Data;
    26 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     26using HEAL.Fossil;
    2727
    2828namespace HeuristicLab.Problems.ExternalEvaluation {
    2929  [Item("StringConverter", "Converts a StringValue, StringArray, StringMatrix, IStringConvertibleValue, IStringConvertibleArray, or IStringConvertibleMatrix and adds it to the SolutionMessage's StringVars or StringArrayVars. A matrix is encoded as array by concatenating all rows and setting length as the length of a row.")]
    30   [StorableClass]
     30  [StorableType("FD48F37D-DA07-442D-85B9-EC7D5D1A6740")]
    3131  public class StringConverter : Item, IItemToSolutionMessageConverter {
    3232    private static readonly Type[] itemTypes = new Type[] { typeof(StringValue), typeof(StringArray), typeof(StringMatrix), typeof(IStringConvertibleValue), typeof(IStringConvertibleArray), typeof(IStringConvertibleMatrix) };
    3333
    3434    [StorableConstructor]
    35     protected StringConverter(bool deserializing) : base(deserializing) { }
     35    protected StringConverter(StorableConstructorFlag _) : base(_) { }
    3636    protected StringConverter(StringConverter original, Cloner cloner) : base(original, cloner) { }
    3737    public override IDeepCloneable Clone(Cloner cloner) {
  • branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Converters/TimeSpanValueConverter.cs

    r16453 r16462  
    2424using HeuristicLab.Core;
    2525using HeuristicLab.Data;
    26 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     26using HEAL.Fossil;
    2727
    2828namespace HeuristicLab.Problems.ExternalEvaluation {
    2929  [Item("TimeSpanValueConverter", "Converts a TimeSpanValue and adds it to the SolutionMessage's StringVars. The format is d.hh:mm:ss, e.g. 1113.10:55:00 (1113 days 10 hours, 55 minutes, 0 seconds).")]
    30   [StorableClass]
     30  [StorableType("4617C8B5-89CF-42B5-82B5-C57E9B924C0F")]
    3131  public class TimeSpanValueConverter : Item, IItemToSolutionMessageConverter {
    3232    private static readonly Type[] itemTypes = new Type[] { typeof(TimeSpanValue) };
    3333
    3434    [StorableConstructor]
    35     protected TimeSpanValueConverter(bool deserializing) : base(deserializing) { }
     35    protected TimeSpanValueConverter(StorableConstructorFlag _) : base(_) { }
    3636    protected TimeSpanValueConverter(TimeSpanValueConverter original, Cloner cloner) : base(original, cloner) { }
    3737    public override IDeepCloneable Clone(Cloner cloner) {
  • branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationChannel.cs

    r16453 r16462  
    2323using HeuristicLab.Common;
    2424using HeuristicLab.Core;
    25 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     25using HEAL.Fossil;
    2626
    2727namespace HeuristicLab.Problems.ExternalEvaluation {
    2828  [Item("EvaluationChannel", "Abstract base class for channels to be used in an external evaluation problem.")]
    29   [StorableClass]
     29  [StorableType("2BE4FE9D-D5FE-45C3-9F85-3BF7200F0913")]
    3030  public abstract class EvaluationChannel : NamedItem, IEvaluationChannel {
    3131    public override bool CanChangeName { get { return false; } }
     
    3333
    3434    [StorableConstructor]
    35     protected EvaluationChannel(bool deserializing) : base(deserializing) { }
     35    protected EvaluationChannel(StorableConstructorFlag _) : base(_) { }
    3636    protected EvaluationChannel(EvaluationChannel original, Cloner cloner) : base(original, cloner) { }
    3737    protected EvaluationChannel()
  • branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationProcessChannel.cs

    r16453 r16462  
    2626using HeuristicLab.Common;
    2727using HeuristicLab.Core;
    28 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     28using HEAL.Fossil;
    2929
    3030namespace HeuristicLab.Problems.ExternalEvaluation {
    3131  [Item("EvaluationProcessChannel", "A channel that launches an external application in a new process and communicates with that process via stdin and stdout.")]
    32   [StorableClass]
     32  [StorableType("ECC07782-60E0-483C-8632-476697A058D2")]
    3333  public class EvaluationProcessChannel : EvaluationChannel {
    3434
     
    6464    #region Construction & Cloning
    6565    [StorableConstructor]
    66     protected EvaluationProcessChannel(bool deserializing) : base(deserializing) { }
     66    protected EvaluationProcessChannel(StorableConstructorFlag _) : base(_) { }
    6767    protected EvaluationProcessChannel(EvaluationProcessChannel original, Cloner cloner)
    6868      : base(original, cloner) {
  • branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationServiceClient.cs

    r16453 r16462  
    2727using HeuristicLab.Data;
    2828using HeuristicLab.Parameters;
    29 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     29using HEAL.Fossil;
    3030
    3131namespace HeuristicLab.Problems.ExternalEvaluation {
    3232  [Item("EvaluationServiceClient", "An RPC client that evaluates a solution.")]
    33   [StorableClass]
     33  [StorableType("97F11C34-F32B-4AD2-92FB-F4A12311C962")]
    3434  public class EvaluationServiceClient : ParameterizedNamedItem, IEvaluationServiceClient {
    3535
     
    5353    #region Construction & Cloning
    5454    [StorableConstructor]
    55     protected EvaluationServiceClient(bool deserializing) : base(deserializing) { }
     55    protected EvaluationServiceClient(StorableConstructorFlag _) : base(_) { }
    5656    protected EvaluationServiceClient(EvaluationServiceClient original, Cloner cloner)
    5757      : base(original, cloner) {
  • branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationStreamChannel.cs

    r16453 r16462  
    2525using HeuristicLab.Common;
    2626using HeuristicLab.Core;
    27 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     27using HEAL.Fossil;
    2828
    2929namespace HeuristicLab.Problems.ExternalEvaluation {
    3030  [Item("EvaluationStreamChannel", "A channel that communicates via an input and an output stream.")]
    31   [StorableClass]
     31  [StorableType("15DD5556-3C31-4D18-BE18-D438B45591D8")]
    3232  public class EvaluationStreamChannel : EvaluationChannel {
    3333
     
    3636
    3737    [StorableConstructor]
    38     protected EvaluationStreamChannel(bool deserializing) : base(deserializing) { }
     38    protected EvaluationStreamChannel(StorableConstructorFlag _) : base(_) { }
    3939    protected EvaluationStreamChannel(EvaluationStreamChannel original, Cloner cloner) : base(original, cloner) { }
    4040    public override IDeepCloneable Clone(Cloner cloner) {
  • branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationTCPChannel.cs

    r16453 r16462  
    2626using HeuristicLab.Common;
    2727using HeuristicLab.Core;
    28 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     28using HEAL.Fossil;
    2929
    3030namespace HeuristicLab.Problems.ExternalEvaluation {
    3131  [Item("EvaluationTCPChannel", "A channel that creates a TCP connection over a network.")]
    32   [StorableClass]
     32  [StorableType("FECC0F5B-B22A-4117-888D-5B8B84332D24")]
    3333  public class EvaluationTCPChannel : EvaluationChannel {
    3434
     
    6363    #region Construction & Cloning
    6464    [StorableConstructor]
    65     protected EvaluationTCPChannel(bool deserializing) : base(deserializing) { }
     65    protected EvaluationTCPChannel(StorableConstructorFlag _) : base(_) { }
    6666    protected EvaluationTCPChannel(EvaluationTCPChannel original, Cloner cloner)
    6767      : base(original, cloner) {
  • branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/EvaluationCache.cs

    r16453 r16462  
    3636using HeuristicLab.Data;
    3737using HeuristicLab.Parameters;
    38 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     38using HEAL.Fossil;
    3939
    4040namespace HeuristicLab.Problems.ExternalEvaluation {
    4141
    4242  [Item("EvaluationCache", "Cache for external evaluation values")]
    43   [StorableClass]
     43  [StorableType("FDB10541-FA1C-4CF9-8175-83A55700C052")]
    4444  public class EvaluationCache : ParameterizedNamedItem {
    4545
     
    199199    #region Construction & Cloning
    200200    [StorableConstructor]
    201     protected EvaluationCache(bool deserializing) : base(deserializing) { }
     201    protected EvaluationCache(StorableConstructorFlag _) : base(_) { }
    202202    protected EvaluationCache(EvaluationCache original, Cloner cloner)
    203203        : base(original, cloner) {
  • branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/ExternalEvaluationProblem.cs

    r16453 r16462  
    3232using HeuristicLab.Optimization;
    3333using HeuristicLab.Parameters;
    34 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     34using HEAL.Fossil;
    3535
    3636namespace HeuristicLab.Problems.ExternalEvaluation {
    3737  [Item("External Evaluation Problem (single-objective)", "A problem that is evaluated in a different process.")]
    3838  [Creatable(CreatableAttribute.Categories.ExternalEvaluationProblems, Priority = 100)]
    39   [StorableClass]
     39  [StorableType("115EB3A5-A8A8-4A2E-9799-9485FE896DEC")]
    4040  // BackwardsCompatibility3.3
    4141  // Rename class to SingleObjectiveExternalEvaluationProblem
     
    8888
    8989    [StorableConstructor]
    90     protected ExternalEvaluationProblem(bool deserializing) : base(deserializing) { }
     90    protected ExternalEvaluationProblem(StorableConstructorFlag _) : base(_) { }
    9191    protected ExternalEvaluationProblem(ExternalEvaluationProblem original, Cloner cloner) : base(original, cloner) { }
    9292    public override IDeepCloneable Clone(Cloner cloner) {
  • branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/HeuristicLab.Problems.ExternalEvaluation-3.4.csproj

    r16454 r16462  
    108108      <Private>False</Private>
    109109    </Reference>
    110     <Reference Include="HEAL.Fossil, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
     110    <Reference Include="HEAL.Fossil, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    111111      <HintPath>..\..\packages\HEAL.Fossil.1.0.0\lib\netstandard2.0\HEAL.Fossil.dll</HintPath>
    112112    </Reference>
  • branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/MultiObjectiveExternalEvaluationProblem.cs

    r16453 r16462  
    3131using HeuristicLab.Optimization;
    3232using HeuristicLab.Parameters;
    33 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     33using HEAL.Fossil;
    3434
    3535namespace HeuristicLab.Problems.ExternalEvaluation {
    3636  [Item("External Evaluation Problem (multi-objective)", "A multi-objective problem that is evaluated in a different process.")]
    3737  [Creatable(CreatableAttribute.Categories.ExternalEvaluationProblems, Priority = 200)]
    38   [StorableClass]
     38  [StorableType("CCA50199-A6AB-4C84-B4FA-0262CAF416EC")]
    3939  public class MultiObjectiveExternalEvaluationProblem : MultiObjectiveBasicProblem<IEncoding>, IExternalEvaluationProblem {
    4040
     
    8585
    8686    [StorableConstructor]
    87     protected MultiObjectiveExternalEvaluationProblem(bool deserializing) : base(deserializing) { }
     87    protected MultiObjectiveExternalEvaluationProblem(StorableConstructorFlag _) : base(_) { }
    8888    protected MultiObjectiveExternalEvaluationProblem(MultiObjectiveExternalEvaluationProblem original, Cloner cloner) : base(original, cloner) { }
    8989    public override IDeepCloneable Clone(Cloner cloner) {
  • branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/MultiObjectiveOptimizationSupportScript.cs

    r16453 r16462  
    2323using HeuristicLab.Core;
    2424using HeuristicLab.Optimization;
    25 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     25using HEAL.Fossil;
    2626using HeuristicLab.Problems.ExternalEvaluation.Programmable;
    2727
    2828namespace HeuristicLab.Problems.ExternalEvaluation {
    2929  [Item("ProblemDefinitionScript", "Script that defines the parameter vector and evaluates the solution for a programmable problem.")]
    30   [StorableClass]
     30  [StorableType("617A7BEE-1B2F-4E39-A814-54CC4DFA2F02")]
    3131  public sealed class MultiObjectiveOptimizationSupportScript : OptimizationSupportScript<IMultiObjectiveOptimizationSupport>, IMultiObjectiveOptimizationSupport {
    3232    [StorableConstructor]
    33     private MultiObjectiveOptimizationSupportScript(bool deserializing) : base(deserializing) { }
     33    private MultiObjectiveOptimizationSupportScript(StorableConstructorFlag _) : base(_) { }
    3434    private MultiObjectiveOptimizationSupportScript(MultiObjectiveOptimizationSupportScript original, Cloner cloner) : base(original, cloner) { }
    3535    public MultiObjectiveOptimizationSupportScript() : base(Templates.CompiledMultiObjectiveOptimizationSupport) { }
  • branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/OptimizationSupportScript.cs

    r16453 r16462  
    2424using System.Reflection;
    2525using HeuristicLab.Common;
    26 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     26using HEAL.Fossil;
    2727using HeuristicLab.Scripting;
    2828
    2929namespace HeuristicLab.Problems.ExternalEvaluation {
    30   [StorableClass]
     30  [StorableType("F1BC4885-753B-4E47-9169-EFC2E744782C")]
    3131  public abstract class OptimizationSupportScript<T> : Script
    3232    where T : class {
     
    3939
    4040    [StorableConstructor]
    41     protected OptimizationSupportScript(bool deserializing) : base(deserializing) { }
     41    protected OptimizationSupportScript(StorableConstructorFlag _) : base(_) { }
    4242    protected OptimizationSupportScript(OptimizationSupportScript<T> original, Cloner cloner)
    4343      : base(original, cloner) {
  • branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/SingleObjectiveOptimizationSupportScript.cs

    r16453 r16462  
    2424using HeuristicLab.Core;
    2525using HeuristicLab.Optimization;
    26 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     26using HEAL.Fossil;
    2727using HeuristicLab.Problems.ExternalEvaluation.Programmable;
    2828
    2929namespace HeuristicLab.Problems.ExternalEvaluation {
    3030  [Item("ProblemDefinitionScript", "Script that defines the parameter vector and evaluates the solution for a programmable problem.")]
    31   [StorableClass]
     31  [StorableType("3EB74171-6ECB-4479-861E-DA4EB39FE70C")]
    3232  public sealed class SingleObjectiveOptimizationSupportScript : OptimizationSupportScript<ISingleObjectiveOptimizationSupport>, ISingleObjectiveOptimizationSupport {
    3333    [StorableConstructor]
    34     private SingleObjectiveOptimizationSupportScript(bool deserializing) : base(deserializing) { }
     34    private SingleObjectiveOptimizationSupportScript(StorableConstructorFlag _) : base(_) { }
    3535    private SingleObjectiveOptimizationSupportScript(SingleObjectiveOptimizationSupportScript original, Cloner cloner) : base(original, cloner) { }
    3636    public SingleObjectiveOptimizationSupportScript() : base(Templates.CompiledSingleObjectiveOptimizationSupport) { }
  • branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/SolutionMessageBuilder.cs

    r16453 r16462  
    2626using HeuristicLab.Common;
    2727using HeuristicLab.Core;
    28 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     28using HEAL.Fossil;
    2929
    3030namespace HeuristicLab.Problems.ExternalEvaluation {
    3131  [Item("SolutionMessageBuilder", "Holds and uses a number of converters to translate HeuristicLab objects into appropriate fields of a solution message.")]
    32   [StorableClass]
     32  [StorableType("8F406464-C1F6-4BBD-8791-C836846B473B")]
    3333  public class SolutionMessageBuilder : NamedItem {
    3434    public override bool CanChangeName { get { return false; } }
     
    4343
    4444    [StorableConstructor]
    45     protected SolutionMessageBuilder(bool deserializing) : base(deserializing) { }
     45    protected SolutionMessageBuilder(StorableConstructorFlag _) : base(_) { }
    4646    [StorableHook(HookType.AfterDeserialization)]
    4747    private void AfterDeserialization() {
Note: See TracChangeset for help on using the changeset viewer.