Cleaning up a few HG things. HG Posts may now work in grids, but if the home grid is a standalone, this still doesn't work -- something wrong with RegionAssetService's DB connection.
parent
9de2436c1e
commit
da170cde46
|
@ -160,6 +160,8 @@ namespace OpenSim.Framework
|
||||||
public class AssetMetadata
|
public class AssetMetadata
|
||||||
{
|
{
|
||||||
private UUID m_fullid;
|
private UUID m_fullid;
|
||||||
|
// m_id added as a dirty hack to transition from FullID to ID
|
||||||
|
private string m_id;
|
||||||
private string m_name = String.Empty;
|
private string m_name = String.Empty;
|
||||||
private string m_description = String.Empty;
|
private string m_description = String.Empty;
|
||||||
private DateTime m_creation_date;
|
private DateTime m_creation_date;
|
||||||
|
@ -174,13 +176,25 @@ namespace OpenSim.Framework
|
||||||
public UUID FullID
|
public UUID FullID
|
||||||
{
|
{
|
||||||
get { return m_fullid; }
|
get { return m_fullid; }
|
||||||
set { m_fullid = value; }
|
set { m_fullid = value; m_id = m_fullid.ToString(); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public string ID
|
public string ID
|
||||||
{
|
{
|
||||||
get { return m_fullid.ToString(); }
|
//get { return m_fullid.ToString(); }
|
||||||
set { m_fullid = new UUID(value); }
|
//set { m_fullid = new UUID(value); }
|
||||||
|
get { return m_id; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
UUID uuid = UUID.Zero;
|
||||||
|
if (UUID.TryParse(value, out uuid))
|
||||||
|
{
|
||||||
|
m_fullid = uuid;
|
||||||
|
m_id = m_fullid.ToString();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
m_id = value;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Name
|
public string Name
|
||||||
|
|
|
@ -146,7 +146,9 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Asset
|
||||||
|
|
||||||
public AssetBase Get(string id)
|
public AssetBase Get(string id)
|
||||||
{
|
{
|
||||||
AssetBase asset = m_Cache.Get(id);
|
AssetBase asset = null;
|
||||||
|
if (m_Cache != null)
|
||||||
|
asset = m_Cache.Get(id);
|
||||||
|
|
||||||
if (asset == null)
|
if (asset == null)
|
||||||
return m_AssetService.Get(id);
|
return m_AssetService.Get(id);
|
||||||
|
@ -155,15 +157,18 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Asset
|
||||||
|
|
||||||
public AssetMetadata GetMetadata(string id)
|
public AssetMetadata GetMetadata(string id)
|
||||||
{
|
{
|
||||||
AssetBase asset = m_Cache.Get(id);
|
AssetBase asset = null;
|
||||||
|
if (m_Cache != null)
|
||||||
|
asset = m_Cache.Get(id);
|
||||||
|
|
||||||
if (asset != null)
|
if (asset != null)
|
||||||
return asset.Metadata;
|
return asset.Metadata;
|
||||||
|
|
||||||
asset = m_AssetService.Get(id);
|
asset = m_AssetService.Get(id);
|
||||||
if (asset != null)
|
if (asset != null)
|
||||||
{
|
{
|
||||||
m_Cache.Cache(asset);
|
if (m_Cache != null)
|
||||||
|
m_Cache.Cache(asset);
|
||||||
return asset.Metadata;
|
return asset.Metadata;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -180,7 +185,8 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Asset
|
||||||
asset = m_AssetService.Get(id);
|
asset = m_AssetService.Get(id);
|
||||||
if (asset != null)
|
if (asset != null)
|
||||||
{
|
{
|
||||||
m_Cache.Cache(asset);
|
if (m_Cache != null)
|
||||||
|
m_Cache.Cache(asset);
|
||||||
return asset.Data;
|
return asset.Data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -189,7 +195,9 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Asset
|
||||||
|
|
||||||
public bool Get(string id, Object sender, AssetRetrieved handler)
|
public bool Get(string id, Object sender, AssetRetrieved handler)
|
||||||
{
|
{
|
||||||
AssetBase asset = m_Cache.Get(id);
|
AssetBase asset = null;
|
||||||
|
if (m_Cache != null)
|
||||||
|
m_Cache.Get(id);
|
||||||
|
|
||||||
if (asset != null)
|
if (asset != null)
|
||||||
{
|
{
|
||||||
|
@ -199,7 +207,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Asset
|
||||||
|
|
||||||
return m_AssetService.Get(id, sender, delegate (string assetID, Object s, AssetBase a)
|
return m_AssetService.Get(id, sender, delegate (string assetID, Object s, AssetBase a)
|
||||||
{
|
{
|
||||||
if (a != null)
|
if ((a != null) && (m_Cache != null))
|
||||||
m_Cache.Cache(a);
|
m_Cache.Cache(a);
|
||||||
handler(assetID, s, a);
|
handler(assetID, s, a);
|
||||||
});
|
});
|
||||||
|
@ -207,7 +215,8 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Asset
|
||||||
|
|
||||||
public string Store(AssetBase asset)
|
public string Store(AssetBase asset)
|
||||||
{
|
{
|
||||||
m_Cache.Cache(asset);
|
if (m_Cache != null)
|
||||||
|
m_Cache.Cache(asset);
|
||||||
if (asset.Temporary || asset.Local)
|
if (asset.Temporary || asset.Local)
|
||||||
return asset.ID;
|
return asset.ID;
|
||||||
return m_AssetService.Store(asset);
|
return m_AssetService.Store(asset);
|
||||||
|
@ -215,11 +224,14 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Asset
|
||||||
|
|
||||||
public bool UpdateContent(string id, byte[] data)
|
public bool UpdateContent(string id, byte[] data)
|
||||||
{
|
{
|
||||||
AssetBase asset = m_Cache.Get(id);
|
AssetBase asset = null;
|
||||||
|
if (m_Cache != null)
|
||||||
|
m_Cache.Get(id);
|
||||||
if (asset != null)
|
if (asset != null)
|
||||||
{
|
{
|
||||||
asset.Data = data;
|
asset.Data = data;
|
||||||
m_Cache.Cache(asset);
|
if (m_Cache != null)
|
||||||
|
m_Cache.Cache(asset);
|
||||||
}
|
}
|
||||||
|
|
||||||
return m_AssetService.UpdateContent(id, data);
|
return m_AssetService.UpdateContent(id, data);
|
||||||
|
@ -227,7 +239,8 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Asset
|
||||||
|
|
||||||
public bool Delete(string id)
|
public bool Delete(string id)
|
||||||
{
|
{
|
||||||
m_Cache.Expire(id);
|
if (m_Cache != null)
|
||||||
|
m_Cache.Expire(id);
|
||||||
|
|
||||||
return m_AssetService.Delete(id);
|
return m_AssetService.Delete(id);
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,12 +46,6 @@ namespace OpenSim.Region.Framework.Scenes.Hypergrid
|
||||||
#region Fields
|
#region Fields
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
||||||
// This maps between asset server URLs and asset server clients
|
|
||||||
private Dictionary<string, GridAssetClient> m_assetServers = new Dictionary<string, GridAssetClient>();
|
|
||||||
|
|
||||||
// This maps between asset UUIDs and asset servers
|
|
||||||
private Dictionary<UUID, GridAssetClient> m_assetMap = new Dictionary<UUID, GridAssetClient>();
|
|
||||||
|
|
||||||
// This maps between inventory server urls and inventory server clients
|
// This maps between inventory server urls and inventory server clients
|
||||||
private Dictionary<string, InventoryClient> m_inventoryServers = new Dictionary<string, InventoryClient>();
|
private Dictionary<string, InventoryClient> m_inventoryServers = new Dictionary<string, InventoryClient>();
|
||||||
|
|
||||||
|
@ -103,11 +97,6 @@ namespace OpenSim.Region.Framework.Scenes.Hypergrid
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool IsInAssetMap(UUID uuid)
|
|
||||||
{
|
|
||||||
return m_assetMap.ContainsKey(uuid);
|
|
||||||
}
|
|
||||||
|
|
||||||
private AssetBase FetchAsset(string url, UUID assetID, bool isTexture)
|
private AssetBase FetchAsset(string url, UUID assetID, bool isTexture)
|
||||||
{
|
{
|
||||||
AssetBase asset = m_scene.AssetService.Get(url + "/" + assetID.ToString());
|
AssetBase asset = m_scene.AssetService.Get(url + "/" + assetID.ToString());
|
||||||
|
|
|
@ -55,6 +55,7 @@ namespace OpenSim.Server.Handlers.Asset
|
||||||
m_AssetService =
|
m_AssetService =
|
||||||
ServerUtils.LoadPlugin<IAssetService>(assetService, args);
|
ServerUtils.LoadPlugin<IAssetService>(assetService, args);
|
||||||
|
|
||||||
|
//System.Console.WriteLine("XXXXXXXXXXXXXXXXXXX m_AssetSetvice == null? " + ((m_AssetService == null) ? "yes" : "no"));
|
||||||
server.AddStreamHandler(new AssetServerGetHandler(m_AssetService));
|
server.AddStreamHandler(new AssetServerGetHandler(m_AssetService));
|
||||||
server.AddStreamHandler(new AssetServerPostHandler(m_AssetService));
|
server.AddStreamHandler(new AssetServerPostHandler(m_AssetService));
|
||||||
server.AddStreamHandler(new AssetServerDeleteHandler(m_AssetService));
|
server.AddStreamHandler(new AssetServerDeleteHandler(m_AssetService));
|
||||||
|
|
|
@ -37,7 +37,7 @@ using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Server.Base;
|
using OpenSim.Server.Base;
|
||||||
using OpenSim.Server.Handlers.Base;
|
using OpenSim.Server.Handlers.Base;
|
||||||
|
|
||||||
namespace OpenSim.Region.SimulatorServices
|
namespace OpenSim.SimulatorServices
|
||||||
{
|
{
|
||||||
public class RegionAssetService : ISharedRegionModule
|
public class RegionAssetService : ISharedRegionModule
|
||||||
{
|
{
|
||||||
|
@ -55,6 +55,8 @@ namespace OpenSim.Region.SimulatorServices
|
||||||
enabled = ((!config.Configs["Startup"].GetBoolean("gridmode", true)) &&
|
enabled = ((!config.Configs["Startup"].GetBoolean("gridmode", true)) &&
|
||||||
config.Configs["Startup"].GetBoolean("hypergrid", true)) ||
|
config.Configs["Startup"].GetBoolean("hypergrid", true)) ||
|
||||||
((config.Configs["MXP"] != null) && config.Configs["MXP"].GetBoolean("Enabled", true));
|
((config.Configs["MXP"] != null) && config.Configs["MXP"].GetBoolean("Enabled", true));
|
||||||
|
m_log.DebugFormat("[RegionAssetService]: enabled? {0}", enabled);
|
||||||
|
m_Config = config;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PostInitialise()
|
public void PostInitialise()
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
<Addin id="OpenSim.SimulatorServices" version="0.2">
|
||||||
|
<Runtime>
|
||||||
|
<Import assembly="OpenSim.SimulatorServices.dll"/>
|
||||||
|
</Runtime>
|
||||||
|
|
||||||
|
<Dependencies>
|
||||||
|
<Addin id="OpenSim" version="0.5" />
|
||||||
|
</Dependencies>
|
||||||
|
|
||||||
|
<Extension path = "/OpenSim/RegionModules">
|
||||||
|
<RegionModule id="RegionAssetService" type="OpenSim.SimulatorServices.RegionAssetService" />
|
||||||
|
</Extension>
|
||||||
|
|
||||||
|
</Addin>
|
Loading…
Reference in New Issue