Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/09/10 15:18:53 (13 years ago)
Author:
cneumuel
Message:

#1260

  • applied new cloning mechanism
  • changed role names
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Contracts/3.3/BusinessObjects/CachedHivePluginInfoDto.cs

    r4424 r4755  
    2626using HeuristicLab.Hive.Contracts.BusinessObjects;
    2727using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     28using HeuristicLab.Common;
    2829
    2930namespace HeuristicLab.PluginInfrastructure {
     
    3233  [Serializable]
    3334  public class CachedHivePluginInfoDto : HivePluginInfoDto {
    34    
     35
    3536    /// <summary>
    3637    /// stores the plugin files in a list of byte arrays
     
    4344      PluginFiles = new List<HivePluginFile>();
    4445    }
    45 
    46     public override Common.IDeepCloneable Clone(Common.Cloner cloner) {
    47       CachedHivePluginInfoDto clone = (CachedHivePluginInfoDto) base.Clone(cloner);
    48       clone.PluginFiles = (from p in this.PluginFiles
    49                           select (HivePluginFile)cloner.Clone(p)).ToList();
    50       return clone;
     46    [StorableConstructor]
     47    protected CachedHivePluginInfoDto(bool deserializing) : base(deserializing) { }
     48    protected CachedHivePluginInfoDto(CachedHivePluginInfoDto original, Cloner cloner)
     49      : base(original, cloner) {
     50      this.PluginFiles = (original.PluginFiles.Select(x => cloner.Clone(x))).ToList();
     51    }
     52    public override IDeepCloneable Clone(Cloner cloner) {
     53      return new CachedHivePluginInfoDto(this, cloner);
    5154    }
    5255  }
Note: See TracChangeset for help on using the changeset viewer.