Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/15/08 15:57:41 (16 years ago)
Author:
gkronber
Message:

fixed more bugs (not thoroughly tested but at least it works for OSGP_NOx and OSGA_TSP)

Location:
branches/XmlTextReaderBranch/HeuristicLab.Core
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/XmlTextReaderBranch/HeuristicLab.Core/CompositeOperation.cs

    r122 r123  
    8484      base.Populate(reader, restoredObjects);
    8585
    86       reader.ReadToDescendant("Operations");
    87       while(reader.IsStartElement())
    88         AddOperation((IOperation)PersistenceManager.Restore(reader, restoredObjects));
    89       reader.ReadEndElement();
     86      if(reader.Name != "Operations") throw new XmlException("Expected: \"Operations\", found: \""+reader.Name+"\"");
     87      if(!reader.IsEmptyElement) {
     88        reader.Read();
     89        while(reader.IsStartElement()) {
     90          AddOperation((IOperation)PersistenceManager.Restore(reader, restoredObjects));
     91          reader.Skip();
     92        }
     93        reader.ReadEndElement();
     94      } else {
     95        reader.Read();
     96      }
    9097    }
    9198    #endregion
  • branches/XmlTextReaderBranch/HeuristicLab.Core/ConstrainedItemBase.cs

    r122 r123  
    111111      if(reader.Name == "Constraints") {
    112112        myConstraints.Clear();
    113         while(reader.IsStartElement())
     113        reader.Read();
     114        while(reader.IsStartElement()) {
    114115          AddConstraint((IConstraint)PersistenceManager.Restore(reader, restoredObjects));
     116          reader.Skip();
     117        }
    115118        reader.ReadEndElement();
    116119      }
  • branches/XmlTextReaderBranch/HeuristicLab.Core/OperatorGroup.cs

    r122 r123  
    111111      myName = reader["Name"];
    112112      base.Populate(reader, restoredObjects);
    113 
    114       reader.ReadToDescendant("SubGroups");
    115       while(reader.IsStartElement())
    116         AddSubGroup((IOperatorGroup)PersistenceManager.Restore(reader, restoredObjects));
    117       reader.ReadEndElement();
    118       reader.ReadToDescendant("Operators");
    119       while(reader.IsStartElement())
    120         AddOperator((IOperator)PersistenceManager.Restore(reader, restoredObjects));
    121       reader.ReadEndElement();
     113      reader.Read();
     114      if(reader.Name != "SubGroups") throw new XmlException("Expected: \"SubGroups\", found: \"" + reader.Name + "\"");
     115      if(!reader.IsEmptyElement) {
     116        reader.Read();
     117        while(reader.IsStartElement()) {
     118          AddSubGroup((IOperatorGroup)PersistenceManager.Restore(reader, restoredObjects));
     119          reader.Skip();
     120        }
     121        reader.ReadEndElement();
     122      } else {
     123        reader.Read();
     124      }
     125      if(reader.Name != "Operators") throw new XmlException("Expected: \"Operators\", found: \"" + reader.Name + "\"");
     126      if(!reader.IsEmptyElement) {
     127        reader.Read();
     128        while(reader.IsStartElement()) {
     129          AddOperator((IOperator)PersistenceManager.Restore(reader, restoredObjects));
     130          reader.Skip();
     131        }
     132        reader.ReadEndElement();
     133      } else {
     134        reader.Read();
     135      }
    122136    }
    123137    #endregion
  • branches/XmlTextReaderBranch/HeuristicLab.Core/OperatorLibrary.cs

    r121 r123  
    5858    public override void Populate(XmlReader reader, IDictionary<Guid,IStorable> restoredObjects) {
    5959      base.Populate(reader, restoredObjects);
     60      reader.Read();
    6061      myGroup = (IOperatorGroup)PersistenceManager.Restore(reader, "OperatorGroup", restoredObjects);
     62      reader.Read();
    6163    }
    6264    #endregion
Note: See TracChangeset for help on using the changeset viewer.