diff options
author | Justin Clarke Casey | 2008-05-24 19:21:57 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2008-05-24 19:21:57 +0000 |
commit | dd4100db4c5b221b4feba4f873f40407d50fd4e1 (patch) | |
tree | f9149ae68b3c3e0b6a60f123e0299f588967f8dc | |
parent | * If the SVN build version is not available, state this in the About box expl... (diff) | |
download | opensim-SC-dd4100db4c5b221b4feba4f873f40407d50fd4e1.zip opensim-SC-dd4100db4c5b221b4feba4f873f40407d50fd4e1.tar.gz opensim-SC-dd4100db4c5b221b4feba4f873f40407d50fd4e1.tar.bz2 opensim-SC-dd4100db4c5b221b4feba4f873f40407d50fd4e1.tar.xz |
* Get the xml2 entities serialization representation in the archiver module
* Not yet reusing serialization module - this will happen in the future
* No user functionality yet
5 files changed, 71 insertions, 26 deletions
diff --git a/OpenSim/Region/Environment/Modules/Grid/Interregion/InterregionModule.cs b/OpenSim/Region/Environment/Modules/Grid/Interregion/InterregionModule.cs index 423f0b5..89ee61a 100644 --- a/OpenSim/Region/Environment/Modules/Grid/Interregion/InterregionModule.cs +++ b/OpenSim/Region/Environment/Modules/Grid/Interregion/InterregionModule.cs | |||
@@ -152,18 +152,19 @@ namespace OpenSim.Region.Environment.Modules.Grid.Interregion | |||
152 | 152 | ||
153 | public void PostInitialise() | 153 | public void PostInitialise() |
154 | { | 154 | { |
155 | if (m_enabled) | 155 | // Commenting out to remove 'unreachable code' warning since m_enabled is never true |
156 | { | 156 | // if (m_enabled) |
157 | try | 157 | // { |
158 | { | 158 | // try |
159 | m_tcpPort = m_config.Configs["Comms"].GetInt("remoting_port", m_tcpPort); | 159 | // { |
160 | } | 160 | // m_tcpPort = m_config.Configs["Comms"].GetInt("remoting_port", m_tcpPort); |
161 | catch | 161 | // } |
162 | { | 162 | // catch |
163 | } | 163 | // { |
164 | 164 | // } | |
165 | internal_CreateRemotingObjects(); | 165 | // |
166 | } | 166 | // internal_CreateRemotingObjects(); |
167 | // } | ||
167 | } | 168 | } |
168 | 169 | ||
169 | public void Close() | 170 | public void Close() |
diff --git a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiverModule.cs b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiverModule.cs index cba04c4..ce78f21 100644 --- a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiverModule.cs +++ b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiverModule.cs | |||
@@ -26,7 +26,9 @@ | |||
26 | */ | 26 | */ |
27 | 27 | ||
28 | using OpenSim.Region.Environment.Interfaces; | 28 | using OpenSim.Region.Environment.Interfaces; |
29 | using OpenSim.Region.Environment.Modules.World.Serialiser; | ||
29 | using OpenSim.Region.Environment.Scenes; | 30 | using OpenSim.Region.Environment.Scenes; |
31 | using System.Collections.Generic; | ||
30 | using System.Reflection; | 32 | using System.Reflection; |
31 | using log4net; | 33 | using log4net; |
32 | using Nini.Config; | 34 | using Nini.Config; |
@@ -39,32 +41,76 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver | |||
39 | public class ArchiverModule : IRegionModule, IRegionArchiver | 41 | public class ArchiverModule : IRegionModule, IRegionArchiver |
40 | { | 42 | { |
41 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 43 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
44 | |||
45 | /// <summary> | ||
46 | /// Scene to which this module belongs | ||
47 | /// </summary> | ||
48 | /// <param name="scene"></param> | ||
49 | /// <param name="source"></param> | ||
50 | private Scene m_scene; | ||
42 | 51 | ||
43 | public string Name { get { return "ArchiverModule"; } } | 52 | public string Name { get { return "ArchiverModule"; } } |
44 | 53 | ||
45 | public bool IsSharedModule { get { return true; } } | 54 | public bool IsSharedModule { get { return false; } } |
46 | 55 | ||
47 | public void Initialise(Scene scene, IConfigSource source) | 56 | public void Initialise(Scene scene, IConfigSource source) |
48 | { | 57 | { |
49 | scene.RegisterModuleInterface<IRegionArchiver>(this); | 58 | m_scene = scene; |
59 | |||
60 | m_scene.RegisterModuleInterface<IRegionArchiver>(this); | ||
50 | } | 61 | } |
51 | 62 | ||
52 | public void PostInitialise() | 63 | public void PostInitialise() |
53 | { | 64 | { |
54 | } | 65 | } |
55 | 66 | ||
56 | public void Close() | 67 | public void Close() |
57 | { | 68 | { |
58 | } | 69 | } |
59 | 70 | ||
60 | public void ArchiveRegion(Scene scene, string savePath) | 71 | public void ArchiveRegion(string savePath) |
61 | { | 72 | { |
62 | m_log.Warn("[ARCHIVER]: Archive region not yet implemented"); | 73 | m_log.Warn("[ARCHIVER]: Archive region not yet implemented"); |
74 | |||
75 | List<EntityBase> entities = m_scene.GetEntities(); | ||
76 | string serEntities = SerializeObjects(entities); | ||
77 | |||
78 | if (serEntities != null && serEntities.Length > 0) | ||
79 | { | ||
80 | m_log.DebugFormat("[ARCHIVER]: Successfully got serialization for {0} entities", entities.Count); | ||
81 | } | ||
63 | } | 82 | } |
64 | 83 | ||
65 | public void DearchiveRegion(Scene scene, string loadPath) | 84 | public void DearchiveRegion(string loadPath) |
66 | { | 85 | { |
67 | m_log.Warn("[ARCHIVER]: Dearchive region not yet implemented"); | 86 | m_log.Warn("[ARCHIVER]: Dearchive region not yet implemented"); |
68 | } | 87 | } |
88 | |||
89 | /// <summary> | ||
90 | /// Get an xml representation of the given scene objects. | ||
91 | /// </summary> | ||
92 | /// <param name="scene"></param> | ||
93 | /// <returns></returns> | ||
94 | private static string SerializeObjects(List<EntityBase> entities) | ||
95 | { | ||
96 | string serialization = "<scene>"; | ||
97 | |||
98 | List<string> serObjects = new List<string>(); | ||
99 | |||
100 | foreach (EntityBase ent in entities) | ||
101 | { | ||
102 | if (ent is SceneObjectGroup) | ||
103 | { | ||
104 | serObjects.Add(((SceneObjectGroup) ent).ToXmlString2()); | ||
105 | } | ||
106 | } | ||
107 | |||
108 | foreach (string serObject in serObjects) | ||
109 | serialization += serObject; | ||
110 | |||
111 | serialization += "</scene>"; | ||
112 | |||
113 | return serialization; | ||
114 | } | ||
69 | } | 115 | } |
70 | } \ No newline at end of file | 116 | } \ No newline at end of file |
diff --git a/OpenSim/Region/Environment/Modules/World/Archiver/IRegionArchiver.cs b/OpenSim/Region/Environment/Modules/World/Archiver/IRegionArchiver.cs index 1cebb50..485cf02 100644 --- a/OpenSim/Region/Environment/Modules/World/Archiver/IRegionArchiver.cs +++ b/OpenSim/Region/Environment/Modules/World/Archiver/IRegionArchiver.cs | |||
@@ -35,17 +35,15 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver | |||
35 | public interface IRegionArchiver | 35 | public interface IRegionArchiver |
36 | { | 36 | { |
37 | /// <summary> | 37 | /// <summary> |
38 | /// Archive a region to the given path | 38 | /// Archive the region to the given path |
39 | /// </summary> | 39 | /// </summary> |
40 | /// <param name="scene"></param> | ||
41 | /// <param name="savePath"></param> | 40 | /// <param name="savePath"></param> |
42 | void ArchiveRegion(Scene scene, string savePath); | 41 | void ArchiveRegion(string savePath); |
43 | 42 | ||
44 | /// <summary> | 43 | /// <summary> |
45 | /// Dearchive the given region archive into the scene | 44 | /// Dearchive the given region archive into the scene |
46 | /// </summary> | 45 | /// </summary> |
47 | /// <param name="scene"></param> | ||
48 | /// <param name="loadPath"></param> | 46 | /// <param name="loadPath"></param> |
49 | void DearchiveRegion(Scene scene, string loadPath); | 47 | void DearchiveRegion(string loadPath); |
50 | } | 48 | } |
51 | } | 49 | } |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index a42bad5..60ba898 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -1378,7 +1378,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1378 | public void LoadPrimsFromArchive(string filePath) | 1378 | public void LoadPrimsFromArchive(string filePath) |
1379 | { | 1379 | { |
1380 | IRegionArchiver archiver = RequestModuleInterface<IRegionArchiver>(); | 1380 | IRegionArchiver archiver = RequestModuleInterface<IRegionArchiver>(); |
1381 | archiver.DearchiveRegion(this, filePath); | 1381 | archiver.DearchiveRegion(filePath); |
1382 | } | 1382 | } |
1383 | 1383 | ||
1384 | /// <summary> | 1384 | /// <summary> |
@@ -1388,7 +1388,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1388 | public void SavePrimsToArchive(string filePath) | 1388 | public void SavePrimsToArchive(string filePath) |
1389 | { | 1389 | { |
1390 | IRegionArchiver archiver = RequestModuleInterface<IRegionArchiver>(); | 1390 | IRegionArchiver archiver = RequestModuleInterface<IRegionArchiver>(); |
1391 | archiver.ArchiveRegion(this, filePath); | 1391 | archiver.ArchiveRegion(filePath); |
1392 | } | 1392 | } |
1393 | 1393 | ||
1394 | /// <summary> | 1394 | /// <summary> |
diff --git a/OpenSim/Region/Environment/Scenes/SceneManager.cs b/OpenSim/Region/Environment/Scenes/SceneManager.cs index 2baef9d..eae041b 100644 --- a/OpenSim/Region/Environment/Scenes/SceneManager.cs +++ b/OpenSim/Region/Environment/Scenes/SceneManager.cs | |||
@@ -201,7 +201,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
201 | /// <param name="filename"></param> | 201 | /// <param name="filename"></param> |
202 | public void SaveCurrentSceneToArchive(string filename) | 202 | public void SaveCurrentSceneToArchive(string filename) |
203 | { | 203 | { |
204 | CurrentOrFirstScene.LoadPrimsFromArchive(filename); | 204 | CurrentOrFirstScene.SavePrimsToArchive(filename); |
205 | } | 205 | } |
206 | 206 | ||
207 | /// <summary> | 207 | /// <summary> |
@@ -217,7 +217,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
217 | [Obsolete("TODO: Remove this warning by 0.7")] | 217 | [Obsolete("TODO: Remove this warning by 0.7")] |
218 | public bool RunTerrainCmdOnCurrentScene(string[] cmdparams, ref string result) | 218 | public bool RunTerrainCmdOnCurrentScene(string[] cmdparams, ref string result) |
219 | { | 219 | { |
220 | m_log.Warn("DEPRECIATED: The terrain engine has been replaced with a new terrain plugin module. Please type 'plugin terrain help' for new commands."); | 220 | m_log.Warn("DEPRECATED: The terrain engine has been replaced with a new terrain plugin module. Please type 'plugin terrain help' for new commands."); |
221 | return false; | 221 | return false; |
222 | } | 222 | } |
223 | 223 | ||