Changeset 119 for branches/XmlTextWriterBranch/HeuristicLab.Core/Scope.cs
- Timestamp:
- 04/14/08 17:49:47 (16 years ago)
- Location:
- branches/XmlTextWriterBranch
- Files:
-
- 1 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/XmlTextWriterBranch/HeuristicLab.Core/Scope.cs
r63 r119 259 259 260 260 #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) { 293 314 base.Populate(node, restoredObjects); 294 315 myName = node.Attributes["Name"].Value;
Note: See TracChangeset
for help on using the changeset viewer.