catch exceptions when loading malformed xml files
parent
c5ddbd3254
commit
946db5461c
|
@ -2,6 +2,7 @@ using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
|
using System.Xml;
|
||||||
using libsecondlife;
|
using libsecondlife;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenSim.Framework.Console;
|
using OpenSim.Framework.Console;
|
||||||
|
@ -147,6 +148,8 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
// System.Console.WriteLine("trying loading asset into database");
|
// System.Console.WriteLine("trying loading asset into database");
|
||||||
string filePath = Path.Combine(Util.configDir(), "OpenSimAssetSet.xml");
|
string filePath = Path.Combine(Util.configDir(), "OpenSimAssetSet.xml");
|
||||||
if (File.Exists(filePath))
|
if (File.Exists(filePath))
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
XmlConfigSource source = new XmlConfigSource(filePath);
|
XmlConfigSource source = new XmlConfigSource(filePath);
|
||||||
|
|
||||||
|
@ -166,6 +169,11 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
assets.Add(newAsset);
|
assets.Add(newAsset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
catch (XmlException e)
|
||||||
|
{
|
||||||
|
MainLog.Instance.Error("ASSETS", "Error loading " + filePath + ": " + e.ToString());
|
||||||
|
}
|
||||||
|
}
|
||||||
assets.ForEach(action);
|
assets.ForEach(action);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,8 +27,10 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
using System.Xml;
|
||||||
using libsecondlife;
|
using libsecondlife;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
|
using OpenSim.Framework.Console;
|
||||||
|
|
||||||
namespace OpenSim.Framework.Communications.Cache
|
namespace OpenSim.Framework.Communications.Cache
|
||||||
{
|
{
|
||||||
|
@ -64,10 +66,17 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
|
|
||||||
string filePath = Path.Combine(Util.configDir(), "OpenSimLibrary.xml");
|
string filePath = Path.Combine(Util.configDir(), "OpenSimLibrary.xml");
|
||||||
if (File.Exists(filePath))
|
if (File.Exists(filePath))
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
XmlConfigSource source = new XmlConfigSource(filePath);
|
XmlConfigSource source = new XmlConfigSource(filePath);
|
||||||
ReadItemsFromFile(source);
|
ReadItemsFromFile(source);
|
||||||
}
|
}
|
||||||
|
catch (XmlException e)
|
||||||
|
{
|
||||||
|
MainLog.Instance.Error("INVENTORY", "Error loading " + filePath + ": " + e.ToString());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CreateLibraryItems()
|
private void CreateLibraryItems()
|
||||||
|
|
|
@ -166,9 +166,17 @@ namespace OpenSim.Framework
|
||||||
if (configurationFilename.Trim() != "")
|
if (configurationFilename.Trim() != "")
|
||||||
{
|
{
|
||||||
configurationPlugin.SetFileName(configurationFilename);
|
configurationPlugin.SetFileName(configurationFilename);
|
||||||
|
try
|
||||||
|
{
|
||||||
configurationPlugin.LoadData();
|
configurationPlugin.LoadData();
|
||||||
useFile = true;
|
useFile = true;
|
||||||
}
|
}
|
||||||
|
catch (XmlException e)
|
||||||
|
{
|
||||||
|
MainLog.Instance.Error("Error loading " + configurationFilename + ": " + e.ToString());
|
||||||
|
useFile = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (this.configurationFromXMLNode != null)
|
if (this.configurationFromXMLNode != null)
|
||||||
|
@ -189,7 +197,6 @@ namespace OpenSim.Framework
|
||||||
bool ignoreNextFromConfig = false;
|
bool ignoreNextFromConfig = false;
|
||||||
while (convertSuccess == false)
|
while (convertSuccess == false)
|
||||||
{
|
{
|
||||||
|
|
||||||
string console_result = "";
|
string console_result = "";
|
||||||
string attribute = null;
|
string attribute = null;
|
||||||
if (useFile || (!useFile && configurationFromXMLNode != null))
|
if (useFile || (!useFile && configurationFromXMLNode != null))
|
||||||
|
@ -228,7 +235,6 @@ namespace OpenSim.Framework
|
||||||
//Dont Ask! Just use default
|
//Dont Ask! Just use default
|
||||||
console_result = configOption.configurationDefault;
|
console_result = configOption.configurationDefault;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -292,7 +298,6 @@ namespace OpenSim.Framework
|
||||||
{
|
{
|
||||||
convertSuccess = true;
|
convertSuccess = true;
|
||||||
return_result = intResult;
|
return_result = intResult;
|
||||||
|
|
||||||
}
|
}
|
||||||
errorMessage = "a signed 32 bit integer (int)";
|
errorMessage = "a signed 32 bit integer (int)";
|
||||||
break;
|
break;
|
||||||
|
@ -347,7 +352,6 @@ namespace OpenSim.Framework
|
||||||
{
|
{
|
||||||
convertSuccess = true;
|
convertSuccess = true;
|
||||||
return_result = uintResult;
|
return_result = uintResult;
|
||||||
|
|
||||||
}
|
}
|
||||||
errorMessage = "an unsigned 32 bit integer (uint)";
|
errorMessage = "an unsigned 32 bit integer (uint)";
|
||||||
break;
|
break;
|
||||||
|
@ -387,7 +391,6 @@ namespace OpenSim.Framework
|
||||||
configurationPlugin.SetAttribute(configOption.configurationKey, console_result);
|
configurationPlugin.SetAttribute(configOption.configurationKey, console_result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (!this.resultFunction(configOption.configurationKey, return_result))
|
if (!this.resultFunction(configOption.configurationKey, return_result))
|
||||||
{
|
{
|
||||||
Console.MainLog.Instance.Notice("The handler for the last configuration option denied that input, please try again.");
|
Console.MainLog.Instance.Notice("The handler for the last configuration option denied that input, please try again.");
|
||||||
|
|
Loading…
Reference in New Issue