From 90823167573b941de82908a77905cfe8f845f0fe Mon Sep 17 00:00:00 2001 From: Sean Dague Date: Wed, 3 Sep 2008 18:04:42 +0000 Subject: [PATCH] come up nicer on startup if the opensim.ini section isn't there --- .../ContentManagementModule.cs | 156 +++++++++--------- 1 file changed, 78 insertions(+), 78 deletions(-) diff --git a/OpenSim/Region/Environment/Modules/ContentManagementSystem/ContentManagementModule.cs b/OpenSim/Region/Environment/Modules/ContentManagementSystem/ContentManagementModule.cs index 22177ae031..413d00d338 100644 --- a/OpenSim/Region/Environment/Modules/ContentManagementSystem/ContentManagementModule.cs +++ b/OpenSim/Region/Environment/Modules/ContentManagementSystem/ContentManagementModule.cs @@ -1,8 +1,6 @@ // ContentManagementModule.cs // User: bongiojp - - using System; using System.Collections.Generic; using libsecondlife; @@ -18,86 +16,88 @@ using System.Threading; namespace OpenSim.Region.Environment.Modules.ContentManagement { - public class ContentManagementModule : IRegionModule - { - private static readonly log4net.ILog m_log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); - CMController m_control = null; - CMModel m_model = null; - CMView m_view = null; - bool initialised = false; - bool m_posted = false; - bool m_enabled = true; - - public void Initialise(Scene scene, IConfigSource source) + public class ContentManagementModule : IRegionModule + { + private static readonly log4net.ILog m_log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); + CMController m_control = null; + CMModel m_model = null; + CMView m_view = null; + bool initialised = false; + bool m_posted = false; + bool m_enabled = false; + + public void Initialise(Scene scene, IConfigSource source) { - string databaseDir = "./"; - string database = "FilesyStemDatabase"; - int channel = 345; - try - { - if (!source.Configs["CMS"].GetBoolean("Enabled", false)) - m_enabled = false; - - databaseDir = source.Configs["CMS"].GetString("Directory", databaseDir); - database = source.Configs["CMS"].GetString("Database", database); - channel = source.Configs["CMS"].GetInt("Channel", channel); - if (database != "FileSystemDatabase" && database != "GitDatabase") - { - m_log.ErrorFormat("[Content Management]: The Database attribute must be defined as either FileSystemDatabase or GitDatabase"); - m_enabled = false; - } - } - catch (Exception e) - { - m_log.ErrorFormat("[Content Management]: Exception thrown while reading parameters from configuration file. Message: " + e); - m_enabled = false; - } + string databaseDir = "./"; + string database = "FileSystemDatabase"; + int channel = 345; + try + { + if (source.Configs["CMS"] == null) + return; + + m_enabled = source.Configs["CMS"].GetBoolean("Enabled", false); + databaseDir = source.Configs["CMS"].GetString("Directory", databaseDir); + database = source.Configs["CMS"].GetString("Database", database); + channel = source.Configs["CMS"].GetInt("Channel", channel); - if (!m_enabled) - { - m_log.Info("[Content Management]: Content Management System is not Enabled."); - return; - } - - lock(this) - { - if (!initialised) //only init once - { - m_view = new CMView(); - m_model = new CMModel(); - m_control = new CMController(m_model, m_view, scene, channel); - m_model.Initialise(database); - m_view.Initialise(m_model); - - initialised = true; - m_model.InitialiseDatabase(scene, databaseDir); - } - else - { - m_model.InitialiseDatabase(scene, databaseDir); - m_control.RegisterNewRegion(scene); - } - } - } - + if (database != "FileSystemDatabase" && database != "GitDatabase") + { + m_log.ErrorFormat("[Content Management]: The Database attribute must be defined as either FileSystemDatabase or GitDatabase"); + m_enabled = false; + } + } + catch (Exception e) + { + m_log.ErrorFormat("[Content Management]: Exception thrown while reading parameters from configuration file. Message: " + e); + m_enabled = false; + } + + if (!m_enabled) + { + m_log.Info("[Content Management]: Content Management System is not Enabled."); + return; + } + + lock(this) + { + if (!initialised) //only init once + { + m_view = new CMView(); + m_model = new CMModel(); + m_control = new CMController(m_model, m_view, scene, channel); + m_model.Initialise(database); + m_view.Initialise(m_model); + + initialised = true; + m_model.InitialiseDatabase(scene, databaseDir); + } + else + { + m_model.InitialiseDatabase(scene, databaseDir); + m_control.RegisterNewRegion(scene); + } + } + } + public void PostInitialise() { - if (! m_enabled) - return; - - lock(this) - { - if (!m_posted) //only post once - { - m_model.PostInitialise(); - m_posted = true; - } - } - } - - public void Close() + if (! m_enabled) + return; + + lock(this) + { + if (!m_posted) //only post once + { + m_model.PostInitialise(); + m_posted = true; + } + } + } + + public void Close() {} - + public string Name { get { return "ContentManagementModule"; } @@ -107,5 +107,5 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement { get { return true; } } - } + } }