From 583fa73126e425d98f12a6e5cef5487a3eb48e52 Mon Sep 17 00:00:00 2001
From: Justin Clarke Casey
Date: Fri, 19 Dec 2008 18:33:03 +0000
Subject: * refactor: Remove archiver module scene wrappers
---
.../Interfaces/IRegionArchiverModule.cs | 47 +++++++++++++++++++++
.../Modules/World/Archiver/ArchiverModule.cs | 11 +++--
.../Modules/World/Archiver/IRegionArchiver.cs | 49 ----------------------
OpenSim/Region/Environment/Scenes/Scene.cs | 24 -----------
OpenSim/Region/Environment/Scenes/SceneManager.cs | 8 +++-
5 files changed, 60 insertions(+), 79 deletions(-)
create mode 100644 OpenSim/Region/Environment/Interfaces/IRegionArchiverModule.cs
delete mode 100644 OpenSim/Region/Environment/Modules/World/Archiver/IRegionArchiver.cs
(limited to 'OpenSim/Region')
diff --git a/OpenSim/Region/Environment/Interfaces/IRegionArchiverModule.cs b/OpenSim/Region/Environment/Interfaces/IRegionArchiverModule.cs
new file mode 100644
index 0000000..11eea20
--- /dev/null
+++ b/OpenSim/Region/Environment/Interfaces/IRegionArchiverModule.cs
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) Contributors, http://opensimulator.org/
+ * See CONTRIBUTORS.TXT for a full list of copyright holders.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of the OpenSim Project nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+namespace OpenSim.Region.Environment.Interfaces
+{
+ ///
+ /// Interface to region archive functionality
+ ///
+ public interface IRegionArchiverModule
+ {
+ ///
+ /// Archive the region to the given path
+ ///
+ ///
+ void ArchiveRegion(string savePath);
+
+ ///
+ /// Dearchive the given region archive into the scene
+ ///
+ ///
+ void DearchiveRegion(string loadPath);
+ }
+}
diff --git a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiverModule.cs b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiverModule.cs
index df17ad2..de60472 100644
--- a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiverModule.cs
+++ b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiverModule.cs
@@ -40,9 +40,9 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver
///
/// This module loads and saves OpenSimulator archives
///
- public class ArchiverModule : IRegionModule, IRegionArchiver
+ public class ArchiverModule : IRegionModule, IRegionArchiverModule
{
- // private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+ private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
///
/// Scene to which this module belongs
@@ -58,8 +58,7 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver
public void Initialise(Scene scene, IConfigSource source)
{
m_scene = scene;
-
- m_scene.RegisterModuleInterface(this);
+ m_scene.RegisterModuleInterface(this);
}
public void PostInitialise()
@@ -72,11 +71,15 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver
public void ArchiveRegion(string savePath)
{
+ m_log.InfoFormat("[SCENE]: Writing archive for region {0} to {1}", m_scene.RegionInfo.RegionName, savePath);
+
new ArchiveWriteRequestPreparation(m_scene, savePath).ArchiveRegion();
}
public void DearchiveRegion(string loadPath)
{
+ m_log.InfoFormat("[SCENE]: Loading archive to region {0} from {1}", m_scene.RegionInfo.RegionName, loadPath);
+
new ArchiveReadRequest(m_scene, loadPath);
}
}
diff --git a/OpenSim/Region/Environment/Modules/World/Archiver/IRegionArchiver.cs b/OpenSim/Region/Environment/Modules/World/Archiver/IRegionArchiver.cs
deleted file mode 100644
index b949666..0000000
--- a/OpenSim/Region/Environment/Modules/World/Archiver/IRegionArchiver.cs
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) Contributors, http://opensimulator.org/
- * See CONTRIBUTORS.TXT for a full list of copyright holders.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the name of the OpenSim Project nor the
- * names of its contributors may be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-using OpenSim.Region.Environment.Scenes;
-
-namespace OpenSim.Region.Environment.Modules.World.Archiver
-{
- ///
- /// Interface to region archive functionality
- ///
- public interface IRegionArchiver
- {
- ///
- /// Archive the region to the given path
- ///
- ///
- void ArchiveRegion(string savePath);
-
- ///
- /// Dearchive the given region archive into the scene
- ///
- ///
- void DearchiveRegion(string loadPath);
- }
-}
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index eecfd70..4272f22 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -142,7 +142,6 @@ namespace OpenSim.Region.Environment.Scenes
protected IWorldComm m_worldCommModule;
protected IAvatarFactory m_AvatarFactory;
protected IConfigSource m_config;
- protected IRegionArchiver m_archiver;
protected IRegionSerialiser m_serialiser;
// Central Update Loop
@@ -729,7 +728,6 @@ namespace OpenSim.Region.Environment.Scenes
m_worldCommModule = RequestModuleInterface();
XferManager = RequestModuleInterface();
m_AvatarFactory = RequestModuleInterface();
- m_archiver = RequestModuleInterface();
m_serialiser = RequestModuleInterface();
}
@@ -1949,28 +1947,6 @@ namespace OpenSim.Region.Environment.Scenes
}
///
- /// Load a prim archive into the scene. This loads both prims and their assets.
- ///
- ///
- public void LoadPrimsFromArchive(string filePath)
- {
- m_log.InfoFormat("[SCENE]: Loading archive to region {0} from {1}", RegionInfo.RegionName, filePath);
-
- m_archiver.DearchiveRegion(filePath);
- }
-
- ///
- /// Save the prims in the scene to an archive. This saves both prims and their assets.
- ///
- ///
- public void SavePrimsToArchive(string filePath)
- {
- m_log.InfoFormat("[SCENE]: Writing archive for region {0} to {1}", RegionInfo.RegionName, filePath);
-
- m_archiver.ArchiveRegion(filePath);
- }
-
- ///
/// Move the given scene object into a new region depending on which region its absolute position has moved
/// into.
///
diff --git a/OpenSim/Region/Environment/Scenes/SceneManager.cs b/OpenSim/Region/Environment/Scenes/SceneManager.cs
index bb74c20..6072b70 100644
--- a/OpenSim/Region/Environment/Scenes/SceneManager.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneManager.cs
@@ -227,7 +227,9 @@ namespace OpenSim.Region.Environment.Scenes
///
public void SaveCurrentSceneToArchive(string filename)
{
- CurrentOrFirstScene.SavePrimsToArchive(filename);
+ IRegionArchiverModule archiver = CurrentOrFirstScene.RequestModuleInterface();
+ if (archiver != null)
+ archiver.ArchiveRegion(filename);
}
///
@@ -237,7 +239,9 @@ namespace OpenSim.Region.Environment.Scenes
///
public void LoadArchiveToCurrentScene(string filename)
{
- CurrentOrFirstScene.LoadPrimsFromArchive(filename);
+ IRegionArchiverModule archiver = CurrentOrFirstScene.RequestModuleInterface();
+ if (archiver != null)
+ archiver.DearchiveRegion(filename);
}
public string SaveCurrentSceneMapToXmlString()
--
cgit v1.1