Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/15/08 14:17:26 (16 years ago)
Author:
gkronber
Message:

bug fixes to make loading of OSGA-TSP work. Some non-working code remains

File:
1 edited

Legend:

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

    r121 r122  
    313313    //}
    314314    public override void Populate(XmlReader reader, IDictionary<Guid, IStorable> restoredObjects) {
     315      myName = reader["Name"];
    315316      base.Populate(reader, restoredObjects);
    316       myName = reader["Name"];
    317 
    318       reader.ReadStartElement("Variables");
    319       while(reader.IsStartElement()) {
    320         IVariable variable = (IVariable)PersistenceManager.Restore(reader, restoredObjects);
    321         AddVariable(variable);
    322       }
    323       reader.ReadEndElement();
    324 
    325       if(reader.IsStartElement() && reader.Name=="Aliases") {
    326         reader.ReadStartElement("Aliases");
    327         while(reader.IsStartElement())
     317      reader.Read();
     318      if(reader.Name != "Variables") throw new XmlException("Expected: \"Variables\", found: \""+reader.Name+"\"");
     319      if(!reader.IsEmptyElement) {
     320        reader.Read();
     321        while(reader.IsStartElement()) {
     322          IVariable variable = (IVariable)PersistenceManager.Restore(reader, restoredObjects);
     323          reader.Skip();
     324          AddVariable(variable);
     325        }
     326        reader.ReadEndElement();
     327      } else {
     328        reader.Read();
     329      }
     330      if(reader.Name == "Aliases" && !reader.IsEmptyElement) {
     331        reader.Read();
     332        while(reader.IsStartElement()) {
    328333          AddAlias(reader["Alias"], reader["Name"]);
     334        }
    329335        reader.ReadEndElement();
    330       }
    331       reader.ReadStartElement("SubScopes");
    332       while(reader.IsStartElement()) {
    333         IScope scope = (IScope)PersistenceManager.Restore(reader, restoredObjects);
    334         AddSubScope(scope);
    335       }
    336       reader.ReadEndElement();
     336      } else {
     337        reader.Read();
     338      }
     339      if(reader.Name != "SubScopes") throw new XmlException("Expected: \"SubScopes\", found: \"" + reader.Name + "\"");
     340      if(!reader.IsEmptyElement) {
     341        reader.Read();
     342        while(reader.IsStartElement()) {
     343          IScope scope = (IScope)PersistenceManager.Restore(reader, restoredObjects);
     344          reader.Skip();
     345          AddSubScope(scope);
     346        }
     347        reader.ReadEndElement();
     348      } else {
     349        reader.Read();
     350      }
    337351    }
    338352    #endregion
Note: See TracChangeset for help on using the changeset viewer.