diff options
author | John Hurliman | 2009-11-05 13:10:58 -0800 |
---|---|---|
committer | John Hurliman | 2009-11-05 13:10:58 -0800 |
commit | afef1ac191d32e9c1514c294b17e404b1d4ae217 (patch) | |
tree | c390ef81c9c30922c2e95e32844832919884fd9c /OpenSim/Framework/AssetBase.cs | |
parent | Applying #4332, optional packet statistics logging (diff) | |
download | opensim-SC-afef1ac191d32e9c1514c294b17e404b1d4ae217.zip opensim-SC-afef1ac191d32e9c1514c294b17e404b1d4ae217.tar.gz opensim-SC-afef1ac191d32e9c1514c294b17e404b1d4ae217.tar.bz2 opensim-SC-afef1ac191d32e9c1514c294b17e404b1d4ae217.tar.xz |
Changing the AssetBase constructors to avoid initializing assets with an unknown asset type, and log an error if it ever does happen
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Framework/AssetBase.cs | 42 |
1 files changed, 35 insertions, 7 deletions
diff --git a/OpenSim/Framework/AssetBase.cs b/OpenSim/Framework/AssetBase.cs index 9679ff2..eed9703 100644 --- a/OpenSim/Framework/AssetBase.cs +++ b/OpenSim/Framework/AssetBase.cs | |||
@@ -27,6 +27,8 @@ | |||
27 | 27 | ||
28 | using System; | 28 | using System; |
29 | using System.Xml.Serialization; | 29 | using System.Xml.Serialization; |
30 | using System.Reflection; | ||
31 | using log4net; | ||
30 | using OpenMetaverse; | 32 | using OpenMetaverse; |
31 | 33 | ||
32 | namespace OpenSim.Framework | 34 | namespace OpenSim.Framework |
@@ -37,6 +39,8 @@ namespace OpenSim.Framework | |||
37 | [Serializable] | 39 | [Serializable] |
38 | public class AssetBase | 40 | public class AssetBase |
39 | { | 41 | { |
42 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | ||
43 | |||
40 | /// <summary> | 44 | /// <summary> |
41 | /// Data of the Asset | 45 | /// Data of the Asset |
42 | /// </summary> | 46 | /// </summary> |
@@ -47,16 +51,34 @@ namespace OpenSim.Framework | |||
47 | /// </summary> | 51 | /// </summary> |
48 | private AssetMetadata m_metadata; | 52 | private AssetMetadata m_metadata; |
49 | 53 | ||
50 | public AssetBase() | 54 | public AssetBase(UUID assetID, string name, sbyte assetType) |
51 | { | 55 | { |
56 | if (assetType == (sbyte)AssetType.Unknown) | ||
57 | { | ||
58 | System.Diagnostics.StackTrace trace = new System.Diagnostics.StackTrace(true); | ||
59 | m_log.ErrorFormat("[ASSETBASE]: Creating asset '{0}' ({1}) with an unknown asset type\n{2}", | ||
60 | name, assetID, trace.ToString()); | ||
61 | } | ||
62 | |||
52 | m_metadata = new AssetMetadata(); | 63 | m_metadata = new AssetMetadata(); |
64 | m_metadata.FullID = assetID; | ||
65 | m_metadata.Name = name; | ||
66 | m_metadata.Type = assetType; | ||
53 | } | 67 | } |
54 | 68 | ||
55 | public AssetBase(UUID assetId, string name) | 69 | public AssetBase(string assetID, string name, sbyte assetType) |
56 | { | 70 | { |
71 | if (assetType == (sbyte)AssetType.Unknown) | ||
72 | { | ||
73 | System.Diagnostics.StackTrace trace = new System.Diagnostics.StackTrace(true); | ||
74 | m_log.ErrorFormat("[ASSETBASE]: Creating asset '{0}' ({1}) with an unknown asset type\n{2}", | ||
75 | name, assetID, trace.ToString()); | ||
76 | } | ||
77 | |||
57 | m_metadata = new AssetMetadata(); | 78 | m_metadata = new AssetMetadata(); |
58 | m_metadata.FullID = assetId; | 79 | m_metadata.ID = assetID; |
59 | m_metadata.Name = name; | 80 | m_metadata.Name = name; |
81 | m_metadata.Type = assetType; | ||
60 | } | 82 | } |
61 | 83 | ||
62 | public bool ContainsReferences | 84 | public bool ContainsReferences |
@@ -193,11 +215,11 @@ namespace OpenSim.Framework | |||
193 | private string m_name = String.Empty; | 215 | private string m_name = String.Empty; |
194 | private string m_description = String.Empty; | 216 | private string m_description = String.Empty; |
195 | private DateTime m_creation_date; | 217 | private DateTime m_creation_date; |
196 | private sbyte m_type; | 218 | private sbyte m_type = (sbyte)AssetType.Unknown; |
197 | private string m_content_type; | 219 | private string m_content_type; |
198 | private byte[] m_sha1; | 220 | private byte[] m_sha1; |
199 | private bool m_local = false; | 221 | private bool m_local; |
200 | private bool m_temporary = false; | 222 | private bool m_temporary; |
201 | //private Dictionary<string, Uri> m_methods = new Dictionary<string, Uri>(); | 223 | //private Dictionary<string, Uri> m_methods = new Dictionary<string, Uri>(); |
202 | //private OSDMap m_extra_data; | 224 | //private OSDMap m_extra_data; |
203 | 225 | ||
@@ -211,7 +233,13 @@ namespace OpenSim.Framework | |||
211 | { | 233 | { |
212 | //get { return m_fullid.ToString(); } | 234 | //get { return m_fullid.ToString(); } |
213 | //set { m_fullid = new UUID(value); } | 235 | //set { m_fullid = new UUID(value); } |
214 | get { return m_id; } | 236 | get |
237 | { | ||
238 | if (String.IsNullOrEmpty(m_id)) | ||
239 | m_id = m_fullid.ToString(); | ||
240 | |||
241 | return m_id; | ||
242 | } | ||
215 | set | 243 | set |
216 | { | 244 | { |
217 | UUID uuid = UUID.Zero; | 245 | UUID uuid = UUID.Zero; |