aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs60
1 files changed, 30 insertions, 30 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs b/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs
index 998789d..7f7977e 100644
--- a/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs
+++ b/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs
@@ -68,54 +68,54 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
68 /// </param> 68 /// </param>
69 /// <returns></returns> 69 /// <returns></returns>
70 public static string ToXml(CoalescedSceneObjects coa, bool doScriptStates) 70 public static string ToXml(CoalescedSceneObjects coa, bool doScriptStates)
71 { 71 {
72 using (StringWriter sw = new StringWriter()) 72 using (StringWriter sw = new StringWriter())
73 { 73 {
74 using (XmlTextWriter writer = new XmlTextWriter(sw)) 74 using (XmlTextWriter writer = new XmlTextWriter(sw))
75 { 75 {
76 Vector3 size; 76 Vector3 size;
77 77
78 List<SceneObjectGroup> coaObjects = coa.Objects; 78 List<SceneObjectGroup> coaObjects = coa.Objects;
79 79
80// m_log.DebugFormat( 80// m_log.DebugFormat(
81// "[COALESCED SCENE OBJECTS SERIALIZER]: Writing {0} objects for coalesced object", 81// "[COALESCED SCENE OBJECTS SERIALIZER]: Writing {0} objects for coalesced object",
82// coaObjects.Count); 82// coaObjects.Count);
83 83
84 // This is weak - we're relying on the set of coalesced objects still being identical 84 // This is weak - we're relying on the set of coalesced objects still being identical
85 Vector3[] offsets = coa.GetSizeAndOffsets(out size); 85 Vector3[] offsets = coa.GetSizeAndOffsets(out size);
86 86
87 writer.WriteStartElement("CoalescedObject"); 87 writer.WriteStartElement("CoalescedObject");
88 88
89 writer.WriteAttributeString("x", size.X.ToString()); 89 writer.WriteAttributeString("x", size.X.ToString());
90 writer.WriteAttributeString("y", size.Y.ToString()); 90 writer.WriteAttributeString("y", size.Y.ToString());
91 writer.WriteAttributeString("z", size.Z.ToString()); 91 writer.WriteAttributeString("z", size.Z.ToString());
92 92
93 // Embed the offsets into the group XML 93 // Embed the offsets into the group XML
94 for (int i = 0; i < coaObjects.Count; i++) 94 for (int i = 0; i < coaObjects.Count; i++)
95 { 95 {
96 SceneObjectGroup obj = coaObjects[i]; 96 SceneObjectGroup obj = coaObjects[i];
97 97
98// m_log.DebugFormat( 98// m_log.DebugFormat(
99// "[COALESCED SCENE OBJECTS SERIALIZER]: Writing offset for object {0}, {1}", 99// "[COALESCED SCENE OBJECTS SERIALIZER]: Writing offset for object {0}, {1}",
100// i, obj.Name); 100// i, obj.Name);
101 101
102 writer.WriteStartElement("SceneObjectGroup"); 102 writer.WriteStartElement("SceneObjectGroup");
103 writer.WriteAttributeString("offsetx", offsets[i].X.ToString()); 103 writer.WriteAttributeString("offsetx", offsets[i].X.ToString());
104 writer.WriteAttributeString("offsety", offsets[i].Y.ToString()); 104 writer.WriteAttributeString("offsety", offsets[i].Y.ToString());
105 writer.WriteAttributeString("offsetz", offsets[i].Z.ToString()); 105 writer.WriteAttributeString("offsetz", offsets[i].Z.ToString());
106 106
107 SceneObjectSerializer.ToOriginalXmlFormat(obj, writer, doScriptStates); 107 SceneObjectSerializer.ToOriginalXmlFormat(obj, writer, doScriptStates);
108 108
109 writer.WriteEndElement(); // SceneObjectGroup 109 writer.WriteEndElement(); // SceneObjectGroup
110 } 110 }
111 111
112 writer.WriteEndElement(); // CoalescedObject 112 writer.WriteEndElement(); // CoalescedObject
113 } 113 }
114 114
115 string output = sw.ToString(); 115 string output = sw.ToString();
116 116
117// Console.WriteLine(output); 117// Console.WriteLine(output);
118 118
119 return output; 119 return output;
120 } 120 }
121 } 121 }
@@ -123,14 +123,14 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
123 public static bool TryFromXml(string xml, out CoalescedSceneObjects coa) 123 public static bool TryFromXml(string xml, out CoalescedSceneObjects coa)
124 { 124 {
125// m_log.DebugFormat("[COALESCED SCENE OBJECTS SERIALIZER]: TryFromXml() deserializing {0}", xml); 125// m_log.DebugFormat("[COALESCED SCENE OBJECTS SERIALIZER]: TryFromXml() deserializing {0}", xml);
126 126
127 coa = null; 127 coa = null;
128 128
129 try 129 try
130 { 130 {
131 // Quickly check if this is a coalesced object, without fully parsing the XML 131 // Quickly check if this is a coalesced object, without fully parsing the XML
132 using (StringReader sr = new StringReader(xml)) 132 using (StringReader sr = new StringReader(xml))
133 { 133 {
134 using (XmlTextReader reader = new XmlTextReader(sr)) 134 using (XmlTextReader reader = new XmlTextReader(sr))
135 { 135 {
136 reader.MoveToContent(); // skip possible xml declaration 136 reader.MoveToContent(); // skip possible xml declaration
@@ -138,9 +138,9 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
138 if (reader.Name != "CoalescedObject") 138 if (reader.Name != "CoalescedObject")
139 { 139 {
140 // m_log.DebugFormat( 140 // m_log.DebugFormat(
141 // "[COALESCED SCENE OBJECTS SERIALIZER]: TryFromXml() root element was {0} so returning false", 141 // "[COALESCED SCENE OBJECTS SERIALIZER]: TryFromXml() root element was {0} so returning false",
142 // reader.Name); 142 // reader.Name);
143 143
144 return false; 144 return false;
145 } 145 }
146 } 146 }
@@ -151,12 +151,12 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
151 XmlElement e = (XmlElement)doc.SelectSingleNode("/CoalescedObject"); 151 XmlElement e = (XmlElement)doc.SelectSingleNode("/CoalescedObject");
152 if (e == null) 152 if (e == null)
153 return false; 153 return false;
154 154
155 coa = new CoalescedSceneObjects(UUID.Zero); 155 coa = new CoalescedSceneObjects(UUID.Zero);
156 156
157 XmlNodeList groups = e.SelectNodes("SceneObjectGroup"); 157 XmlNodeList groups = e.SelectNodes("SceneObjectGroup");
158 int i = 0; 158 int i = 0;
159 159
160 foreach (XmlNode n in groups) 160 foreach (XmlNode n in groups)
161 { 161 {
162 SceneObjectGroup so = SceneObjectSerializer.FromOriginalXmlFormat(n.OuterXml); 162 SceneObjectGroup so = SceneObjectSerializer.FromOriginalXmlFormat(n.OuterXml);
@@ -166,10 +166,10 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
166 } 166 }
167 else 167 else
168 { 168 {
169 // XXX: Possibly we should fail outright here rather than continuing if a particular component of the 169 // XXX: Possibly we should fail outright here rather than continuing if a particular component of the
170 // coalesced object fails to load. 170 // coalesced object fails to load.
171 m_log.WarnFormat( 171 m_log.WarnFormat(
172 "[COALESCED SCENE OBJECTS SERIALIZER]: Deserialization of xml for component {0} failed. Continuing.", 172 "[COALESCED SCENE OBJECTS SERIALIZER]: Deserialization of xml for component {0} failed. Continuing.",
173 i); 173 i);
174 } 174 }
175 175
@@ -181,8 +181,8 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
181 m_log.Error("[COALESCED SCENE OBJECTS SERIALIZER]: Deserialization of xml failed ", e); 181 m_log.Error("[COALESCED SCENE OBJECTS SERIALIZER]: Deserialization of xml failed ", e);
182 Util.LogFailedXML("[COALESCED SCENE OBJECTS SERIALIZER]:", xml); 182 Util.LogFailedXML("[COALESCED SCENE OBJECTS SERIALIZER]:", xml);
183 return false; 183 return false;
184 } 184 }
185 185
186 return true; 186 return true;
187 } 187 }
188 } 188 }