Free cookie consent management tool by TermsFeed Policy Generator

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

created a branch that uses XmlTextWriter instead of XMLDocument to save documents. Investigating ticket #103.

Location:
branches/XmlTextWriterBranch
Files:
1 edited
1 copied

Legend:

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

    r63 r119  
    259259
    260260    #region Persistence Methods
    261     public override XmlNode GetXmlNode(string name, XmlDocument document, IDictionary<Guid,IStorable> persistedObjects) {
    262       XmlNode node = base.GetXmlNode(name, document, persistedObjects);
    263       XmlAttribute nameAttribute = document.CreateAttribute("Name");
    264       nameAttribute.Value = Name.ToString();
    265       node.Attributes.Append(nameAttribute);
    266 
    267       XmlNode variables = document.CreateNode(XmlNodeType.Element, "Variables", null);
    268       foreach (IVariable variable in Variables)
    269         variables.AppendChild(PersistenceManager.Persist(variable, document, persistedObjects));
    270       node.AppendChild(variables);
    271 
    272       XmlNode aliases = document.CreateNode(XmlNodeType.Element, "Aliases", null);
    273       foreach (KeyValuePair<string, string> alias in myAliases) {
    274         XmlNode aliasNode = document.CreateNode(XmlNodeType.Element, "Alias", null);
    275         XmlAttribute keyAttribute = document.CreateAttribute("Alias");
    276         keyAttribute.Value = alias.Key;
    277         aliasNode.Attributes.Append(keyAttribute);
    278         XmlAttribute valueAttribute = document.CreateAttribute("Name");
    279         valueAttribute.Value = alias.Value;
    280         aliasNode.Attributes.Append(valueAttribute);
    281         aliases.AppendChild(aliasNode);
    282       }
    283       node.AppendChild(aliases);
    284 
    285       XmlNode subScopes = document.CreateNode(XmlNodeType.Element, "SubScopes", null);
    286       for (int i = 0; i < SubScopes.Count; i++)
    287         subScopes.AppendChild(PersistenceManager.Persist(SubScopes[i], document, persistedObjects));
    288       node.AppendChild(subScopes);
    289 
    290       return node;
    291     }
    292     public override void Populate(XmlNode node, IDictionary<Guid,IStorable> restoredObjects) {
     261    //public override XmlNode GetXmlNode(string name, XmlDocument document, IDictionary<Guid,IStorable> persistedObjects) {
     262    //  XmlNode node = base.GetXmlNode(name, document, persistedObjects);
     263    //  XmlAttribute nameAttribute = document.CreateAttribute("Name");
     264    //  nameAttribute.Value = Name.ToString();
     265    //  node.Attributes.Append(nameAttribute);
     266
     267    //  XmlNode variables = document.CreateNode(XmlNodeType.Element, "Variables", null);
     268    //  foreach (IVariable variable in Variables)
     269    //    variables.AppendChild(PersistenceManager.Persist(variable, document, persistedObjects));
     270    //  node.AppendChild(variables);
     271
     272    //  XmlNode aliases = document.CreateNode(XmlNodeType.Element, "Aliases", null);
     273    //  foreach (KeyValuePair<string, string> alias in myAliases) {
     274    //    XmlNode aliasNode = document.CreateNode(XmlNodeType.Element, "Alias", null);
     275    //    XmlAttribute keyAttribute = document.CreateAttribute("Alias");
     276    //    keyAttribute.Value = alias.Key;
     277    //    aliasNode.Attributes.Append(keyAttribute);
     278    //    XmlAttribute valueAttribute = document.CreateAttribute("Name");
     279    //    valueAttribute.Value = alias.Value;
     280    //    aliasNode.Attributes.Append(valueAttribute);
     281    //    aliases.AppendChild(aliasNode);
     282    //  }
     283    //  node.AppendChild(aliases);
     284
     285    //  XmlNode subScopes = document.CreateNode(XmlNodeType.Element, "SubScopes", null);
     286    //  for (int i = 0; i < SubScopes.Count; i++)
     287    //    subScopes.AppendChild(PersistenceManager.Persist(SubScopes[i], document, persistedObjects));
     288    //  node.AppendChild(subScopes);
     289
     290    //  return node;
     291    //}
     292    public override void Persist(string name, XmlWriter writer, IDictionary<Guid, IStorable> persistedObjects) {
     293      base.Persist(name, writer, persistedObjects);
     294      writer.WriteAttributeString("Name", Name);
     295      writer.WriteStartElement("Variables");
     296      foreach(IVariable variable in Variables) {
     297        PersistenceManager.Persist(variable, writer, persistedObjects);
     298      }
     299      writer.WriteEndElement(); // </Variables>
     300      writer.WriteStartElement("Aliases");
     301      foreach(KeyValuePair<string,string> alias in myAliases) {
     302        writer.WriteStartElement("Alias");
     303        writer.WriteAttributeString("Alias", alias.Key);
     304        writer.WriteAttributeString("Name", alias.Value);
     305        writer.WriteEndElement(); // </Alias>
     306      }
     307      writer.WriteEndElement(); // </Aliases>
     308      writer.WriteStartElement("SubScopes");
     309      for(int i = 0; i < SubScopes.Count; i++)
     310        PersistenceManager.Persist(SubScopes[i], writer, persistedObjects);
     311      writer.WriteEndElement(); // </SubScopes>
     312    }
     313    public override void Populate(XmlNode node, IDictionary<Guid, IStorable> restoredObjects) {
    293314      base.Populate(node, restoredObjects);
    294315      myName = node.Attributes["Name"].Value;
Note: See TracChangeset for help on using the changeset viewer.