aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services/AssetService
diff options
context:
space:
mode:
authorMelanie2010-12-03 02:36:13 +0000
committerMelanie2010-12-03 02:36:13 +0000
commit342dc532ec64642d5997f23050a9776f663facdf (patch)
treeb0be3997967aa6e4d79873281f535ad436b841e4 /OpenSim/Services/AssetService
parentChange the way sim health reporting reports sim startup (diff)
parentOnly force prim persistence before delete if the prim is the result of an unp... (diff)
downloadopensim-SC_OLD-342dc532ec64642d5997f23050a9776f663facdf.zip
opensim-SC_OLD-342dc532ec64642d5997f23050a9776f663facdf.tar.gz
opensim-SC_OLD-342dc532ec64642d5997f23050a9776f663facdf.tar.bz2
opensim-SC_OLD-342dc532ec64642d5997f23050a9776f663facdf.tar.xz
Merge branch 'master' into careminster-presence-refactor
Also prevent god takes from ending up in Lost and Found
Diffstat (limited to 'OpenSim/Services/AssetService')
-rw-r--r--OpenSim/Services/AssetService/AssetService.cs73
1 files changed, 40 insertions, 33 deletions
diff --git a/OpenSim/Services/AssetService/AssetService.cs b/OpenSim/Services/AssetService/AssetService.cs
index 3122382..81ef225 100644
--- a/OpenSim/Services/AssetService/AssetService.cs
+++ b/OpenSim/Services/AssetService/AssetService.cs
@@ -43,44 +43,51 @@ namespace OpenSim.Services.AssetService
43 LogManager.GetLogger( 43 LogManager.GetLogger(
44 MethodBase.GetCurrentMethod().DeclaringType); 44 MethodBase.GetCurrentMethod().DeclaringType);
45 45
46 protected static AssetService m_RootInstance;
47
46 public AssetService(IConfigSource config) : base(config) 48 public AssetService(IConfigSource config) : base(config)
47 { 49 {
48 MainConsole.Instance.Commands.AddCommand("kfs", false, 50 if (m_RootInstance == null)
49 "show digest",
50 "show digest <ID>",
51 "Show asset digest", HandleShowDigest);
52
53 MainConsole.Instance.Commands.AddCommand("kfs", false,
54 "delete asset",
55 "delete asset <ID>",
56 "Delete asset from database", HandleDeleteAsset);
57
58 if (m_AssetLoader != null)
59 { 51 {
60 IConfig assetConfig = config.Configs["AssetService"]; 52 m_RootInstance = this;
61 if (assetConfig == null)
62 throw new Exception("No AssetService configuration");
63 53
64 string loaderArgs = assetConfig.GetString("AssetLoaderArgs", 54 MainConsole.Instance.Commands.AddCommand("kfs", false,
65 String.Empty); 55 "show digest",
56 "show digest <ID>",
57 "Show asset digest", HandleShowDigest);
66 58
67 bool assetLoaderEnabled = assetConfig.GetBoolean("AssetLoaderEnabled", true); 59 MainConsole.Instance.Commands.AddCommand("kfs", false,
60 "delete asset",
61 "delete asset <ID>",
62 "Delete asset from database", HandleDeleteAsset);
68 63
69 if (assetLoaderEnabled) 64 if (m_AssetLoader != null)
70 { 65 {
71 m_log.InfoFormat("[ASSET]: Loading default asset set from {0}", loaderArgs); 66 IConfig assetConfig = config.Configs["AssetService"];
72 m_AssetLoader.ForEachDefaultXmlAsset(loaderArgs, 67 if (assetConfig == null)
73 delegate(AssetBase a) 68 throw new Exception("No AssetService configuration");
74 { 69
75 Store(a); 70 string loaderArgs = assetConfig.GetString("AssetLoaderArgs",
76 }); 71 String.Empty);
72
73 bool assetLoaderEnabled = assetConfig.GetBoolean("AssetLoaderEnabled", true);
74
75 if (assetLoaderEnabled)
76 {
77 m_log.InfoFormat("[ASSET]: Loading default asset set from {0}", loaderArgs);
78 m_AssetLoader.ForEachDefaultXmlAsset(loaderArgs,
79 delegate(AssetBase a)
80 {
81 Store(a);
82 });
83 }
84
85 m_log.Info("[ASSET SERVICE]: Local asset service enabled");
77 } 86 }
78
79 m_log.Info("[ASSET SERVICE]: Local asset service enabled");
80 } 87 }
81 } 88 }
82 89
83 public AssetBase Get(string id) 90 public virtual AssetBase Get(string id)
84 { 91 {
85 UUID assetID; 92 UUID assetID;
86 93
@@ -93,12 +100,12 @@ namespace OpenSim.Services.AssetService
93 return m_Database.GetAsset(assetID); 100 return m_Database.GetAsset(assetID);
94 } 101 }
95 102
96 public AssetBase GetCached(string id) 103 public virtual AssetBase GetCached(string id)
97 { 104 {
98 return Get(id); 105 return Get(id);
99 } 106 }
100 107
101 public AssetMetadata GetMetadata(string id) 108 public virtual AssetMetadata GetMetadata(string id)
102 { 109 {
103 UUID assetID; 110 UUID assetID;
104 111
@@ -112,7 +119,7 @@ namespace OpenSim.Services.AssetService
112 return null; 119 return null;
113 } 120 }
114 121
115 public byte[] GetData(string id) 122 public virtual byte[] GetData(string id)
116 { 123 {
117 UUID assetID; 124 UUID assetID;
118 125
@@ -123,7 +130,7 @@ namespace OpenSim.Services.AssetService
123 return asset.Data; 130 return asset.Data;
124 } 131 }
125 132
126 public bool Get(string id, Object sender, AssetRetrieved handler) 133 public virtual bool Get(string id, Object sender, AssetRetrieved handler)
127 { 134 {
128 //m_log.DebugFormat("[AssetService]: Get asset async {0}", id); 135 //m_log.DebugFormat("[AssetService]: Get asset async {0}", id);
129 136
@@ -141,7 +148,7 @@ namespace OpenSim.Services.AssetService
141 return true; 148 return true;
142 } 149 }
143 150
144 public string Store(AssetBase asset) 151 public virtual string Store(AssetBase asset)
145 { 152 {
146 //m_log.DebugFormat("[ASSET SERVICE]: Store asset {0} {1}", asset.Name, asset.ID); 153 //m_log.DebugFormat("[ASSET SERVICE]: Store asset {0} {1}", asset.Name, asset.ID);
147 if (!m_Database.StoreAsset(asset)) 154 if (!m_Database.StoreAsset(asset))
@@ -157,7 +164,7 @@ namespace OpenSim.Services.AssetService
157 return false; 164 return false;
158 } 165 }
159 166
160 public bool Delete(string id) 167 public virtual bool Delete(string id)
161 { 168 {
162 m_log.DebugFormat("[ASSET SERVICE]: Deleting asset {0}", id); 169 m_log.DebugFormat("[ASSET SERVICE]: Deleting asset {0}", id);
163 UUID assetID; 170 UUID assetID;