From: Owen R. <exo...@us...> - 2005-06-25 01:40:34
|
Update of /cvsroot/netreflector/NetReflector/src/NetReflector/Serialisers In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6607/src/NetReflector/Serialisers Modified Files: XmlMemberSerialiser.cs XmlTypeSerialiser.cs Log Message: trying to fix failing build due to different hashkey on build server Index: XmlMemberSerialiser.cs =================================================================== RCS file: /cvsroot/netreflector/NetReflector/src/NetReflector/Serialisers/XmlMemberSerialiser.cs,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** XmlMemberSerialiser.cs 7 Apr 2005 04:30:40 -0000 1.9 --- XmlMemberSerialiser.cs 25 Jun 2005 01:40:16 -0000 1.10 *************** *** 1,6 **** - using Exortech.NetReflector.Util; using System; using System.Reflection; using System.Xml; namespace Exortech.NetReflector --- 1,6 ---- using System; using System.Reflection; using System.Xml; + using Exortech.NetReflector.Util; namespace Exortech.NetReflector *************** *** 14,18 **** public XmlMemberSerialiser(MemberInfo member, ReflectorPropertyAttribute attribute) { ! this.member = ReflectorMember.Create(member); this.attribute = attribute; this.instantiator = new DefaultInstantiator(); --- 14,18 ---- public XmlMemberSerialiser(MemberInfo member, ReflectorPropertyAttribute attribute) { ! this.member = Util.ReflectorMember.Create(member); this.attribute = attribute; this.instantiator = new DefaultInstantiator(); *************** *** 64,68 **** else { ! XmlTypeSerialiser serialiser = (XmlTypeSerialiser)attribute.CreateSerialiser(value.GetType()); serialiser.WriteMembers(writer, value); } --- 64,68 ---- else { ! XmlTypeSerialiser serialiser = (XmlTypeSerialiser) attribute.CreateSerialiser(value.GetType()); serialiser.WriteMembers(writer, value); } *************** *** 88,92 **** { throw new NetReflectorException(String.Format(@"Missing Xml node ({0}) for required member ({1}).", ! attribute.Name, member.MemberName)); } } --- 88,92 ---- { throw new NetReflectorException(String.Format(@"Missing Xml node ({0}) for required member ({1}).", ! attribute.Name, member.MemberName)); } } *************** *** 154,156 **** } } ! } --- 154,156 ---- } } ! } \ No newline at end of file Index: XmlTypeSerialiser.cs =================================================================== RCS file: /cvsroot/netreflector/NetReflector/src/NetReflector/Serialisers/XmlTypeSerialiser.cs,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** XmlTypeSerialiser.cs 19 Jun 2005 00:17:33 -0000 1.8 --- XmlTypeSerialiser.cs 25 Jun 2005 01:40:17 -0000 1.9 *************** *** 1,5 **** using System; using System.Collections; - using System.Collections.Specialized; using System.Reflection; using System.Xml; --- 1,4 ---- *************** *** 42,52 **** public IXmlMemberSerialiser[] MemberSerialisers { ! get ! { if (serialisers == null) { serialisers = InitialiseMemberSerialisers(); } ! return serialisers; } } --- 41,51 ---- public IXmlMemberSerialiser[] MemberSerialisers { ! get ! { if (serialisers == null) { serialisers = InitialiseMemberSerialisers(); } ! return serialisers; } } *************** *** 63,67 **** } } ! return (IXmlMemberSerialiser[]) serialisers.ToArray(typeof(IXmlMemberSerialiser)); } --- 62,66 ---- } } ! return (IXmlMemberSerialiser[]) serialisers.ToArray(typeof (IXmlMemberSerialiser)); } *************** *** 90,100 **** public void ReadMembers(XmlNode node, object instance, NetReflectorTypeTable table) { ! IDictionary childNodes = new ListDictionary(); ! AddChildNodesToDictionary(node.Attributes, childNodes, table); ! AddChildNodesToDictionary(node.ChildNodes, childNodes, table); foreach (IXmlMemberSerialiser serialiser in MemberSerialisers) { ! XmlNode childNode = (XmlNode) childNodes[serialiser.Attribute.Name]; object value = serialiser.Read(childNode, table); if (value != null) --- 89,99 ---- public void ReadMembers(XmlNode node, object instance, NetReflectorTypeTable table) { ! IList childNodes = new ArrayList(); ! AddChildNodes(node.Attributes, childNodes, table); ! AddChildNodes(node.ChildNodes, childNodes, table); foreach (IXmlMemberSerialiser serialiser in MemberSerialisers) { ! XmlNode childNode = GetNodeByName(childNodes, serialiser.Attribute.Name); object value = serialiser.Read(childNode, table); if (value != null) *************** *** 102,109 **** serialiser.SetValue(instance, value); } ! childNodes.Remove(serialiser.Attribute.Name); } ! foreach (XmlNode orphan in childNodes.Values) { table.OnInvalidNode(new InvalidNodeEventArgs(orphan, "Unused node detected: " + orphan.OuterXml)); --- 101,108 ---- serialiser.SetValue(instance, value); } ! childNodes.Remove(childNode); } ! foreach (XmlNode orphan in childNodes) { table.OnInvalidNode(new InvalidNodeEventArgs(orphan, "Unused node detected: " + orphan.OuterXml)); *************** *** 111,115 **** } ! private void AddChildNodesToDictionary(IEnumerable nodes, IDictionary childNodes, NetReflectorTypeTable table) { foreach (XmlNode node in nodes) --- 110,114 ---- } ! private void AddChildNodes(IEnumerable nodes, IList childNodes, NetReflectorTypeTable table) { foreach (XmlNode node in nodes) *************** *** 117,127 **** if (node.NodeType == XmlNodeType.Comment) continue; ! if (childNodes.Contains(node.Name)) { table.OnInvalidNode(new InvalidNodeEventArgs(node, "Duplicate node detected: " + node.OuterXml)); } ! childNodes[node.Name] = node; } } } } \ No newline at end of file --- 116,138 ---- if (node.NodeType == XmlNodeType.Comment) continue; ! if (GetNodeByName(childNodes, node.Name) != null) { table.OnInvalidNode(new InvalidNodeEventArgs(node, "Duplicate node detected: " + node.OuterXml)); } ! else ! { ! childNodes.Add(node); ! } } } + + private XmlNode GetNodeByName(IList nodes, string name) + { + foreach (XmlNode node in nodes) + { + if (node.Name == name) return node; + } + return null; + } } } \ No newline at end of file |