From f42d085ab17098709bcba0c816c9742a213d3c01 Mon Sep 17 00:00:00 2001
From: John Hurliman
Date: Wed, 16 Sep 2009 15:06:08 -0700
Subject: SceneObjectGroup cleanup. Removes the default constructor and
unnecessary null checks on m_rootPart
---
.../Scenes/Serialization/SceneObjectSerializer.cs | 53 +++++++++-------------
1 file changed, 22 insertions(+), 31 deletions(-)
(limited to 'OpenSim/Region/Framework/Scenes/Serialization')
diff --git a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs
index 5ae81cd..fe74158 100644
--- a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs
+++ b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs
@@ -65,8 +65,6 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
//m_log.DebugFormat("[SOG]: Starting deserialization of SOG");
//int time = System.Environment.TickCount;
- SceneObjectGroup sceneObject = new SceneObjectGroup();
-
// libomv.types changes UUID to Guid
xmlData = xmlData.Replace("", "");
xmlData = xmlData.Replace("", "");
@@ -88,17 +86,13 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
parts = doc.GetElementsByTagName("RootPart");
if (parts.Count == 0)
- {
throw new Exception("Invalid Xml format - no root part");
- }
- else
- {
- sr = new StringReader(parts[0].InnerXml);
- reader = new XmlTextReader(sr);
- sceneObject.SetRootPart(SceneObjectPart.FromXml(fromUserInventoryItemID, reader));
- reader.Close();
- sr.Close();
- }
+
+ sr = new StringReader(parts[0].InnerXml);
+ reader = new XmlTextReader(sr);
+ SceneObjectGroup sceneObject = new SceneObjectGroup(SceneObjectPart.FromXml(fromUserInventoryItemID, reader));
+ reader.Close();
+ sr.Close();
parts = doc.GetElementsByTagName("Part");
@@ -119,16 +113,15 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
// Script state may, or may not, exist. Not having any, is NOT
// ever a problem.
sceneObject.LoadScriptState(doc);
+
+ return sceneObject;
}
catch (Exception e)
{
m_log.ErrorFormat(
"[SERIALIZER]: Deserialization of xml failed with {0}. xml was {1}", e, xmlData);
+ return null;
}
-
- //m_log.DebugFormat("[SERIALIZER]: Finished deserialization of SOG {0}, {1}ms", Name, System.Environment.TickCount - time);
-
- return sceneObject;
}
///
@@ -194,8 +187,6 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
{
//m_log.DebugFormat("[SOG]: Starting deserialization of SOG");
//int time = System.Environment.TickCount;
-
- SceneObjectGroup sceneObject = new SceneObjectGroup();
// libomv.types changes UUID to Guid
xmlData = xmlData.Replace("", "");
@@ -212,21 +203,23 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
XmlNodeList parts = doc.GetElementsByTagName("SceneObjectPart");
- // Process the root part first
- if (parts.Count > 0)
+ if (parts.Count == 0)
{
- StringReader sr = new StringReader(parts[0].OuterXml);
- XmlTextReader reader = new XmlTextReader(sr);
- sceneObject.SetRootPart(SceneObjectPart.FromXml(reader));
- reader.Close();
- sr.Close();
+ m_log.ErrorFormat("[SERIALIZER]: Deserialization of xml failed: No SceneObjectPart nodes. xml was " + xmlData);
+ return null;
}
+ StringReader sr = new StringReader(parts[0].OuterXml);
+ XmlTextReader reader = new XmlTextReader(sr);
+ SceneObjectGroup sceneObject = new SceneObjectGroup(SceneObjectPart.FromXml(reader));
+ reader.Close();
+ sr.Close();
+
// Then deal with the rest
for (int i = 1; i < parts.Count; i++)
{
- StringReader sr = new StringReader(parts[i].OuterXml);
- XmlTextReader reader = new XmlTextReader(sr);
+ sr = new StringReader(parts[i].OuterXml);
+ reader = new XmlTextReader(sr);
SceneObjectPart part = SceneObjectPart.FromXml(reader);
sceneObject.AddPart(part);
part.StoreUndoState();
@@ -238,15 +231,13 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
// ever a problem.
sceneObject.LoadScriptState(doc);
+ return sceneObject;
}
catch (Exception e)
{
m_log.ErrorFormat("[SERIALIZER]: Deserialization of xml failed with {0}. xml was {1}", e, xmlData);
+ return null;
}
-
- //m_log.DebugFormat("[SERIALIZER]: Finished deserialization of SOG {0}, {1}ms", Name, System.Environment.TickCount - time);
-
- return sceneObject;
}
///
--
cgit v1.1