Free cookie consent management tool by TermsFeed Policy Generator

Changeset 4918


Ignore:
Timestamp:
11/24/10 02:54:35 (14 years ago)
Author:
swagner
Message:

Worked on OKB (#1174)

Location:
branches/OKB
Files:
19 edited

Legend:

Unmodified
Added
Removed
  • branches/OKB/HeuristicLab.Clients.OKB-3.3/HeuristicLab.Clients.OKB-3.3.csproj

    r4566 r4918  
    3939  </PropertyGroup>
    4040  <ItemGroup>
    41     <Reference Include="HeuristicLab.Clients.Common-3.3">
    42       <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Clients.Common-3.3.dll</HintPath>
    43     </Reference>
    44     <Reference Include="HeuristicLab.Collections-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL" />
    45     <Reference Include="HeuristicLab.Common-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL" />
    46     <Reference Include="HeuristicLab.Common.Resources-3.3, Version=3.2.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL" />
    47     <Reference Include="HeuristicLab.Core-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL" />
    48     <Reference Include="HeuristicLab.Core.Views-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL" />
    49     <Reference Include="HeuristicLab.Data-3.3">
    50       <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Data-3.3.dll</HintPath>
    51     </Reference>
    52     <Reference Include="HeuristicLab.MainForm-3.3">
    53       <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.MainForm-3.3.dll</HintPath>
    54     </Reference>
    55     <Reference Include="HeuristicLab.MainForm.WindowsForms-3.3">
    56       <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.MainForm.WindowsForms-3.3.dll</HintPath>
    57     </Reference>
    58     <Reference Include="HeuristicLab.Optimization-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL" />
    59     <Reference Include="HeuristicLab.Optimizer-3.3">
    60       <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Optimizer-3.3.dll</HintPath>
    61     </Reference>
    62     <Reference Include="HeuristicLab.Persistence-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL" />
    63     <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
    64       <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
     41    <Reference Include="HeuristicLab.Clients.Common-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     42      <HintPath>..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Clients.Common-3.3.dll</HintPath>
     43    </Reference>
     44    <Reference Include="HeuristicLab.Collections-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     45      <HintPath>..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Collections-3.3.dll</HintPath>
     46    </Reference>
     47    <Reference Include="HeuristicLab.Common-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     48      <HintPath>..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Common-3.3.dll</HintPath>
     49    </Reference>
     50    <Reference Include="HeuristicLab.Common.Resources-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     51      <SpecificVersion>False</SpecificVersion>
     52      <HintPath>..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Common.Resources-3.3.dll</HintPath>
     53    </Reference>
     54    <Reference Include="HeuristicLab.Core-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     55      <HintPath>..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Core-3.3.dll</HintPath>
     56    </Reference>
     57    <Reference Include="HeuristicLab.Core.Views-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     58      <HintPath>..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Core.Views-3.3.dll</HintPath>
     59    </Reference>
     60    <Reference Include="HeuristicLab.Data-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     61      <HintPath>..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Data-3.3.dll</HintPath>
     62    </Reference>
     63    <Reference Include="HeuristicLab.MainForm-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     64      <HintPath>..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.MainForm-3.3.dll</HintPath>
     65    </Reference>
     66    <Reference Include="HeuristicLab.MainForm.WindowsForms-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     67      <HintPath>..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.MainForm.WindowsForms-3.3.dll</HintPath>
     68    </Reference>
     69    <Reference Include="HeuristicLab.Optimization-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     70      <HintPath>..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Optimization-3.3.dll</HintPath>
     71    </Reference>
     72    <Reference Include="HeuristicLab.Optimizer-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     73      <HintPath>..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Optimizer-3.3.dll</HintPath>
     74    </Reference>
     75    <Reference Include="HeuristicLab.Persistence-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     76      <HintPath>..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Persistence-3.3.dll</HintPath>
     77    </Reference>
     78    <Reference Include="HeuristicLab.PluginInfrastructure-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     79      <HintPath>..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
    6580    </Reference>
    6681    <Reference Include="System" />
  • branches/OKB/HeuristicLab.Clients.OKB-3.3/OKBClient.cs

    r4591 r4918  
    373373            parameters.Add(p);
    374374          }
    375           AlgorithmParameterValue value = null;
    376           // TODO
     375          AlgorithmParameterValue value = CreateAlgorithmParameterValue(param.Value);
    377376          value.AlgorithmParameterId = p.Id;
    378377          value.DataTypeId = ConvertToDataType(param.Value.GetType()).Id;
     
    383382      }
    384383      return values;
     384    }
     385    private AlgorithmParameterValue CreateAlgorithmParameterValue(IItem item) {
     386      if (item is BoolValue) {
     387        AlgorithmParameterBoolValue value = new AlgorithmParameterBoolValue();
     388        value.Value = ((BoolValue)item).Value;
     389        return value;
     390      } else if (item is DoubleValue) {
     391        AlgorithmParameterFloatValue value = new AlgorithmParameterFloatValue();
     392        value.Value = ((DoubleValue)item).Value;
     393        return value;
     394      } else if (item is IntValue) {
     395        AlgorithmParameterIntValue value = new AlgorithmParameterIntValue();
     396        value.Value = ((IntValue)item).Value;
     397        return value;
     398      } else if (item is StringValue) {
     399        AlgorithmParameterStringValue value = new AlgorithmParameterStringValue();
     400        value.Value = ((StringValue)item).Value;
     401        return value;
     402      } else {
     403        AlgorithmParameterBlobValue value = new AlgorithmParameterBlobValue();
     404        value.Value = null;
     405        return value;
     406      }
    385407    }
    386408    private List<ProblemParameterValue> CollectProblemParamterValues(long problemId, ItemCollection<ProblemParameter> parameters, IParameterizedItem item, string prefix) {
    387409      List<ProblemParameterValue> values = new List<ProblemParameterValue>();
    388410      foreach (IValueParameter param in item.Parameters.OfType<IValueParameter>()) {
    389         if (param.GetsCollected && (param.Value != null) && (parameters.FirstOrDefault(x => x.Name == prefix + param.Name) == null)) {
    390           ProblemParameter p = new ProblemParameter();
    391           p.Name = prefix + param.Name;
    392           p.Alias = prefix + param.Name;
    393           p.Description = param.Description;
    394           p.ProblemId = problemId;
    395           p.DataTypeId = ConvertToDataType(param.DataType).Id;
    396           p.Store();
    397           parameters.Add(p);
    398         }
     411        if (param.GetsCollected && (param.Value != null)) {
     412          ProblemParameter p = parameters.FirstOrDefault(x => x.Name == prefix + param.Name);
     413          if (p == null) {
     414            p = new ProblemParameter();
     415            p.Name = prefix + param.Name;
     416            p.Alias = prefix + param.Name;
     417            p.Description = param.Description;
     418            p.ProblemId = problemId;
     419            p.DataTypeId = ConvertToDataType(param.DataType).Id;
     420            p.Store();
     421            parameters.Add(p);
     422          }
     423          ProblemParameterValue value = CreateProblemParameterValue(param.Value);
     424          value.ProblemParameterId = p.Id;
     425          value.DataTypeId = ConvertToDataType(param.Value.GetType()).Id;
     426        }
     427
    399428        if (param.Value is IParameterizedItem)
    400429          values.AddRange(CollectProblemParamterValues(problemId, parameters, (IParameterizedItem)param.Value, (string.IsNullOrEmpty(prefix) ? param.Name : prefix + param.Name) + "."));
    401430      }
    402431      return values;
     432    }
     433    private ProblemParameterValue CreateProblemParameterValue(IItem item) {
     434      if (item is BoolValue) {
     435        ProblemParameterBoolValue value = new ProblemParameterBoolValue();
     436        value.Value = ((BoolValue)item).Value;
     437        return value;
     438      } else if (item is DoubleValue) {
     439        ProblemParameterFloatValue value = new ProblemParameterFloatValue();
     440        value.Value = ((DoubleValue)item).Value;
     441        return value;
     442      } else if (item is IntValue) {
     443        ProblemParameterIntValue value = new ProblemParameterIntValue();
     444        value.Value = ((IntValue)item).Value;
     445        return value;
     446      } else if (item is StringValue) {
     447        ProblemParameterStringValue value = new ProblemParameterStringValue();
     448        value.Value = ((StringValue)item).Value;
     449        return value;
     450      } else {
     451        ProblemParameterBlobValue value = new ProblemParameterBlobValue();
     452        value.Value = null;
     453        return value;
     454      }
    403455    }
    404456    private List<ResultValue> CollectResultValues(long algorithmId, ItemCollection<Result> results, IAlgorithm algorithm) {
     
    418470      return values;
    419471    }
     472    private ResultValue CreateResiötValue(IItem item) {
     473      if (item is BoolValue) {
     474        ResultBoolValue value = new ResultBoolValue();
     475        value.Value = ((BoolValue)item).Value;
     476        return value;
     477      } else if (item is DoubleValue) {
     478        ResultFloatValue value = new ResultFloatValue();
     479        value.Value = ((DoubleValue)item).Value;
     480        return value;
     481      } else if (item is IntValue) {
     482        ResultIntValue value = new ResultIntValue();
     483        value.Value = ((IntValue)item).Value;
     484        return value;
     485      } else if (item is StringValue) {
     486        ResultStringValue value = new ResultStringValue();
     487        value.Value = ((StringValue)item).Value;
     488        return value;
     489      } else {
     490        ResultBlobValue value = new ResultBlobValue();
     491        value.Value = null;
     492        return value;
     493      }
     494    }
    420495    #endregion
    421496
  • branches/OKB/HeuristicLab.Clients.OKB-3.3/OKBExperiment.cs

    r4591 r4918  
    148148    #endregion
    149149
     150    [StorableConstructor]
     151    private OKBExperiment(bool deserializing) : base(deserializing) { }
     152    private OKBExperiment(OKBExperiment original, Cloner cloner)
     153      : base(original, cloner) {
     154      algorithmId = original.algorithmId;
     155      algorithm = cloner.Clone(original.algorithm);
     156      problemId = original.problemId;
     157      problem = cloner.Clone(original.problem);
     158      RegisterAlgorithmEvents();
     159    }
    150160    public OKBExperiment()
    151161      : base() {
     
    153163      description = ItemDescription;
    154164    }
    155     [StorableConstructor]
    156     private OKBExperiment(bool deserializing) : base(deserializing) { }
    157165
    158166    [StorableHook(HookType.AfterDeserialization)]
    159     private void Initialize() {
     167    private void AfterDeserialization() {
    160168      RegisterAlgorithmEvents();
     169    }
     170
     171    public override IDeepCloneable Clone(Cloner cloner) {
     172      return new OKBExperiment(this, cloner);
    161173    }
    162174
  • branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/Algorithm.cs

    r4566 r4918  
    2626  [Item("Algorithm", "An OKB algorithm.")]
    2727  public partial class Algorithm {
     28    protected Algorithm(Algorithm original, Cloner cloner)
     29      : base(original, cloner) {
     30      PlatformId = original.PlatformId;
     31      AlgorithmClassId = original.AlgorithmClassId;
     32    }
    2833    public Algorithm() {
    2934      Name = "New Algorithm";
     
    3338
    3439    public override IDeepCloneable Clone(Cloner cloner) {
    35       Algorithm clone = (Algorithm)base.Clone(cloner);
    36       clone.PlatformId = PlatformId;
    37       clone.AlgorithmClassId = AlgorithmClassId;
    38       return clone;
     40      return new Algorithm(this, cloner);
    3941    }
    4042  }
  • branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/AlgorithmClass.cs

    r4456 r4918  
    2020#endregion
    2121
     22using HeuristicLab.Common;
    2223using HeuristicLab.Core;
    2324
     
    2526  [Item("AlgorithmClass", "An OKB algorithm class.")]
    2627  public partial class AlgorithmClass {
     28    protected AlgorithmClass(AlgorithmClass original, Cloner cloner) : base(original, cloner) { }
    2729    public AlgorithmClass() {
    2830      Name = "New Algorithm Class";
    2931    }
     32
     33    public override IDeepCloneable Clone(Cloner cloner) {
     34      return new AlgorithmClass(this, cloner);
     35    }
    3036  }
    3137}
  • branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/AlgorithmParameter.cs

    r4566 r4918  
    2626  [Item("AlgorithmParameter", "An OKB algorithm parameter.")]
    2727  public partial class AlgorithmParameter {
     28    protected AlgorithmParameter(AlgorithmParameter original, Cloner cloner)
     29      : base(original, cloner) {
     30      Alias = original.Alias;
     31      AlgorithmId = original.AlgorithmId;
     32      DataTypeId = original.DataTypeId;
     33    }
    2834    public AlgorithmParameter() {
    2935      Name = "New AlgorithmParameter";
     
    3440
    3541    public override IDeepCloneable Clone(Cloner cloner) {
    36       AlgorithmParameter clone = (AlgorithmParameter)base.Clone(cloner);
    37       clone.Alias = Alias;
    38       clone.AlgorithmId = AlgorithmId;
    39       clone.DataTypeId = DataTypeId;
    40       return clone;
     42      return new AlgorithmParameter(this, cloner);
    4143    }
    4244  }
  • branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/DataType.cs

    r4566 r4918  
    2626  [Item("DataType", "An OKB data type.")]
    2727  public partial class DataType {
     28    protected DataType(DataType original, Cloner cloner)
     29      : base(original, cloner) {
     30      Name = original.Name;
     31      SqlName = original.SqlName;
     32      PlatformId = original.PlatformId;
     33    }
    2834    public DataType() {
    2935      Name = "New Data Type";
     
    3339
    3440    public override IDeepCloneable Clone(Cloner cloner) {
    35       DataType clone = (DataType)base.Clone(cloner);
    36       clone.Name = Name;
    37       clone.SqlName = SqlName;
    38       clone.PlatformId = PlatformId;
    39       return clone;
     41      return new DataType(this, cloner);
    4042    }
    4143
  • branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/NamedOKBItem.cs

    r4456 r4918  
    2727  [Item("NamedOKBItem", "Base class for all named OKB items.")]
    2828  public partial class NamedOKBItem : INamedOKBItem {
     29    protected NamedOKBItem(NamedOKBItem original, Cloner cloner)
     30      : base(original, cloner) {
     31      Name = original.Name;
     32      Description = original.Description;
     33    }
     34    public NamedOKBItem() {
     35      Name = "New Item";
     36      Description = string.Empty;
     37    }
     38
    2939    public override IDeepCloneable Clone(Cloner cloner) {
    30       NamedOKBItem clone = (NamedOKBItem)base.Clone(cloner);
    31       clone.Name = Name;
    32       clone.Description = Description;
    33       return clone;
     40      return new NamedOKBItem(this, cloner);
    3441    }
    3542
  • branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/OKBItem.cs

    r4566 r4918  
    6262    }
    6363
     64    protected OKBItem(OKBItem original, Cloner cloner) {
     65      cloner.RegisterClonedObject(original, this);
     66      modified = true;
     67    }
    6468    protected OKBItem() {
    6569      modified = true;
     
    7579    }
    7680    public virtual IDeepCloneable Clone(Cloner cloner) {
    77       OKBItem clone = (OKBItem)Activator.CreateInstance(this.GetType(), true);
    78       cloner.RegisterClonedObject(this, clone);
    79       return clone;
     81      return new OKBItem(this, cloner);
    8082    }
    8183
  • branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/OKBServiceClient.cs

    r4591 r4918  
    5656
    5757    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     58
    5859  }
    5960
     
    561562  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    562563  [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmParameterValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     564  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameterFloatValue))]
     565  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameterStringValue))]
     566  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameterBlobValue))]
     567  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameterIntValue))]
     568  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameterBoolValue))]
    563569  public partial class AlgorithmParameterValue : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
    564570
     
    632638  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    633639  [System.Runtime.Serialization.DataContractAttribute(Name = "ProblemParameterValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     640  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterFloatValue))]
     641  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterIntValue))]
     642  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterBlobValue))]
     643  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterBoolValue))]
     644  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterStringValue))]
    634645  public partial class ProblemParameterValue : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
    635646
     
    702713  [System.Diagnostics.DebuggerStepThroughAttribute()]
    703714  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     715  [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmParameterFloatValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     716  public partial class AlgorithmParameterFloatValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
     717
     718    private double ValueField;
     719
     720    [System.Runtime.Serialization.DataMemberAttribute()]
     721    public double Value {
     722      get {
     723        return this.ValueField;
     724      }
     725      set {
     726        if ((this.ValueField.Equals(value) != true)) {
     727          this.ValueField = value;
     728          this.RaisePropertyChanged("Value");
     729        }
     730      }
     731    }
     732  }
     733
     734  [System.Diagnostics.DebuggerStepThroughAttribute()]
     735  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     736  [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmParameterStringValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     737  public partial class AlgorithmParameterStringValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
     738
     739    private string ValueField;
     740
     741    [System.Runtime.Serialization.DataMemberAttribute()]
     742    public string Value {
     743      get {
     744        return this.ValueField;
     745      }
     746      set {
     747        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
     748          this.ValueField = value;
     749          this.RaisePropertyChanged("Value");
     750        }
     751      }
     752    }
     753  }
     754
     755  [System.Diagnostics.DebuggerStepThroughAttribute()]
     756  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     757  [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmParameterBlobValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     758  public partial class AlgorithmParameterBlobValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
     759
     760    private byte[] ValueField;
     761
     762    [System.Runtime.Serialization.DataMemberAttribute()]
     763    public byte[] Value {
     764      get {
     765        return this.ValueField;
     766      }
     767      set {
     768        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
     769          this.ValueField = value;
     770          this.RaisePropertyChanged("Value");
     771        }
     772      }
     773    }
     774  }
     775
     776  [System.Diagnostics.DebuggerStepThroughAttribute()]
     777  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     778  [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmParameterIntValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     779  public partial class AlgorithmParameterIntValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
     780
     781    private long ValueField;
     782
     783    [System.Runtime.Serialization.DataMemberAttribute()]
     784    public long Value {
     785      get {
     786        return this.ValueField;
     787      }
     788      set {
     789        if ((this.ValueField.Equals(value) != true)) {
     790          this.ValueField = value;
     791          this.RaisePropertyChanged("Value");
     792        }
     793      }
     794    }
     795  }
     796
     797  [System.Diagnostics.DebuggerStepThroughAttribute()]
     798  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     799  [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmParameterBoolValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     800  public partial class AlgorithmParameterBoolValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
     801
     802    private bool ValueField;
     803
     804    [System.Runtime.Serialization.DataMemberAttribute()]
     805    public bool Value {
     806      get {
     807        return this.ValueField;
     808      }
     809      set {
     810        if ((this.ValueField.Equals(value) != true)) {
     811          this.ValueField = value;
     812          this.RaisePropertyChanged("Value");
     813        }
     814      }
     815    }
     816  }
     817
     818  [System.Diagnostics.DebuggerStepThroughAttribute()]
     819  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     820  [System.Runtime.Serialization.DataContractAttribute(Name = "ProblemParameterFloatValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     821  public partial class ProblemParameterFloatValue : HeuristicLab.Clients.OKB.ProblemParameterValue {
     822
     823    private double ValueField;
     824
     825    [System.Runtime.Serialization.DataMemberAttribute()]
     826    public double Value {
     827      get {
     828        return this.ValueField;
     829      }
     830      set {
     831        if ((this.ValueField.Equals(value) != true)) {
     832          this.ValueField = value;
     833          this.RaisePropertyChanged("Value");
     834        }
     835      }
     836    }
     837  }
     838
     839  [System.Diagnostics.DebuggerStepThroughAttribute()]
     840  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     841  [System.Runtime.Serialization.DataContractAttribute(Name = "ProblemParameterIntValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     842  public partial class ProblemParameterIntValue : HeuristicLab.Clients.OKB.ProblemParameterValue {
     843
     844    private long ValueField;
     845
     846    [System.Runtime.Serialization.DataMemberAttribute()]
     847    public long Value {
     848      get {
     849        return this.ValueField;
     850      }
     851      set {
     852        if ((this.ValueField.Equals(value) != true)) {
     853          this.ValueField = value;
     854          this.RaisePropertyChanged("Value");
     855        }
     856      }
     857    }
     858  }
     859
     860  [System.Diagnostics.DebuggerStepThroughAttribute()]
     861  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     862  [System.Runtime.Serialization.DataContractAttribute(Name = "ProblemParameterBlobValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     863  public partial class ProblemParameterBlobValue : HeuristicLab.Clients.OKB.ProblemParameterValue {
     864
     865    private byte[] ValueField;
     866
     867    [System.Runtime.Serialization.DataMemberAttribute()]
     868    public byte[] Value {
     869      get {
     870        return this.ValueField;
     871      }
     872      set {
     873        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
     874          this.ValueField = value;
     875          this.RaisePropertyChanged("Value");
     876        }
     877      }
     878    }
     879  }
     880
     881  [System.Diagnostics.DebuggerStepThroughAttribute()]
     882  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     883  [System.Runtime.Serialization.DataContractAttribute(Name = "ProblemParameterBoolValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     884  public partial class ProblemParameterBoolValue : HeuristicLab.Clients.OKB.ProblemParameterValue {
     885
     886    private bool ValueField;
     887
     888    [System.Runtime.Serialization.DataMemberAttribute()]
     889    public bool Value {
     890      get {
     891        return this.ValueField;
     892      }
     893      set {
     894        if ((this.ValueField.Equals(value) != true)) {
     895          this.ValueField = value;
     896          this.RaisePropertyChanged("Value");
     897        }
     898      }
     899    }
     900  }
     901
     902  [System.Diagnostics.DebuggerStepThroughAttribute()]
     903  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     904  [System.Runtime.Serialization.DataContractAttribute(Name = "ProblemParameterStringValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     905  public partial class ProblemParameterStringValue : HeuristicLab.Clients.OKB.ProblemParameterValue {
     906
     907    private string ValueField;
     908
     909    [System.Runtime.Serialization.DataMemberAttribute()]
     910    public string Value {
     911      get {
     912        return this.ValueField;
     913      }
     914      set {
     915        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
     916          this.ValueField = value;
     917          this.RaisePropertyChanged("Value");
     918        }
     919      }
     920    }
     921  }
     922
     923  [System.Diagnostics.DebuggerStepThroughAttribute()]
     924  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    704925  [System.Runtime.Serialization.DataContractAttribute(Name = "ResultValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     926  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultBlobValue))]
     927  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultBoolValue))]
     928  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultStringValue))]
     929  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultIntValue))]
     930  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultFloatValue))]
    705931  public partial class ResultValue : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
    706932
     
    773999  [System.Diagnostics.DebuggerStepThroughAttribute()]
    7741000  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1001  [System.Runtime.Serialization.DataContractAttribute(Name = "ResultBlobValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     1002  public partial class ResultBlobValue : HeuristicLab.Clients.OKB.ResultValue {
     1003
     1004    private byte[] ValueField;
     1005
     1006    [System.Runtime.Serialization.DataMemberAttribute()]
     1007    public byte[] Value {
     1008      get {
     1009        return this.ValueField;
     1010      }
     1011      set {
     1012        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
     1013          this.ValueField = value;
     1014          this.RaisePropertyChanged("Value");
     1015        }
     1016      }
     1017    }
     1018  }
     1019
     1020  [System.Diagnostics.DebuggerStepThroughAttribute()]
     1021  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1022  [System.Runtime.Serialization.DataContractAttribute(Name = "ResultBoolValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     1023  public partial class ResultBoolValue : HeuristicLab.Clients.OKB.ResultValue {
     1024
     1025    private bool ValueField;
     1026
     1027    [System.Runtime.Serialization.DataMemberAttribute()]
     1028    public bool Value {
     1029      get {
     1030        return this.ValueField;
     1031      }
     1032      set {
     1033        if ((this.ValueField.Equals(value) != true)) {
     1034          this.ValueField = value;
     1035          this.RaisePropertyChanged("Value");
     1036        }
     1037      }
     1038    }
     1039  }
     1040
     1041  [System.Diagnostics.DebuggerStepThroughAttribute()]
     1042  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1043  [System.Runtime.Serialization.DataContractAttribute(Name = "ResultStringValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     1044  public partial class ResultStringValue : HeuristicLab.Clients.OKB.ResultValue {
     1045
     1046    private string ValueField;
     1047
     1048    [System.Runtime.Serialization.DataMemberAttribute()]
     1049    public string Value {
     1050      get {
     1051        return this.ValueField;
     1052      }
     1053      set {
     1054        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
     1055          this.ValueField = value;
     1056          this.RaisePropertyChanged("Value");
     1057        }
     1058      }
     1059    }
     1060  }
     1061
     1062  [System.Diagnostics.DebuggerStepThroughAttribute()]
     1063  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1064  [System.Runtime.Serialization.DataContractAttribute(Name = "ResultIntValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     1065  public partial class ResultIntValue : HeuristicLab.Clients.OKB.ResultValue {
     1066
     1067    private long ValueField;
     1068
     1069    [System.Runtime.Serialization.DataMemberAttribute()]
     1070    public long Value {
     1071      get {
     1072        return this.ValueField;
     1073      }
     1074      set {
     1075        if ((this.ValueField.Equals(value) != true)) {
     1076          this.ValueField = value;
     1077          this.RaisePropertyChanged("Value");
     1078        }
     1079      }
     1080    }
     1081  }
     1082
     1083  [System.Diagnostics.DebuggerStepThroughAttribute()]
     1084  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1085  [System.Runtime.Serialization.DataContractAttribute(Name = "ResultFloatValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     1086  public partial class ResultFloatValue : HeuristicLab.Clients.OKB.ResultValue {
     1087
     1088    private double ValueField;
     1089
     1090    [System.Runtime.Serialization.DataMemberAttribute()]
     1091    public double Value {
     1092      get {
     1093        return this.ValueField;
     1094      }
     1095      set {
     1096        if ((this.ValueField.Equals(value) != true)) {
     1097          this.ValueField = value;
     1098          this.RaisePropertyChanged("Value");
     1099        }
     1100      }
     1101    }
     1102  }
     1103
     1104  [System.Diagnostics.DebuggerStepThroughAttribute()]
     1105  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    7751106  [System.Runtime.Serialization.DataContractAttribute(Name = "ProblemData", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
    7761107  public partial class ProblemData : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
  • branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/Platform.cs

    r4456 r4918  
    2020#endregion
    2121
     22using HeuristicLab.Common;
    2223using HeuristicLab.Core;
    2324
     
    2526  [Item("Platform", "An OKB platform.")]
    2627  public partial class Platform {
     28    protected Platform(Platform original, Cloner cloner) : base(original, cloner) { }
    2729    public Platform() {
    2830      Name = "New Platform";
    2931    }
     32
     33    public override IDeepCloneable Clone(Cloner cloner) {
     34      return new Platform(this, cloner);
     35    }
    3036  }
    3137}
  • branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/Problem.cs

    r4566 r4918  
    2626  [Item("Problem", "An OKB problem.")]
    2727  public partial class Problem {
     28    protected Problem(Problem original, Cloner cloner)
     29      : base(original, cloner) {
     30      PlatformId = original.PlatformId;
     31      ProblemClassId = original.ProblemClassId;
     32    }
    2833    public Problem() {
    2934      Name = "New Problem";
     
    3338
    3439    public override IDeepCloneable Clone(Cloner cloner) {
    35       Problem clone = (Problem)base.Clone(cloner);
    36       clone.PlatformId = PlatformId;
    37       clone.ProblemClassId = ProblemClassId;
    38       return clone;
     40      return new Problem(this, cloner);
    3941    }
    4042  }
  • branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/ProblemClass.cs

    r4481 r4918  
    2020#endregion
    2121
     22using HeuristicLab.Common;
    2223using HeuristicLab.Core;
    2324
     
    2526  [Item("ProblemClass", "An OKB problem class.")]
    2627  public partial class ProblemClass {
     28    protected ProblemClass(ProblemClass original, Cloner cloner) : base(original, cloner) { }
    2729    public ProblemClass() {
    2830      Name = "New Problem Class";
    2931    }
     32
     33    public override IDeepCloneable Clone(Cloner cloner) {
     34      return new ProblemClass(this, cloner);
     35    }
    3036  }
    3137}
  • branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/ProblemParameter.cs

    r4566 r4918  
    2626  [Item("ProblemParameter", "An OKB problem parameter.")]
    2727  public partial class ProblemParameter {
     28    protected ProblemParameter(ProblemParameter original, Cloner cloner)
     29      : base(original, cloner) {
     30      Alias = original.Alias;
     31      ProblemId = original.ProblemId;
     32      DataTypeId = original.DataTypeId;
     33    }
    2834    public ProblemParameter() {
    2935      Name = "New ProblemParameter";
     
    3440
    3541    public override IDeepCloneable Clone(Cloner cloner) {
    36       ProblemParameter clone = (ProblemParameter)base.Clone(cloner);
    37       clone.Alias = Alias;
    38       clone.ProblemId = ProblemId;
    39       clone.DataTypeId = DataTypeId;
    40       return clone;
     42      return new ProblemParameter(this, cloner);
    4143    }
    4244  }
  • branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/Result.cs

    r4566 r4918  
    2626  [Item("Result", "An OKB result.")]
    2727  public partial class Result {
     28    protected Result(Result original, Cloner cloner)
     29      : base(original, cloner) {
     30      Alias = original.Alias;
     31      AlgorithmId = original.AlgorithmId;
     32      DataTypeId = original.DataTypeId;
     33    }
    2834    public Result() {
    2935      Name = "New Result";
     
    3440
    3541    public override IDeepCloneable Clone(Cloner cloner) {
    36       Result clone = (Result)base.Clone(cloner);
    37       clone.Alias = Alias;
    38       clone.AlgorithmId = AlgorithmId;
    39       clone.DataTypeId = DataTypeId;
    40       return clone;
     42      return new Result(this, cloner);
    4143    }
    4244  }
  • branches/OKB/HeuristicLab.Clients.OKB-3.3/app.config

    r4591 r4918  
    1010                    messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
    1111                    allowCookies="false">
    12                     <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
     12                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="200000000"
    1313                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
    1414                    <reliableSession ordered="true" inactivityTimeout="00:10:00"
  • branches/OKB/HeuristicLab.Services.OKB.DataTransfer/3.3/AlgorithmParameterValue.cs

    r4591 r4918  
    2424namespace HeuristicLab.Services.OKB.DataTransfer {
    2525  [DataContract]
     26  [KnownType(typeof(AlgorithmParameterBlobValue))]
     27  [KnownType(typeof(AlgorithmParameterBoolValue))]
     28  [KnownType(typeof(AlgorithmParameterFloatValue))]
     29  [KnownType(typeof(AlgorithmParameterIntValue))]
     30  [KnownType(typeof(AlgorithmParameterStringValue))]
    2631  public abstract class AlgorithmParameterValue {
    2732    [DataMember]
  • branches/OKB/HeuristicLab.Services.OKB.DataTransfer/3.3/ProblemParameterValue.cs

    r4591 r4918  
    2424namespace HeuristicLab.Services.OKB.DataTransfer {
    2525  [DataContract]
     26  [KnownType(typeof(ProblemParameterBlobValue))]
     27  [KnownType(typeof(ProblemParameterBoolValue))]
     28  [KnownType(typeof(ProblemParameterFloatValue))]
     29  [KnownType(typeof(ProblemParameterIntValue))]
     30  [KnownType(typeof(ProblemParameterStringValue))]
    2631  public abstract class ProblemParameterValue {
    2732    [DataMember]
  • branches/OKB/HeuristicLab.Services.OKB.DataTransfer/3.3/ResultValue.cs

    r4591 r4918  
    2424namespace HeuristicLab.Services.OKB.DataTransfer {
    2525  [DataContract]
     26  [KnownType(typeof(ResultBlobValue))]
     27  [KnownType(typeof(ResultBoolValue))]
     28  [KnownType(typeof(ResultFloatValue))]
     29  [KnownType(typeof(ResultIntValue))]
     30  [KnownType(typeof(ResultStringValue))]
    2631  public abstract class ResultValue {
    2732    [DataMember]
Note: See TracChangeset for help on using the changeset viewer.