Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
08/13/08 16:33:03 (16 years ago)
Author:
gkronber
Message:

worked on #211

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.CEDMA.Core/DatabaseOperatorLibrary.cs

    r421 r512  
    9191    }
    9292
     93    private void PatchLinks(IOperatorGraph opGraph) {
     94      foreach(IOperator op in opGraph.Operators) {
     95        PatchLinks(op);
     96      }
     97    }
     98
    9399    private void PatchLinks(IOperator op) {
    94100      if(op is OperatorLink) {
    95101        OperatorLink link = op as OperatorLink;
    96         link.Operator = FindOperator(link.Id);
     102        link.Database = Database;
    97103      }
    98104      else if(op is CombinedOperator) {
     
    100106        foreach(IOperator internalOp in combinedOp.OperatorGraph.Operators) {
    101107          PatchLinks(internalOp);
     108        }
     109      }
     110      // also patch operator links contained (indirectly) in variables
     111      foreach(VariableInfo varInfo in op.VariableInfos) {
     112        IVariable var = op.GetVariable(varInfo.ActualName);
     113        if(var != null && var.Value is IOperatorGraph) {
     114          PatchLinks((IOperatorGraph)var.Value);
     115        } else if(var != null && var.Value is IOperator) {
     116          PatchLinks((IOperator)var.Value);
    102117        }
    103118      }
Note: See TracChangeset for help on using the changeset viewer.