Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim

arthursv
Diva Canto 2009-08-19 17:36:34 -07:00
commit a3db2936f7
24 changed files with 116 additions and 165 deletions

View File

@ -36,15 +36,9 @@ namespace OpenSim.Data
{ {
public abstract class AssetDataBase : IAssetDataPlugin public abstract class AssetDataBase : IAssetDataPlugin
{ {
public virtual AssetBase FetchAsset(UUID uuid) public abstract AssetBase GetAsset(UUID uuid);
{
return FetchStoredAsset(uuid);
}
protected abstract AssetBase FetchStoredAsset(UUID uuid);
public abstract void CreateAsset(AssetBase asset); public abstract void StoreAsset(AssetBase asset);
public abstract void UpdateAsset(AssetBase asset);
public abstract bool ExistsAsset(UUID uuid); public abstract bool ExistsAsset(UUID uuid);
public abstract List<AssetMetadata> FetchAssetMetadataSet(int start, int count); public abstract List<AssetMetadata> FetchAssetMetadataSet(int start, int count);

View File

@ -38,9 +38,8 @@ namespace OpenSim.Data
public abstract RegionProfileData[] GetProfilesInRange(uint Xmin, uint Ymin, uint Xmax, uint Ymax); public abstract RegionProfileData[] GetProfilesInRange(uint Xmin, uint Ymin, uint Xmax, uint Ymax);
public abstract List<RegionProfileData> GetRegionsByName(string namePrefix, uint maxNum); public abstract List<RegionProfileData> GetRegionsByName(string namePrefix, uint maxNum);
public abstract bool AuthenticateSim(UUID UUID, ulong regionHandle, string simrecvkey); public abstract bool AuthenticateSim(UUID UUID, ulong regionHandle, string simrecvkey);
public abstract DataResponse AddProfile(RegionProfileData profile); public abstract DataResponse StoreProfile(RegionProfileData profile);
public abstract ReservationData GetReservationAtPoint(uint x, uint y); public abstract ReservationData GetReservationAtPoint(uint x, uint y);
public abstract DataResponse UpdateProfile(RegionProfileData profile);
public abstract DataResponse DeleteProfile(string uuid); public abstract DataResponse DeleteProfile(string uuid);
public abstract void Initialise(); public abstract void Initialise();

View File

@ -33,9 +33,8 @@ namespace OpenSim.Data
{ {
public interface IAssetDataPlugin : IPlugin public interface IAssetDataPlugin : IPlugin
{ {
AssetBase FetchAsset(UUID uuid); AssetBase GetAsset(UUID uuid);
void CreateAsset(AssetBase asset); void StoreAsset(AssetBase asset);
void UpdateAsset(AssetBase asset);
bool ExistsAsset(UUID uuid); bool ExistsAsset(UUID uuid);
List<AssetMetadata> FetchAssetMetadataSet(int start, int count); List<AssetMetadata> FetchAssetMetadataSet(int start, int count);
void Initialise(string connect); void Initialise(string connect);

View File

@ -99,18 +99,11 @@ namespace OpenSim.Data
bool AuthenticateSim(UUID UUID, ulong regionHandle, string simrecvkey); bool AuthenticateSim(UUID UUID, ulong regionHandle, string simrecvkey);
/// <summary> /// <summary>
/// Adds a new profile to the database /// Adds or updates a profile in the database
/// </summary> /// </summary>
/// <param name="profile">The profile to add</param> /// <param name="profile">The profile to add</param>
/// <returns>RESPONSE_OK if successful, error if not.</returns> /// <returns>RESPONSE_OK if successful, error if not.</returns>
DataResponse AddProfile(RegionProfileData profile); DataResponse StoreProfile(RegionProfileData profile);
/// <summary>
/// Updates a profile in the database
/// </summary>
/// <param name="profile"></param>
/// <returns></returns>
DataResponse UpdateProfile(RegionProfileData profile);
/// <summary> /// <summary>
/// Remove a profile from the database /// Remove a profile from the database

View File

@ -122,7 +122,7 @@ namespace OpenSim.Data.MSSQL
/// </summary> /// </summary>
/// <param name="assetID">the asset UUID</param> /// <param name="assetID">the asset UUID</param>
/// <returns></returns> /// <returns></returns>
override protected AssetBase FetchStoredAsset(UUID assetID) override public AssetBase GetAsset(UUID assetID)
{ {
string sql = "SELECT * FROM assets WHERE id = @id"; string sql = "SELECT * FROM assets WHERE id = @id";
using (AutoClosingSqlCommand command = m_database.Query(sql)) using (AutoClosingSqlCommand command = m_database.Query(sql))
@ -152,7 +152,16 @@ namespace OpenSim.Data.MSSQL
/// Create asset in m_database /// Create asset in m_database
/// </summary> /// </summary>
/// <param name="asset">the asset</param> /// <param name="asset">the asset</param>
override public void CreateAsset(AssetBase asset) override public void StoreAsset(AssetBase asset)
{
if (ExistsAsset(asset.FullID))
UpdateAsset(asset);
else
InsertAsset(asset);
}
private void InsertAsset(AssetBase asset)
{ {
if (ExistsAsset(asset.FullID)) if (ExistsAsset(asset.FullID))
{ {
@ -208,7 +217,7 @@ namespace OpenSim.Data.MSSQL
/// Update asset in m_database /// Update asset in m_database
/// </summary> /// </summary>
/// <param name="asset">the asset</param> /// <param name="asset">the asset</param>
override public void UpdateAsset(AssetBase asset) private void UpdateAsset(AssetBase asset)
{ {
string sql = @"UPDATE assets set id = @id, name = @name, description = @description, assetType = @assetType, string sql = @"UPDATE assets set id = @id, name = @name, description = @description, assetType = @assetType,
local = @local, temporary = @temporary, data = @data local = @local, temporary = @temporary, data = @data
@ -250,7 +259,7 @@ namespace OpenSim.Data.MSSQL
} }
} }
// Commented out since currently unused - this probably should be called in FetchAsset() // Commented out since currently unused - this probably should be called in GetAsset()
// private void UpdateAccessTime(AssetBase asset) // private void UpdateAccessTime(AssetBase asset)
// { // {
// using (AutoClosingSqlCommand cmd = m_database.Query("UPDATE assets SET access_time = @access_time WHERE id=@id")) // using (AutoClosingSqlCommand cmd = m_database.Query("UPDATE assets SET access_time = @access_time WHERE id=@id"))
@ -276,7 +285,7 @@ namespace OpenSim.Data.MSSQL
/// <returns>true if exist.</returns> /// <returns>true if exist.</returns>
override public bool ExistsAsset(UUID uuid) override public bool ExistsAsset(UUID uuid)
{ {
if (FetchAsset(uuid) != null) if (GetAsset(uuid) != null)
{ {
return true; return true;
} }

View File

@ -272,26 +272,23 @@ namespace OpenSim.Data.MSSQL
/// </summary> /// </summary>
/// <param name="profile">The profile to add</param> /// <param name="profile">The profile to add</param>
/// <returns>A dataresponse enum indicating success</returns> /// <returns>A dataresponse enum indicating success</returns>
override public DataResponse AddProfile(RegionProfileData profile) override public DataResponse StoreProfile(RegionProfileData profile)
{ {
if (InsertRegionRow(profile)) if (GetProfileByUUID(profile.UUID) == null)
{ {
return DataResponse.RESPONSE_OK; if (InsertRegionRow(profile))
{
return DataResponse.RESPONSE_OK;
}
}
else
{
if (UpdateRegionRow(profile))
{
return DataResponse.RESPONSE_OK;
}
} }
return DataResponse.RESPONSE_ERROR;
}
/// <summary>
/// Update the specified region in the database
/// </summary>
/// <param name="profile">The profile to update</param>
/// <returns>A dataresponse enum indicating success</returns>
override public DataResponse UpdateProfile(RegionProfileData profile)
{
if (UpdateRegionRow(profile))
{
return DataResponse.RESPONSE_OK;
}
return DataResponse.RESPONSE_ERROR; return DataResponse.RESPONSE_ERROR;
} }

View File

@ -135,7 +135,7 @@ namespace OpenSim.Data.MySQL
/// <param name="assetID">Asset UUID to fetch</param> /// <param name="assetID">Asset UUID to fetch</param>
/// <returns>Return the asset</returns> /// <returns>Return the asset</returns>
/// <remarks>On failure : throw an exception and attempt to reconnect to database</remarks> /// <remarks>On failure : throw an exception and attempt to reconnect to database</remarks>
override protected AssetBase FetchStoredAsset(UUID assetID) override public AssetBase GetAsset(UUID assetID)
{ {
AssetBase asset = null; AssetBase asset = null;
lock (_dbConnection) lock (_dbConnection)
@ -192,7 +192,7 @@ namespace OpenSim.Data.MySQL
/// </summary> /// </summary>
/// <param name="asset">Asset UUID to create</param> /// <param name="asset">Asset UUID to create</param>
/// <remarks>On failure : Throw an exception and attempt to reconnect to database</remarks> /// <remarks>On failure : Throw an exception and attempt to reconnect to database</remarks>
override public void CreateAsset(AssetBase asset) override public void StoreAsset(AssetBase asset)
{ {
lock (_dbConnection) lock (_dbConnection)
{ {
@ -284,15 +284,6 @@ namespace OpenSim.Data.MySQL
} }
/// <summary>
/// Update a asset in database, see <see cref="CreateAsset"/>
/// </summary>
/// <param name="asset">Asset UUID to update</param>
override public void UpdateAsset(AssetBase asset)
{
CreateAsset(asset);
}
/// <summary> /// <summary>
/// check if the asset UUID exist in database /// check if the asset UUID exist in database
/// </summary> /// </summary>

View File

@ -391,7 +391,7 @@ namespace OpenSim.Data.MySQL
/// </summary> /// </summary>
/// <param name="profile">The profile to add</param> /// <param name="profile">The profile to add</param>
/// <returns>Successful?</returns> /// <returns>Successful?</returns>
override public DataResponse AddProfile(RegionProfileData profile) override public DataResponse StoreProfile(RegionProfileData profile)
{ {
MySQLSuperManager dbm = GetLockedConnection(); MySQLSuperManager dbm = GetLockedConnection();
try { try {
@ -407,17 +407,6 @@ namespace OpenSim.Data.MySQL
} }
} }
/// <summary>
/// Update a sim profile
/// </summary>
/// <param name="profile">The profile to update</param>
/// <returns>Sucessful?</returns>
/// <remarks>Same as AddProfile</remarks>
override public DataResponse UpdateProfile(RegionProfileData profile)
{
return AddProfile(profile);
}
/// <summary> /// <summary>
/// Deletes a sim profile from the database /// Deletes a sim profile from the database
/// </summary> /// </summary>

View File

@ -65,30 +65,24 @@ namespace OpenSim.Data.NHibernate
} }
override protected AssetBase FetchStoredAsset(UUID uuid) override public AssetBase GetAsset(UUID uuid)
{ {
return (AssetBase)manager.Get(typeof(AssetBase), uuid); return (AssetBase)manager.Get(typeof(AssetBase), uuid);
} }
private void Save(AssetBase asset) override public void StoreAsset(AssetBase asset)
{ {
AssetBase temp = (AssetBase)manager.Get(typeof(AssetBase), asset.FullID); AssetBase temp = (AssetBase)manager.Get(typeof(AssetBase), asset.FullID);
if (temp == null) if (temp == null)
{ {
m_log.InfoFormat("[NHIBERNATE] inserting asset {0}", asset.FullID);
manager.Insert(asset); manager.Insert(asset);
} }
} else
{
override public void CreateAsset(AssetBase asset) m_log.InfoFormat("[NHIBERNATE] updating asset {0}", asset.FullID);
{ manager.Update(asset);
m_log.InfoFormat("[NHIBERNATE] inserting asset {0}", asset.FullID); }
Save(asset);
}
override public void UpdateAsset(AssetBase asset)
{
m_log.InfoFormat("[NHIBERNATE] updating asset {0}", asset.FullID);
manager.Update(asset);
} }
// private void LogAssetLoad(AssetBase asset) // private void LogAssetLoad(AssetBase asset)
@ -107,7 +101,7 @@ namespace OpenSim.Data.NHibernate
override public bool ExistsAsset(UUID uuid) override public bool ExistsAsset(UUID uuid)
{ {
m_log.InfoFormat("[NHIBERNATE] ExistsAsset: {0}", uuid); m_log.InfoFormat("[NHIBERNATE] ExistsAsset: {0}", uuid);
return (FetchAsset(uuid) != null); return (GetAsset(uuid) != null);
} }
/// <summary> /// <summary>

View File

@ -117,7 +117,7 @@ namespace OpenSim.Data.NHibernate
throw new NotImplementedException(); throw new NotImplementedException();
} }
public override DataResponse AddProfile(RegionProfileData profile) public override DataResponse StoreProfile(RegionProfileData profile)
{ {
if (manager.Get(typeof(RegionProfileData), profile.Uuid) == null) if (manager.Get(typeof(RegionProfileData), profile.Uuid) == null)
{ {
@ -125,22 +125,10 @@ namespace OpenSim.Data.NHibernate
return DataResponse.RESPONSE_OK; return DataResponse.RESPONSE_OK;
} }
else else
{
return DataResponse.RESPONSE_ERROR;
}
}
public override DataResponse UpdateProfile(RegionProfileData profile)
{
if (manager.Get(typeof(RegionProfileData), profile.Uuid) != null)
{ {
manager.Update(profile); manager.Update(profile);
return DataResponse.RESPONSE_OK; return DataResponse.RESPONSE_OK;
} }
else
{
return DataResponse.RESPONSE_ERROR;
}
} }
public override DataResponse DeleteProfile(string uuid) public override DataResponse DeleteProfile(string uuid)

View File

@ -90,7 +90,7 @@ namespace OpenSim.Data.SQLite
/// </summary> /// </summary>
/// <param name="uuid">UUID of ... ?</param> /// <param name="uuid">UUID of ... ?</param>
/// <returns>Asset base</returns> /// <returns>Asset base</returns>
override protected AssetBase FetchStoredAsset(UUID uuid) override public AssetBase GetAsset(UUID uuid)
{ {
lock (this) lock (this)
{ {
@ -119,12 +119,28 @@ namespace OpenSim.Data.SQLite
/// Create an asset /// Create an asset
/// </summary> /// </summary>
/// <param name="asset">Asset Base</param> /// <param name="asset">Asset Base</param>
override public void CreateAsset(AssetBase asset) override public void StoreAsset(AssetBase asset)
{ {
//m_log.Info("[ASSET DB]: Creating Asset " + asset.FullID.ToString()); //m_log.Info("[ASSET DB]: Creating Asset " + asset.FullID.ToString());
if (ExistsAsset(asset.FullID)) if (ExistsAsset(asset.FullID))
{ {
//m_log.Info("[ASSET DB]: Asset exists already, ignoring."); LogAssetLoad(asset);
lock (this)
{
using (SqliteCommand cmd = new SqliteCommand(UpdateAssetSQL, m_conn))
{
cmd.Parameters.Add(new SqliteParameter(":UUID", asset.FullID.ToString()));
cmd.Parameters.Add(new SqliteParameter(":Name", asset.Name));
cmd.Parameters.Add(new SqliteParameter(":Description", asset.Description));
cmd.Parameters.Add(new SqliteParameter(":Type", asset.Type));
cmd.Parameters.Add(new SqliteParameter(":Local", asset.Local));
cmd.Parameters.Add(new SqliteParameter(":Temporary", asset.Temporary));
cmd.Parameters.Add(new SqliteParameter(":Data", asset.Data));
cmd.ExecuteNonQuery();
}
}
} }
else else
{ {
@ -146,31 +162,6 @@ namespace OpenSim.Data.SQLite
} }
} }
/// <summary>
/// Update an asset
/// </summary>
/// <param name="asset"></param>
override public void UpdateAsset(AssetBase asset)
{
LogAssetLoad(asset);
lock (this)
{
using (SqliteCommand cmd = new SqliteCommand(UpdateAssetSQL, m_conn))
{
cmd.Parameters.Add(new SqliteParameter(":UUID", asset.FullID.ToString()));
cmd.Parameters.Add(new SqliteParameter(":Name", asset.Name));
cmd.Parameters.Add(new SqliteParameter(":Description", asset.Description));
cmd.Parameters.Add(new SqliteParameter(":Type", asset.Type));
cmd.Parameters.Add(new SqliteParameter(":Local", asset.Local));
cmd.Parameters.Add(new SqliteParameter(":Temporary", asset.Temporary));
cmd.Parameters.Add(new SqliteParameter(":Data", asset.Data));
cmd.ExecuteNonQuery();
}
}
}
/// <summary> /// <summary>
/// Some... logging functionnality /// Some... logging functionnality
/// </summary> /// </summary>

View File

@ -203,7 +203,7 @@ namespace OpenSim.Data.SQLite
/// </summary> /// </summary>
/// <param name="profile">The profile to add</param> /// <param name="profile">The profile to add</param>
/// <returns>A dataresponse enum indicating success</returns> /// <returns>A dataresponse enum indicating success</returns>
override public DataResponse AddProfile(RegionProfileData profile) override public DataResponse StoreProfile(RegionProfileData profile)
{ {
if (database.insertRow(profile)) if (database.insertRow(profile))
{ {
@ -215,17 +215,11 @@ namespace OpenSim.Data.SQLite
} }
} }
override public DataResponse UpdateProfile(RegionProfileData profile) /// <summary>
{
return AddProfile(profile);
}
/// <summary>
/// Deletes a sim profile from the database /// Deletes a sim profile from the database
/// </summary> /// </summary>
/// <param name="uuid">the sim UUID</param> /// <param name="uuid">the sim UUID</param>
/// <returns>Successful?</returns> /// <returns>Successful?</returns>
//public DataResponse DeleteProfile(RegionProfileData profile)
override public DataResponse DeleteProfile(string uuid) override public DataResponse DeleteProfile(string uuid)
{ {
Dictionary<string, string> param = new Dictionary<string, string>(); Dictionary<string, string> param = new Dictionary<string, string>();

View File

@ -84,34 +84,34 @@ namespace OpenSim.Data.Tests
scrambler.Scramble(a2); scrambler.Scramble(a2);
scrambler.Scramble(a3); scrambler.Scramble(a3);
db.CreateAsset(a1); db.StoreAsset(a1);
db.CreateAsset(a2); db.StoreAsset(a2);
db.CreateAsset(a3); db.StoreAsset(a3);
AssetBase a1a = db.FetchAsset(uuid1); AssetBase a1a = db.GetAsset(uuid1);
Assert.That(a1a, Constraints.PropertyCompareConstraint(a1)); Assert.That(a1a, Constraints.PropertyCompareConstraint(a1));
AssetBase a2a = db.FetchAsset(uuid2); AssetBase a2a = db.GetAsset(uuid2);
Assert.That(a2a, Constraints.PropertyCompareConstraint(a2)); Assert.That(a2a, Constraints.PropertyCompareConstraint(a2));
AssetBase a3a = db.FetchAsset(uuid3); AssetBase a3a = db.GetAsset(uuid3);
Assert.That(a3a, Constraints.PropertyCompareConstraint(a3)); Assert.That(a3a, Constraints.PropertyCompareConstraint(a3));
scrambler.Scramble(a1a); scrambler.Scramble(a1a);
scrambler.Scramble(a2a); scrambler.Scramble(a2a);
scrambler.Scramble(a3a); scrambler.Scramble(a3a);
db.UpdateAsset(a1a); db.StoreAsset(a1a);
db.UpdateAsset(a2a); db.StoreAsset(a2a);
db.UpdateAsset(a3a); db.StoreAsset(a3a);
AssetBase a1b = db.FetchAsset(uuid1); AssetBase a1b = db.GetAsset(uuid1);
Assert.That(a1b, Constraints.PropertyCompareConstraint(a1a)); Assert.That(a1b, Constraints.PropertyCompareConstraint(a1a));
AssetBase a2b = db.FetchAsset(uuid2); AssetBase a2b = db.GetAsset(uuid2);
Assert.That(a2b, Constraints.PropertyCompareConstraint(a2a)); Assert.That(a2b, Constraints.PropertyCompareConstraint(a2a));
AssetBase a3b = db.FetchAsset(uuid3); AssetBase a3b = db.GetAsset(uuid3);
Assert.That(a3b, Constraints.PropertyCompareConstraint(a3a)); Assert.That(a3b, Constraints.PropertyCompareConstraint(a3a));
Assert.That(db.ExistsAsset(uuid1), Is.True); Assert.That(db.ExistsAsset(uuid1), Is.True);

View File

@ -70,7 +70,7 @@ namespace OpenSim.Data.Tests
reg.Uuid = regionUUID; reg.Uuid = regionUUID;
reg.RegionName = regionName; reg.RegionName = regionName;
db.AddProfile(reg); db.StoreProfile(reg);
return reg; return reg;
} }
@ -120,7 +120,7 @@ namespace OpenSim.Data.Tests
RegionProfileData retreg = db.GetProfileByUUID(region2); RegionProfileData retreg = db.GetProfileByUUID(region2);
retreg.regionName = "Gotham City"; retreg.regionName = "Gotham City";
db.UpdateProfile(retreg); db.StoreProfile(retreg);
retreg = db.GetProfileByUUID(region2); retreg = db.GetProfileByUUID(region2);
Assert.That(retreg.RegionName, Is.EqualTo("Gotham City"), "Assert.That(retreg.RegionName, Is.EqualTo(\"Gotham City\"))"); Assert.That(retreg.RegionName, Is.EqualTo("Gotham City"), "Assert.That(retreg.RegionName, Is.EqualTo(\"Gotham City\"))");
@ -135,13 +135,13 @@ namespace OpenSim.Data.Tests
retreg.RegionName = "Gotham Town"; retreg.RegionName = "Gotham Town";
retreg.Uuid = region1; retreg.Uuid = region1;
db.AddProfile(retreg); db.StoreProfile(retreg);
retreg = db.GetProfileByUUID(region2); retreg = db.GetProfileByUUID(region2);
retreg.RegionName = "Gothan Town"; retreg.RegionName = "Gothan Town";
retreg.Uuid = region3; retreg.Uuid = region3;
db.AddProfile(retreg); db.StoreProfile(retreg);
List<RegionProfileData> listreg = db.GetRegionsByName("Gotham",10); List<RegionProfileData> listreg = db.GetRegionsByName("Gotham",10);

View File

@ -184,7 +184,7 @@ namespace OpenSim.Framework.Communications.Cache
// Commented out for now. The implementation needs to be improved by protecting against race conditions, // Commented out for now. The implementation needs to be improved by protecting against race conditions,
// probably by making sure that the update doesn't use the UserCacheInfo.UserProfile directly (possibly via // probably by making sure that the update doesn't use the UserCacheInfo.UserProfile directly (possibly via
// returning a read only class from the cache). // returning a read only class from the cache).
// public bool UpdateProfile(UserProfileData userProfile) // public bool StoreProfile(UserProfileData userProfile)
// { // {
// lock (m_userProfilesById) // lock (m_userProfilesById)
// { // {

View File

@ -110,14 +110,14 @@ namespace OpenSim.Framework.Communications.Tests
IUserDataPlugin userDataPlugin = commsManager.UserDataPlugin; IUserDataPlugin userDataPlugin = commsManager.UserDataPlugin;
// Check that we can't update info before it exists // Check that we can't update info before it exists
Assert.That(userCacheService.UpdateProfile(newProfile), Is.False); Assert.That(userCacheService.StoreProfile(newProfile), Is.False);
Assert.That(userDataPlugin.GetUserByUUID(userId), Is.Null); Assert.That(userDataPlugin.GetUserByUUID(userId), Is.Null);
// Check that we can update a profile once it exists // Check that we can update a profile once it exists
LocalUserServices lus = (LocalUserServices)commsManager.UserService; LocalUserServices lus = (LocalUserServices)commsManager.UserService;
lus.AddUser(firstName, originalLastName, "pingu", "ted@excellentadventure.com", 1000, 1000, userId); lus.AddUser(firstName, originalLastName, "pingu", "ted@excellentadventure.com", 1000, 1000, userId);
Assert.That(userCacheService.UpdateProfile(newProfile), Is.True); Assert.That(userCacheService.StoreProfile(newProfile), Is.True);
UserProfileData retrievedProfile = userCacheService.GetUserDetails(userId).UserProfile; UserProfileData retrievedProfile = userCacheService.GetUserDetails(userId).UserProfile;
Assert.That(retrievedProfile.SurName, Is.EqualTo(newLastName)); Assert.That(retrievedProfile.SurName, Is.EqualTo(newLastName));
Assert.That(userDataPlugin.GetUserByUUID(userId).SurName, Is.EqualTo(newLastName)); Assert.That(userDataPlugin.GetUserByUUID(userId).SurName, Is.EqualTo(newLastName));

View File

@ -57,7 +57,7 @@ namespace OpenSim.Framework.Servers
protected override AssetBase GetAsset(UUID assetID) protected override AssetBase GetAsset(UUID assetID)
{ {
return m_assetProvider.FetchAsset(assetID); return m_assetProvider.GetAsset(assetID);
} }
} }
} }

View File

@ -57,7 +57,7 @@ namespace OpenSim.Framework.Servers
AssetBase asset = (AssetBase) xs.Deserialize(request); AssetBase asset = (AssetBase) xs.Deserialize(request);
m_log.InfoFormat("[REST]: Creating asset {0}", asset.FullID); m_log.InfoFormat("[REST]: Creating asset {0}", asset.FullID);
m_assetProvider.CreateAsset(asset); m_assetProvider.StoreAsset(asset);
return new byte[] {}; return new byte[] {};
} }

View File

@ -128,7 +128,7 @@ namespace OpenSim.Framework.Servers.Tests
IAssetDataPlugin assetDataPlugin = new TestAssetDataPlugin(); IAssetDataPlugin assetDataPlugin = new TestAssetDataPlugin();
handler = new GetAssetStreamHandler(assetDataPlugin); handler = new GetAssetStreamHandler(assetDataPlugin);
assetDataPlugin.CreateAsset(asset); assetDataPlugin.StoreAsset(asset);
return asset; return asset;
} }
} }

View File

@ -57,7 +57,7 @@ namespace OpenSim.Grid.AssetInventoryServer.Plugins.OpenSim
metadata = null; metadata = null;
BackendResponse ret; BackendResponse ret;
AssetBase asset = m_assetProvider.FetchAsset(assetID); AssetBase asset = m_assetProvider.GetAsset(assetID);
if (asset == null) ret = BackendResponse.NotFound; if (asset == null) ret = BackendResponse.NotFound;
else else
@ -75,7 +75,7 @@ namespace OpenSim.Grid.AssetInventoryServer.Plugins.OpenSim
assetData = null; assetData = null;
BackendResponse ret; BackendResponse ret;
AssetBase asset = m_assetProvider.FetchAsset(assetID); AssetBase asset = m_assetProvider.GetAsset(assetID);
if (asset == null) ret = BackendResponse.NotFound; if (asset == null) ret = BackendResponse.NotFound;
else else
@ -90,7 +90,7 @@ namespace OpenSim.Grid.AssetInventoryServer.Plugins.OpenSim
public BackendResponse TryFetchDataMetadata(UUID assetID, out AssetBase asset) public BackendResponse TryFetchDataMetadata(UUID assetID, out AssetBase asset)
{ {
asset = m_assetProvider.FetchAsset(assetID); asset = m_assetProvider.GetAsset(assetID);
if (asset == null) return BackendResponse.NotFound; if (asset == null) return BackendResponse.NotFound;
@ -107,7 +107,7 @@ namespace OpenSim.Grid.AssetInventoryServer.Plugins.OpenSim
{ {
BackendResponse ret; BackendResponse ret;
m_assetProvider.CreateAsset(asset); m_assetProvider.StoreAsset(asset);
ret = BackendResponse.Success; ret = BackendResponse.Success;
m_server.MetricsProvider.LogAssetCreate(EXTENSION_NAME, ret, asset.FullID, asset.Data.Length, DateTime.Now); m_server.MetricsProvider.LogAssetCreate(EXTENSION_NAME, ret, asset.FullID, asset.Data.Length, DateTime.Now);

View File

@ -140,7 +140,7 @@ namespace OpenSim.Grid.AssetServer
protected void StoreAsset(AssetBase asset) protected void StoreAsset(AssetBase asset)
{ {
m_assetProvider.CreateAsset(asset); m_assetProvider.StoreAsset(asset);
} }
} }
} }

View File

@ -206,11 +206,11 @@ namespace OpenSim.Grid.GridServer.Modules
{ {
if (existingSim == null) if (existingSim == null)
{ {
insertResponse = plugin.AddProfile(sim); insertResponse = plugin.StoreProfile(sim);
} }
else else
{ {
insertResponse = plugin.UpdateProfile(sim); insertResponse = plugin.StoreProfile(sim);
} }
} }
catch (Exception e) catch (Exception e)
@ -259,7 +259,7 @@ namespace OpenSim.Grid.GridServer.Modules
if ((reserveData != null && reserveData.gridRecvKey == theSim.regionRecvKey) || if ((reserveData != null && reserveData.gridRecvKey == theSim.regionRecvKey) ||
(reserveData == null && authkeynode.InnerText != theSim.regionRecvKey)) (reserveData == null && authkeynode.InnerText != theSim.regionRecvKey))
{ {
plugin.AddProfile(theSim); plugin.StoreProfile(theSim);
m_log.Info("[grid]: New sim added to grid (" + theSim.regionName + ")"); m_log.Info("[grid]: New sim added to grid (" + theSim.regionName + ")");
logToDB(theSim.ToString(), "RestSetSimMethod", String.Empty, 5, logToDB(theSim.ToString(), "RestSetSimMethod", String.Empty, 5,
"Region successfully updated and connected to grid."); "Region successfully updated and connected to grid.");

View File

@ -83,7 +83,7 @@ namespace OpenSim.Services.AssetService
if (!UUID.TryParse(id, out assetID)) if (!UUID.TryParse(id, out assetID))
return null; return null;
return m_Database.FetchAsset(assetID); return m_Database.GetAsset(assetID);
} }
public AssetMetadata GetMetadata(string id) public AssetMetadata GetMetadata(string id)
@ -93,7 +93,7 @@ namespace OpenSim.Services.AssetService
if (!UUID.TryParse(id, out assetID)) if (!UUID.TryParse(id, out assetID))
return null; return null;
AssetBase asset = m_Database.FetchAsset(assetID); AssetBase asset = m_Database.GetAsset(assetID);
return asset.Metadata; return asset.Metadata;
} }
@ -104,7 +104,7 @@ namespace OpenSim.Services.AssetService
if (!UUID.TryParse(id, out assetID)) if (!UUID.TryParse(id, out assetID))
return null; return null;
AssetBase asset = m_Database.FetchAsset(assetID); AssetBase asset = m_Database.GetAsset(assetID);
return asset.Data; return asset.Data;
} }
@ -117,7 +117,7 @@ namespace OpenSim.Services.AssetService
if (!UUID.TryParse(id, out assetID)) if (!UUID.TryParse(id, out assetID))
return false; return false;
AssetBase asset = m_Database.FetchAsset(assetID); AssetBase asset = m_Database.GetAsset(assetID);
//m_log.DebugFormat("[AssetService]: Got asset {0}", asset); //m_log.DebugFormat("[AssetService]: Got asset {0}", asset);
@ -129,7 +129,7 @@ namespace OpenSim.Services.AssetService
public string Store(AssetBase asset) public string Store(AssetBase asset)
{ {
//m_log.DebugFormat("[ASSET SERVICE]: Store asset {0} {1}", asset.Name, asset.ID); //m_log.DebugFormat("[ASSET SERVICE]: Store asset {0} {1}", asset.Name, asset.ID);
m_Database.CreateAsset(asset); m_Database.StoreAsset(asset);
return asset.ID; return asset.ID;
} }

View File

@ -25,6 +25,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
using System;
using System.Collections.Generic; using System.Collections.Generic;
using OpenMetaverse; using OpenMetaverse;
using OpenSim.Framework; using OpenSim.Framework;
@ -46,6 +47,18 @@ namespace OpenSim.Tests.Common.Mock
public void Initialise(string connect) {} public void Initialise(string connect) {}
public void Dispose() {} public void Dispose() {}
private readonly List<AssetBase> assets = new List<AssetBase>();
public AssetBase GetAsset(UUID uuid)
{
return assets.Find(x=>x.FullID == uuid);
}
public void StoreAsset(AssetBase asset)
{
assets.Add(asset);
}
public List<AssetMetadata> FetchAssetMetadataSet(int start, int count) { return new List<AssetMetadata>(count); } public List<AssetMetadata> FetchAssetMetadataSet(int start, int count) { return new List<AssetMetadata>(count); }
} }
} }