Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/17/14 03:22:32 (9 years ago)
Author:
swagner
Message:

#2205: Implemented review comments:

  • added cloning of Port in HookOperator and prevented cloning of hook operator ports in AlgorithmNode instead
  • added additional checks that port parameters of a hook operator port match with parameters of hook operator
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/OptimizationNetworks/HeuristicLab.Optimization.Networks/3.3/Optimization.Networks/AlgorithmNode.cs

    r11529 r11554  
    2323using HeuristicLab.Core;
    2424using HeuristicLab.Core.Networks;
     25using HeuristicLab.Operators;
    2526using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2627using System;
     
    107108      IAlgorithm algorithm;
    108109      lock (locker) {
    109         algorithm = (IAlgorithm)Algorithm.Clone();
     110        // prevent cloning of ports in hook operators
     111        var cloner = new Cloner();
     112        foreach (var hook in Algorithm.GetObjectGraphObjects(new HashSet<object>() { Algorithm.Results, Algorithm.Runs }).OfType<IHookOperator>()) {
     113          cloner.RegisterClonedObject(hook.Port, hook.Port);
     114        }
     115        algorithm = (IAlgorithm)Algorithm.Clone(cloner);
    110116        waitHandles.Add(algorithm, new AutoResetEvent(false));
    111117      }
Note: See TracChangeset for help on using the changeset viewer.