diff options
Diffstat (limited to 'OpenSim')
6 files changed, 59 insertions, 26 deletions
diff --git a/OpenSim/Framework/AssetBase.cs b/OpenSim/Framework/AssetBase.cs index 0551533..361a6fa 100644 --- a/OpenSim/Framework/AssetBase.cs +++ b/OpenSim/Framework/AssetBase.cs | |||
@@ -160,6 +160,8 @@ namespace OpenSim.Framework | |||
160 | public class AssetMetadata | 160 | public class AssetMetadata |
161 | { | 161 | { |
162 | private UUID m_fullid; | 162 | private UUID m_fullid; |
163 | // m_id added as a dirty hack to transition from FullID to ID | ||
164 | private string m_id; | ||
163 | private string m_name = String.Empty; | 165 | private string m_name = String.Empty; |
164 | private string m_description = String.Empty; | 166 | private string m_description = String.Empty; |
165 | private DateTime m_creation_date; | 167 | private DateTime m_creation_date; |
@@ -174,13 +176,25 @@ namespace OpenSim.Framework | |||
174 | public UUID FullID | 176 | public UUID FullID |
175 | { | 177 | { |
176 | get { return m_fullid; } | 178 | get { return m_fullid; } |
177 | set { m_fullid = value; } | 179 | set { m_fullid = value; m_id = m_fullid.ToString(); } |
178 | } | 180 | } |
179 | 181 | ||
180 | public string ID | 182 | public string ID |
181 | { | 183 | { |
182 | get { return m_fullid.ToString(); } | 184 | //get { return m_fullid.ToString(); } |
183 | set { m_fullid = new UUID(value); } | 185 | //set { m_fullid = new UUID(value); } |
186 | get { return m_id; } | ||
187 | set | ||
188 | { | ||
189 | UUID uuid = UUID.Zero; | ||
190 | if (UUID.TryParse(value, out uuid)) | ||
191 | { | ||
192 | m_fullid = uuid; | ||
193 | m_id = m_fullid.ToString(); | ||
194 | } | ||
195 | else | ||
196 | m_id = value; | ||
197 | } | ||
184 | } | 198 | } |
185 | 199 | ||
186 | public string Name | 200 | public string Name |
diff --git a/OpenSim/Region/CoreModules/ServiceConnectors/Asset/LocalAssetServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectors/Asset/LocalAssetServiceConnector.cs index 4e802ed..3750991 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectors/Asset/LocalAssetServiceConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectors/Asset/LocalAssetServiceConnector.cs | |||
@@ -146,7 +146,9 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Asset | |||
146 | 146 | ||
147 | public AssetBase Get(string id) | 147 | public AssetBase Get(string id) |
148 | { | 148 | { |
149 | AssetBase asset = m_Cache.Get(id); | 149 | AssetBase asset = null; |
150 | if (m_Cache != null) | ||
151 | asset = m_Cache.Get(id); | ||
150 | 152 | ||
151 | if (asset == null) | 153 | if (asset == null) |
152 | return m_AssetService.Get(id); | 154 | return m_AssetService.Get(id); |
@@ -155,15 +157,18 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Asset | |||
155 | 157 | ||
156 | public AssetMetadata GetMetadata(string id) | 158 | public AssetMetadata GetMetadata(string id) |
157 | { | 159 | { |
158 | AssetBase asset = m_Cache.Get(id); | 160 | AssetBase asset = null; |
161 | if (m_Cache != null) | ||
162 | asset = m_Cache.Get(id); | ||
159 | 163 | ||
160 | if (asset != null) | 164 | if (asset != null) |
161 | return asset.Metadata; | 165 | return asset.Metadata; |
162 | 166 | ||
163 | asset = m_AssetService.Get(id); | 167 | asset = m_AssetService.Get(id); |
164 | if (asset != null) | 168 | if (asset != null) |
165 | { | 169 | { |
166 | m_Cache.Cache(asset); | 170 | if (m_Cache != null) |
171 | m_Cache.Cache(asset); | ||
167 | return asset.Metadata; | 172 | return asset.Metadata; |
168 | } | 173 | } |
169 | 174 | ||
@@ -180,7 +185,8 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Asset | |||
180 | asset = m_AssetService.Get(id); | 185 | asset = m_AssetService.Get(id); |
181 | if (asset != null) | 186 | if (asset != null) |
182 | { | 187 | { |
183 | m_Cache.Cache(asset); | 188 | if (m_Cache != null) |
189 | m_Cache.Cache(asset); | ||
184 | return asset.Data; | 190 | return asset.Data; |
185 | } | 191 | } |
186 | 192 | ||
@@ -189,7 +195,9 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Asset | |||
189 | 195 | ||
190 | public bool Get(string id, Object sender, AssetRetrieved handler) | 196 | public bool Get(string id, Object sender, AssetRetrieved handler) |
191 | { | 197 | { |
192 | AssetBase asset = m_Cache.Get(id); | 198 | AssetBase asset = null; |
199 | if (m_Cache != null) | ||
200 | m_Cache.Get(id); | ||
193 | 201 | ||
194 | if (asset != null) | 202 | if (asset != null) |
195 | { | 203 | { |
@@ -199,7 +207,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Asset | |||
199 | 207 | ||
200 | return m_AssetService.Get(id, sender, delegate (string assetID, Object s, AssetBase a) | 208 | return m_AssetService.Get(id, sender, delegate (string assetID, Object s, AssetBase a) |
201 | { | 209 | { |
202 | if (a != null) | 210 | if ((a != null) && (m_Cache != null)) |
203 | m_Cache.Cache(a); | 211 | m_Cache.Cache(a); |
204 | handler(assetID, s, a); | 212 | handler(assetID, s, a); |
205 | }); | 213 | }); |
@@ -207,7 +215,8 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Asset | |||
207 | 215 | ||
208 | public string Store(AssetBase asset) | 216 | public string Store(AssetBase asset) |
209 | { | 217 | { |
210 | m_Cache.Cache(asset); | 218 | if (m_Cache != null) |
219 | m_Cache.Cache(asset); | ||
211 | if (asset.Temporary || asset.Local) | 220 | if (asset.Temporary || asset.Local) |
212 | return asset.ID; | 221 | return asset.ID; |
213 | return m_AssetService.Store(asset); | 222 | return m_AssetService.Store(asset); |
@@ -215,11 +224,14 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Asset | |||
215 | 224 | ||
216 | public bool UpdateContent(string id, byte[] data) | 225 | public bool UpdateContent(string id, byte[] data) |
217 | { | 226 | { |
218 | AssetBase asset = m_Cache.Get(id); | 227 | AssetBase asset = null; |
228 | if (m_Cache != null) | ||
229 | m_Cache.Get(id); | ||
219 | if (asset != null) | 230 | if (asset != null) |
220 | { | 231 | { |
221 | asset.Data = data; | 232 | asset.Data = data; |
222 | m_Cache.Cache(asset); | 233 | if (m_Cache != null) |
234 | m_Cache.Cache(asset); | ||
223 | } | 235 | } |
224 | 236 | ||
225 | return m_AssetService.UpdateContent(id, data); | 237 | return m_AssetService.UpdateContent(id, data); |
@@ -227,7 +239,8 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Asset | |||
227 | 239 | ||
228 | public bool Delete(string id) | 240 | public bool Delete(string id) |
229 | { | 241 | { |
230 | m_Cache.Expire(id); | 242 | if (m_Cache != null) |
243 | m_Cache.Expire(id); | ||
231 | 244 | ||
232 | return m_AssetService.Delete(id); | 245 | return m_AssetService.Delete(id); |
233 | } | 246 | } |
diff --git a/OpenSim/Region/Framework/Scenes/Hypergrid/HGAssetMapper.cs b/OpenSim/Region/Framework/Scenes/Hypergrid/HGAssetMapper.cs index 1750bbf..720a09b 100644 --- a/OpenSim/Region/Framework/Scenes/Hypergrid/HGAssetMapper.cs +++ b/OpenSim/Region/Framework/Scenes/Hypergrid/HGAssetMapper.cs | |||
@@ -46,12 +46,6 @@ namespace OpenSim.Region.Framework.Scenes.Hypergrid | |||
46 | #region Fields | 46 | #region Fields |
47 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 47 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
48 | 48 | ||
49 | // This maps between asset server URLs and asset server clients | ||
50 | private Dictionary<string, GridAssetClient> m_assetServers = new Dictionary<string, GridAssetClient>(); | ||
51 | |||
52 | // This maps between asset UUIDs and asset servers | ||
53 | private Dictionary<UUID, GridAssetClient> m_assetMap = new Dictionary<UUID, GridAssetClient>(); | ||
54 | |||
55 | // This maps between inventory server urls and inventory server clients | 49 | // This maps between inventory server urls and inventory server clients |
56 | private Dictionary<string, InventoryClient> m_inventoryServers = new Dictionary<string, InventoryClient>(); | 50 | private Dictionary<string, InventoryClient> m_inventoryServers = new Dictionary<string, InventoryClient>(); |
57 | 51 | ||
@@ -103,11 +97,6 @@ namespace OpenSim.Region.Framework.Scenes.Hypergrid | |||
103 | return false; | 97 | return false; |
104 | } | 98 | } |
105 | 99 | ||
106 | private bool IsInAssetMap(UUID uuid) | ||
107 | { | ||
108 | return m_assetMap.ContainsKey(uuid); | ||
109 | } | ||
110 | |||
111 | private AssetBase FetchAsset(string url, UUID assetID, bool isTexture) | 100 | private AssetBase FetchAsset(string url, UUID assetID, bool isTexture) |
112 | { | 101 | { |
113 | AssetBase asset = m_scene.AssetService.Get(url + "/" + assetID.ToString()); | 102 | AssetBase asset = m_scene.AssetService.Get(url + "/" + assetID.ToString()); |
diff --git a/OpenSim/Server/Handlers/Asset/AssetServerConnector.cs b/OpenSim/Server/Handlers/Asset/AssetServerConnector.cs index 686e6dd..39780e1 100644 --- a/OpenSim/Server/Handlers/Asset/AssetServerConnector.cs +++ b/OpenSim/Server/Handlers/Asset/AssetServerConnector.cs | |||
@@ -55,6 +55,7 @@ namespace OpenSim.Server.Handlers.Asset | |||
55 | m_AssetService = | 55 | m_AssetService = |
56 | ServerUtils.LoadPlugin<IAssetService>(assetService, args); | 56 | ServerUtils.LoadPlugin<IAssetService>(assetService, args); |
57 | 57 | ||
58 | //System.Console.WriteLine("XXXXXXXXXXXXXXXXXXX m_AssetSetvice == null? " + ((m_AssetService == null) ? "yes" : "no")); | ||
58 | server.AddStreamHandler(new AssetServerGetHandler(m_AssetService)); | 59 | server.AddStreamHandler(new AssetServerGetHandler(m_AssetService)); |
59 | server.AddStreamHandler(new AssetServerPostHandler(m_AssetService)); | 60 | server.AddStreamHandler(new AssetServerPostHandler(m_AssetService)); |
60 | server.AddStreamHandler(new AssetServerDeleteHandler(m_AssetService)); | 61 | server.AddStreamHandler(new AssetServerDeleteHandler(m_AssetService)); |
diff --git a/OpenSim/SimulatorServices/RegionAssetService.cs b/OpenSim/SimulatorServices/RegionAssetService.cs index 06f42d3..a9080f7 100644 --- a/OpenSim/SimulatorServices/RegionAssetService.cs +++ b/OpenSim/SimulatorServices/RegionAssetService.cs | |||
@@ -37,7 +37,7 @@ using OpenSim.Region.Framework.Interfaces; | |||
37 | using OpenSim.Server.Base; | 37 | using OpenSim.Server.Base; |
38 | using OpenSim.Server.Handlers.Base; | 38 | using OpenSim.Server.Handlers.Base; |
39 | 39 | ||
40 | namespace OpenSim.Region.SimulatorServices | 40 | namespace OpenSim.SimulatorServices |
41 | { | 41 | { |
42 | public class RegionAssetService : ISharedRegionModule | 42 | public class RegionAssetService : ISharedRegionModule |
43 | { | 43 | { |
@@ -55,6 +55,8 @@ namespace OpenSim.Region.SimulatorServices | |||
55 | enabled = ((!config.Configs["Startup"].GetBoolean("gridmode", true)) && | 55 | enabled = ((!config.Configs["Startup"].GetBoolean("gridmode", true)) && |
56 | config.Configs["Startup"].GetBoolean("hypergrid", true)) || | 56 | config.Configs["Startup"].GetBoolean("hypergrid", true)) || |
57 | ((config.Configs["MXP"] != null) && config.Configs["MXP"].GetBoolean("Enabled", true)); | 57 | ((config.Configs["MXP"] != null) && config.Configs["MXP"].GetBoolean("Enabled", true)); |
58 | m_log.DebugFormat("[RegionAssetService]: enabled? {0}", enabled); | ||
59 | m_Config = config; | ||
58 | } | 60 | } |
59 | 61 | ||
60 | public void PostInitialise() | 62 | public void PostInitialise() |
diff --git a/OpenSim/SimulatorServices/Resources/SimulatorServices.addin.xml b/OpenSim/SimulatorServices/Resources/SimulatorServices.addin.xml new file mode 100644 index 0000000..accc467 --- /dev/null +++ b/OpenSim/SimulatorServices/Resources/SimulatorServices.addin.xml | |||
@@ -0,0 +1,14 @@ | |||
1 | <Addin id="OpenSim.SimulatorServices" version="0.2"> | ||
2 | <Runtime> | ||
3 | <Import assembly="OpenSim.SimulatorServices.dll"/> | ||
4 | </Runtime> | ||
5 | |||
6 | <Dependencies> | ||
7 | <Addin id="OpenSim" version="0.5" /> | ||
8 | </Dependencies> | ||
9 | |||
10 | <Extension path = "/OpenSim/RegionModules"> | ||
11 | <RegionModule id="RegionAssetService" type="OpenSim.SimulatorServices.RegionAssetService" /> | ||
12 | </Extension> | ||
13 | |||
14 | </Addin> | ||