diff options
author | Justin Clark-Casey (justincc) | 2012-11-14 04:17:39 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2012-11-14 04:17:39 +0000 |
commit | 2ccb53b42d841237c9de23ff75e9ef9e931f63a4 (patch) | |
tree | a1d0a27b9391613eb4a3588f4ede2de7780b2786 | |
parent | Added a few more AssemblyInfos. (Plus added the one in OptionalModules, which... (diff) | |
download | opensim-SC_OLD-2ccb53b42d841237c9de23ff75e9ef9e931f63a4.zip opensim-SC_OLD-2ccb53b42d841237c9de23ff75e9ef9e931f63a4.tar.gz opensim-SC_OLD-2ccb53b42d841237c9de23ff75e9ef9e931f63a4.tar.bz2 opensim-SC_OLD-2ccb53b42d841237c9de23ff75e9ef9e931f63a4.tar.xz |
If no ISimulationDataStore or IEstateDataStore implementations could be loaded then halt with informative message rather than a later NRE.
Halt already occurs if the relevant config sections are not present.
So it also makes sense to halt if the implementations themselves cannot be loaded.
-rw-r--r-- | OpenSim/Region/Application/OpenSimBase.cs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index a3d6820..808c760 100644 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs | |||
@@ -199,19 +199,33 @@ namespace OpenSim | |||
199 | IConfig simDataConfig = m_config.Source.Configs["SimulationDataStore"]; | 199 | IConfig simDataConfig = m_config.Source.Configs["SimulationDataStore"]; |
200 | if (simDataConfig == null) | 200 | if (simDataConfig == null) |
201 | throw new Exception("Configuration file is missing the [SimulationDataStore] section. Have you copied OpenSim.ini.example to OpenSim.ini to reference config-include/ files?"); | 201 | throw new Exception("Configuration file is missing the [SimulationDataStore] section. Have you copied OpenSim.ini.example to OpenSim.ini to reference config-include/ files?"); |
202 | |||
202 | string module = simDataConfig.GetString("LocalServiceModule", String.Empty); | 203 | string module = simDataConfig.GetString("LocalServiceModule", String.Empty); |
203 | if (String.IsNullOrEmpty(module)) | 204 | if (String.IsNullOrEmpty(module)) |
204 | throw new Exception("Configuration file is missing the LocalServiceModule parameter in the [SimulationDataStore] section."); | 205 | throw new Exception("Configuration file is missing the LocalServiceModule parameter in the [SimulationDataStore] section."); |
206 | |||
205 | m_simulationDataService = ServerUtils.LoadPlugin<ISimulationDataService>(module, new object[] { m_config.Source }); | 207 | m_simulationDataService = ServerUtils.LoadPlugin<ISimulationDataService>(module, new object[] { m_config.Source }); |
208 | if (m_simulationDataService == null) | ||
209 | throw new Exception( | ||
210 | string.Format( | ||
211 | "Could not load an ISimulationDataService implementation from {0}, as configured in the LocalServiceModule parameter of the [SimulationDataStore] config section.", | ||
212 | module)); | ||
206 | 213 | ||
207 | // Load the estate data service | 214 | // Load the estate data service |
208 | IConfig estateDataConfig = m_config.Source.Configs["EstateDataStore"]; | 215 | IConfig estateDataConfig = m_config.Source.Configs["EstateDataStore"]; |
209 | if (estateDataConfig == null) | 216 | if (estateDataConfig == null) |
210 | throw new Exception("Configuration file is missing the [EstateDataStore] section. Have you copied OpenSim.ini.example to OpenSim.ini to reference config-include/ files?"); | 217 | throw new Exception("Configuration file is missing the [EstateDataStore] section. Have you copied OpenSim.ini.example to OpenSim.ini to reference config-include/ files?"); |
218 | |||
211 | module = estateDataConfig.GetString("LocalServiceModule", String.Empty); | 219 | module = estateDataConfig.GetString("LocalServiceModule", String.Empty); |
212 | if (String.IsNullOrEmpty(module)) | 220 | if (String.IsNullOrEmpty(module)) |
213 | throw new Exception("Configuration file is missing the LocalServiceModule parameter in the [EstateDataStore] section"); | 221 | throw new Exception("Configuration file is missing the LocalServiceModule parameter in the [EstateDataStore] section"); |
222 | |||
214 | m_estateDataService = ServerUtils.LoadPlugin<IEstateDataService>(module, new object[] { m_config.Source }); | 223 | m_estateDataService = ServerUtils.LoadPlugin<IEstateDataService>(module, new object[] { m_config.Source }); |
224 | if (m_estateDataService == null) | ||
225 | throw new Exception( | ||
226 | string.Format( | ||
227 | "Could not load an IEstateDataService implementation from {0}, as configured in the LocalServiceModule parameter of the [EstateDataStore] config section.", | ||
228 | module)); | ||
215 | 229 | ||
216 | base.StartupSpecific(); | 230 | base.StartupSpecific(); |
217 | 231 | ||