From 81b4c7be3e84b29e5fcc387f578afdc07b806048 Mon Sep 17 00:00:00 2001 From: mingchen Date: Fri, 4 Jan 2008 14:14:15 +0000 Subject: *Added ability to skip any use of the console when configuring and assume default value. This is useful when the server is running by itself and a new region request is added without sufficient information --- OpenSim/Framework/AssetConfig.cs | 2 +- OpenSim/Framework/Configuration/HTTP/RemoteConfigSettings.cs | 2 +- OpenSim/Framework/ConfigurationMember.cs | 10 ++++++---- OpenSim/Framework/EstateSettings.cs | 2 +- OpenSim/Framework/GridConfig.cs | 2 +- OpenSim/Framework/InventoryConfig.cs | 2 +- OpenSim/Framework/RegionInfo.cs | 8 ++++---- .../RegionLoader/Filesystem/RegionLoaderFileSystem.cs | 4 ++-- OpenSim/Framework/RegionLoader/Web/RegionLoaderWebServer.cs | 2 +- OpenSim/Framework/UserConfig.cs | 2 +- OpenSim/Region/Application/OpenSimMain.cs | 4 ++-- OpenSim/Tools/Export/OpenSimExport.cs | 2 +- 12 files changed, 22 insertions(+), 20 deletions(-) diff --git a/OpenSim/Framework/AssetConfig.cs b/OpenSim/Framework/AssetConfig.cs index fe77ab8..f85129b 100644 --- a/OpenSim/Framework/AssetConfig.cs +++ b/OpenSim/Framework/AssetConfig.cs @@ -45,7 +45,7 @@ namespace OpenSim.Framework public AssetConfig(string description, string filename) { configMember = - new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration); + new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration, true); configMember.performConfigurationRetrieve(); } diff --git a/OpenSim/Framework/Configuration/HTTP/RemoteConfigSettings.cs b/OpenSim/Framework/Configuration/HTTP/RemoteConfigSettings.cs index 332066c..8fddb60 100644 --- a/OpenSim/Framework/Configuration/HTTP/RemoteConfigSettings.cs +++ b/OpenSim/Framework/Configuration/HTTP/RemoteConfigSettings.cs @@ -38,7 +38,7 @@ namespace OpenSim.Framework.Configuration.HTTP { configMember = new ConfigurationMember(filename, "REMOTE CONFIG SETTINGS", loadConfigurationOptions, - handleIncomingConfiguration); + handleIncomingConfiguration,true); configMember.forceConfigurationPluginLibrary("OpenSim.Framework.Configuration.XML.dll"); configMember.performConfigurationRetrieve(); } diff --git a/OpenSim/Framework/ConfigurationMember.cs b/OpenSim/Framework/ConfigurationMember.cs index a5ab613..2def070 100644 --- a/OpenSim/Framework/ConfigurationMember.cs +++ b/OpenSim/Framework/ConfigurationMember.cs @@ -51,29 +51,31 @@ namespace OpenSim.Framework private ConfigurationOptionResult resultFunction; private IGenericConfig configurationPlugin = null; - + private bool useConsoleToPromptOnError = true; /// /// This is the default configuration DLL loaded /// private string configurationPluginFilename = "OpenSim.Framework.Configuration.XML.dll"; public ConfigurationMember(string configuration_filename, string configuration_description, - ConfigurationOptionsLoad load_function, ConfigurationOptionResult result_function) + ConfigurationOptionsLoad load_function, ConfigurationOptionResult result_function, bool use_console_to_prompt_on_error) { configurationFilename = configuration_filename; configurationDescription = configuration_description; loadFunction = load_function; resultFunction = result_function; + useConsoleToPromptOnError = use_console_to_prompt_on_error; } public ConfigurationMember(XmlNode configuration_xml, string configuration_description, - ConfigurationOptionsLoad load_function, ConfigurationOptionResult result_function) + ConfigurationOptionsLoad load_function, ConfigurationOptionResult result_function, bool use_console_to_prompt_on_error) { configurationFilename = ""; configurationFromXMLNode = configuration_xml; configurationDescription = configuration_description; loadFunction = load_function; resultFunction = result_function; + useConsoleToPromptOnError = use_console_to_prompt_on_error; } public void setConfigurationFilename(string filename) @@ -231,7 +233,7 @@ namespace OpenSim.Framework if (attribute == null) { - if (configOption.configurationUseDefaultNoPrompt) + if (configOption.configurationUseDefaultNoPrompt || useConsoleToPromptOnError == false) { console_result = configOption.configurationDefault; } diff --git a/OpenSim/Framework/EstateSettings.cs b/OpenSim/Framework/EstateSettings.cs index 9e4b9a4..b2bd181 100644 --- a/OpenSim/Framework/EstateSettings.cs +++ b/OpenSim/Framework/EstateSettings.cs @@ -749,7 +749,7 @@ namespace OpenSim.Framework { configMember = new ConfigurationMember(Path.Combine(Util.configDir(), "estate_settings.xml"), "ESTATE SETTINGS", - loadConfigurationOptions, handleIncomingConfiguration); + loadConfigurationOptions, handleIncomingConfiguration,true); configMember.performConfigurationRetrieve(); } } diff --git a/OpenSim/Framework/GridConfig.cs b/OpenSim/Framework/GridConfig.cs index 8821010..c07adea 100644 --- a/OpenSim/Framework/GridConfig.cs +++ b/OpenSim/Framework/GridConfig.cs @@ -55,7 +55,7 @@ namespace OpenSim.Framework public GridConfig(string description, string filename) { configMember = - new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration); + new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration, true); configMember.performConfigurationRetrieve(); } diff --git a/OpenSim/Framework/InventoryConfig.cs b/OpenSim/Framework/InventoryConfig.cs index 4fdac37..28cd552 100644 --- a/OpenSim/Framework/InventoryConfig.cs +++ b/OpenSim/Framework/InventoryConfig.cs @@ -48,7 +48,7 @@ namespace OpenSim.Framework public InventoryConfig(string description, string filename) { configMember = - new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration); + new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration, true); configMember.performConfigurationRetrieve(); } diff --git a/OpenSim/Framework/RegionInfo.cs b/OpenSim/Framework/RegionInfo.cs index 17811cd..3c4fcba 100644 --- a/OpenSim/Framework/RegionInfo.cs +++ b/OpenSim/Framework/RegionInfo.cs @@ -187,17 +187,17 @@ namespace OpenSim.Framework public ConfigurationMember configMember; - public RegionInfo(string description, string filename) + public RegionInfo(string description, string filename, bool skipConsoleConfig) { configMember = - new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration); + new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration,!skipConsoleConfig); configMember.performConfigurationRetrieve(); } - public RegionInfo(string description, XmlNode xmlNode) + public RegionInfo(string description, XmlNode xmlNode, bool skipConsoleConfig) { configMember = - new ConfigurationMember(xmlNode, description, loadConfigurationOptions, handleIncomingConfiguration); + new ConfigurationMember(xmlNode, description, loadConfigurationOptions, handleIncomingConfiguration, !skipConsoleConfig); configMember.performConfigurationRetrieve(); } diff --git a/OpenSim/Framework/RegionLoader/Filesystem/RegionLoaderFileSystem.cs b/OpenSim/Framework/RegionLoader/Filesystem/RegionLoaderFileSystem.cs index a710f50..66a6ec8 100644 --- a/OpenSim/Framework/RegionLoader/Filesystem/RegionLoaderFileSystem.cs +++ b/OpenSim/Framework/RegionLoader/Filesystem/RegionLoaderFileSystem.cs @@ -49,14 +49,14 @@ namespace OpenSim.Framework.RegionLoader.Filesystem if (configFiles.Length == 0) { - new RegionInfo("DEFAULT REGION CONFIG", Path.Combine(regionConfigPath, "default.xml")); + new RegionInfo("DEFAULT REGION CONFIG", Path.Combine(regionConfigPath, "default.xml"),false); configFiles = Directory.GetFiles(regionConfigPath, "*.xml"); } RegionInfo[] regionInfos = new RegionInfo[configFiles.Length]; for (int i = 0; i < configFiles.Length; i++) { - RegionInfo regionInfo = new RegionInfo("REGION CONFIG #" + (i + 1), configFiles[i]); + RegionInfo regionInfo = new RegionInfo("REGION CONFIG #" + (i + 1), configFiles[i],false); regionInfos[i] = regionInfo; } diff --git a/OpenSim/Framework/RegionLoader/Web/RegionLoaderWebServer.cs b/OpenSim/Framework/RegionLoader/Web/RegionLoaderWebServer.cs index 1625fa6..80acbae 100644 --- a/OpenSim/Framework/RegionLoader/Web/RegionLoaderWebServer.cs +++ b/OpenSim/Framework/RegionLoader/Web/RegionLoaderWebServer.cs @@ -86,7 +86,7 @@ namespace OpenSim.Framework.RegionLoader.Web { MainLog.Instance.Debug(xmlDoc.FirstChild.ChildNodes[i].OuterXml); regionInfos[i] = - new RegionInfo("REGION CONFIG #" + (i + 1), xmlDoc.FirstChild.ChildNodes[i]); + new RegionInfo("REGION CONFIG #" + (i + 1), xmlDoc.FirstChild.ChildNodes[i],false); } return regionInfos; diff --git a/OpenSim/Framework/UserConfig.cs b/OpenSim/Framework/UserConfig.cs index 7ca2512..c9957ef 100644 --- a/OpenSim/Framework/UserConfig.cs +++ b/OpenSim/Framework/UserConfig.cs @@ -54,7 +54,7 @@ namespace OpenSim.Framework public UserConfig(string description, string filename) { configMember = - new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration); + new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration,true); configMember.performConfigurationRetrieve(); } diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs index 6758808..0e8d71a 100644 --- a/OpenSim/Region/Application/OpenSimMain.cs +++ b/OpenSim/Region/Application/OpenSimMain.cs @@ -394,7 +394,7 @@ namespace OpenSim private static void CreateDefaultRegionInfoXml(string fileName) { - new RegionInfo("DEFAULT REGION CONFIG", fileName); + new RegionInfo("DEFAULT REGION CONFIG", fileName,false); } protected override StorageManager CreateStorageManager(string connectionstring) @@ -771,7 +771,7 @@ namespace OpenSim break; case "create-region": - CreateRegion(new RegionInfo(cmdparams[0], "Regions/" + cmdparams[1])); + CreateRegion(new RegionInfo(cmdparams[0], "Regions/" + cmdparams[1],false)); break; case "remove-region": diff --git a/OpenSim/Tools/Export/OpenSimExport.cs b/OpenSim/Tools/Export/OpenSimExport.cs index 4a5ba5d..765f6a2 100644 --- a/OpenSim/Tools/Export/OpenSimExport.cs +++ b/OpenSim/Tools/Export/OpenSimExport.cs @@ -61,7 +61,7 @@ namespace OpenSim.Tools.Export public static void Main(string[] args) { OpenSimExport export = new OpenSimExport(InitConfig(args)); - RegionInfo reg = new RegionInfo("Sara Jane", "Regions/1000-1000.xml"); + RegionInfo reg = new RegionInfo("Sara Jane", "Regions/1000-1000.xml",false); Console.WriteLine("This application does nothing useful yet: " + reg.RegionID); foreach (SceneObjectGroup group in export.sman.DataStore.LoadObjects(reg.RegionID)) -- cgit v1.1