Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
07/31/09 12:31:32 (15 years ago)
Author:
gkronber
Message:

Worked on persistence of function trees. #713

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/GP-Refactoring-713/sources/HeuristicLab.GP/3.3/GeneticProgrammingModel.cs

    r2216 r2218  
    5353    public override object Clone(IDictionary<Guid, object> clonedObjects) {
    5454      GeneticProgrammingModel clone = (GeneticProgrammingModel)base.Clone(clonedObjects);
    55       clone.FunctionTree = FunctionTree.Clone();
     55      clone.FunctionTree = (IFunctionTree)FunctionTree.Clone();
    5656      return clone;
    5757    }
     
    5959    public override XmlNode GetXmlNode(string name, XmlDocument document, IDictionary<Guid, IStorable> persistedObjects) {
    6060      XmlNode node = base.GetXmlNode(name, document, persistedObjects);
    61       node.Value = GeneralTreeSerializer.Export(FunctionTree);
     61      node.AppendChild(PersistenceManager.Persist("Function", FunctionTree.Function, document, persistedObjects));
     62      node.AppendChild(FunctionTree.GetXmlNode("FunctionTree", document, persistedObjects));
    6263      return node;
    6364    }
     
    6566    public override void Populate(XmlNode node, IDictionary<Guid, IStorable> restoredObjects) {
    6667      base.Populate(node, restoredObjects);
    67       FunctionTree = GeneralTreeSerializer.Import(node.Value);
     68      IFunction rootFunction = (IFunction)PersistenceManager.Restore(node.SelectSingleNode("Function"), restoredObjects);
     69      IFunctionTree rootNode = rootFunction.GetTreeNode();
     70      rootNode.Populate(node.SelectSingleNode("FunctionTree"), restoredObjects);
    6871    }
    6972
Note: See TracChangeset for help on using the changeset viewer.