- remove the Metadata property from AssetBase and return all previous

properties as before
- prefix private variables with m_ in AssetBase.cs
- related to Mantis #3122, as mentioned in
  https://lists.berlios.de/pipermail/opensim-dev/2009-February/005088.html
- all services will likely need to be upgraded after this commit
This commit is contained in:
Mike Mazur
2009-02-17 01:36:44 +00:00
parent 7cc9062137
commit 76c0935ec7
38 changed files with 415 additions and 380 deletions

View File

@@ -132,12 +132,12 @@ namespace OpenSim.Data.MSSQL
{
AssetBase asset = new AssetBase();
// Region Main
asset.Metadata.FullID = new UUID((string)reader["id"]);
asset.Metadata.Name = (string)reader["name"];
asset.Metadata.Description = (string)reader["description"];
asset.Metadata.Type = Convert.ToSByte(reader["assetType"]);
asset.Metadata.Local = Convert.ToBoolean(reader["local"]);
asset.Metadata.Temporary = Convert.ToBoolean(reader["temporary"]);
asset.FullID = new UUID((string)reader["id"]);
asset.Name = (string)reader["name"];
asset.Description = (string)reader["description"];
asset.Type = Convert.ToSByte(reader["assetType"]);
asset.Local = Convert.ToBoolean(reader["local"]);
asset.Temporary = Convert.ToBoolean(reader["temporary"]);
asset.Data = (byte[])reader["data"];
return asset;
}
@@ -152,7 +152,7 @@ namespace OpenSim.Data.MSSQL
/// <param name="asset">the asset</param>
override public void CreateAsset(AssetBase asset)
{
if (ExistsAsset(asset.Metadata.FullID))
if (ExistsAsset(asset.FullID))
{
return;
}
@@ -163,12 +163,12 @@ namespace OpenSim.Data.MSSQL
"(@id, @name, @description, @assetType, @local, @temporary, @create_time, @access_time, @data)"))
{
int now = (int)((DateTime.Now.Ticks - TicksToEpoch) / 10000000);
command.Parameters.Add(database.CreateParameter("id", asset.Metadata.FullID));
command.Parameters.Add(database.CreateParameter("name", asset.Metadata.Name));
command.Parameters.Add(database.CreateParameter("description", asset.Metadata.Description));
command.Parameters.Add(database.CreateParameter("assetType", asset.Metadata.Type));
command.Parameters.Add(database.CreateParameter("local", asset.Metadata.Local));
command.Parameters.Add(database.CreateParameter("temporary", asset.Metadata.Temporary));
command.Parameters.Add(database.CreateParameter("id", asset.FullID));
command.Parameters.Add(database.CreateParameter("name", asset.Name));
command.Parameters.Add(database.CreateParameter("description", asset.Description));
command.Parameters.Add(database.CreateParameter("assetType", asset.Type));
command.Parameters.Add(database.CreateParameter("local", asset.Local));
command.Parameters.Add(database.CreateParameter("temporary", asset.Temporary));
command.Parameters.Add(database.CreateParameter("access_time", now));
command.Parameters.Add(database.CreateParameter("create_time", now));
command.Parameters.Add(database.CreateParameter("data", asset.Data));
@@ -192,14 +192,14 @@ namespace OpenSim.Data.MSSQL
"data = @data where " +
"id = @keyId;"))
{
command.Parameters.Add(database.CreateParameter("id", asset.Metadata.FullID));
command.Parameters.Add(database.CreateParameter("name", asset.Metadata.Name));
command.Parameters.Add(database.CreateParameter("description", asset.Metadata.Description));
command.Parameters.Add(database.CreateParameter("assetType", asset.Metadata.Type));
command.Parameters.Add(database.CreateParameter("local", asset.Metadata.Local));
command.Parameters.Add(database.CreateParameter("temporary", asset.Metadata.Temporary));
command.Parameters.Add(database.CreateParameter("id", asset.FullID));
command.Parameters.Add(database.CreateParameter("name", asset.Name));
command.Parameters.Add(database.CreateParameter("description", asset.Description));
command.Parameters.Add(database.CreateParameter("assetType", asset.Type));
command.Parameters.Add(database.CreateParameter("local", asset.Local));
command.Parameters.Add(database.CreateParameter("temporary", asset.Temporary));
command.Parameters.Add(database.CreateParameter("data", asset.Data));
command.Parameters.Add(database.CreateParameter("@keyId", asset.Metadata.FullID));
command.Parameters.Add(database.CreateParameter("@keyId", asset.FullID));
try
{

View File

@@ -137,18 +137,18 @@ namespace OpenSim.Data.MySQL
{
asset = new AssetBase();
asset.Data = (byte[]) dbReader["data"];
asset.Metadata.Description = (string) dbReader["description"];
asset.Metadata.FullID = assetID;
asset.Description = (string) dbReader["description"];
asset.FullID = assetID;
try
{
asset.Metadata.Local = (bool)dbReader["local"];
asset.Local = (bool)dbReader["local"];
}
catch (InvalidCastException)
{
asset.Metadata.Local = false;
asset.Local = false;
}
asset.Metadata.Name = (string) dbReader["name"];
asset.Metadata.Type = (sbyte) dbReader["assetType"];
asset.Name = (string) dbReader["name"];
asset.Type = (sbyte) dbReader["assetType"];
}
dbReader.Close();
cmd.Dispose();
@@ -176,8 +176,8 @@ namespace OpenSim.Data.MySQL
{
lock (_dbConnection)
{
//m_log.Info("[ASSET DB]: Creating Asset " + Util.ToRawUuidString(asset.Metadata.FullID));
if (ExistsAsset(asset.Metadata.FullID))
//m_log.Info("[ASSET DB]: Creating Asset " + Util.ToRawUuidString(asset.FullID));
if (ExistsAsset(asset.FullID))
{
//m_log.Info("[ASSET DB]: Asset exists already, ignoring.");
return;
@@ -198,12 +198,12 @@ namespace OpenSim.Data.MySQL
{
// create unix epoch time
int now = (int)((DateTime.Now.Ticks - TicksToEpoch) / 10000000);
cmd.Parameters.AddWithValue("?id", asset.Metadata.ID);
cmd.Parameters.AddWithValue("?name", asset.Metadata.Name);
cmd.Parameters.AddWithValue("?description", asset.Metadata.Description);
cmd.Parameters.AddWithValue("?assetType", asset.Metadata.Type);
cmd.Parameters.AddWithValue("?local", asset.Metadata.Local);
cmd.Parameters.AddWithValue("?temporary", asset.Metadata.Temporary);
cmd.Parameters.AddWithValue("?id", asset.ID);
cmd.Parameters.AddWithValue("?name", asset.Name);
cmd.Parameters.AddWithValue("?description", asset.Description);
cmd.Parameters.AddWithValue("?assetType", asset.Type);
cmd.Parameters.AddWithValue("?local", asset.Local);
cmd.Parameters.AddWithValue("?temporary", asset.Temporary);
cmd.Parameters.AddWithValue("?create_time", now);
cmd.Parameters.AddWithValue("?access_time", now);
cmd.Parameters.AddWithValue("?data", asset.Data);
@@ -216,7 +216,7 @@ namespace OpenSim.Data.MySQL
m_log.ErrorFormat(
"[ASSETS DB]: " +
"MySql failure creating asset {0} with name {1}" + Environment.NewLine + e.ToString()
+ Environment.NewLine + "Attempting reconnection", asset.Metadata.FullID, asset.Metadata.Name);
+ Environment.NewLine + "Attempting reconnection", asset.FullID, asset.Name);
_dbConnection.Reconnect();
}
}
@@ -239,7 +239,7 @@ namespace OpenSim.Data.MySQL
{
// create unix epoch time
int now = (int)((DateTime.Now.Ticks - TicksToEpoch) / 10000000);
cmd.Parameters.AddWithValue("?id", asset.Metadata.ID);
cmd.Parameters.AddWithValue("?id", asset.ID);
cmd.Parameters.AddWithValue("?access_time", now);
cmd.ExecuteNonQuery();
cmd.Dispose();
@@ -250,7 +250,7 @@ namespace OpenSim.Data.MySQL
m_log.ErrorFormat(
"[ASSETS DB]: " +
"MySql failure updating access_time for asset {0} with name {1}" + Environment.NewLine + e.ToString()
+ Environment.NewLine + "Attempting reconnection", asset.Metadata.FullID, asset.Metadata.Name);
+ Environment.NewLine + "Attempting reconnection", asset.FullID, asset.Name);
_dbConnection.Reconnect();
}
}

View File

@@ -64,7 +64,7 @@ namespace OpenSim.Data.NHibernate
private void Save(AssetBase asset)
{
AssetBase temp = (AssetBase)manager.Get(typeof(AssetBase), asset.Metadata.FullID);
AssetBase temp = (AssetBase)manager.Get(typeof(AssetBase), asset.FullID);
if (temp == null)
{
manager.Insert(asset);
@@ -73,13 +73,13 @@ namespace OpenSim.Data.NHibernate
override public void CreateAsset(AssetBase asset)
{
m_log.InfoFormat("[NHIBERNATE] inserting asset {0}", asset.Metadata.FullID);
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.Metadata.FullID);
m_log.InfoFormat("[NHIBERNATE] updating asset {0}", asset.FullID);
manager.Update(asset);
}

View File

@@ -1,16 +1,14 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="OpenSim.Framework.AssetBase, OpenSim.Framework" table="Assets" lazy="false">
<id name="FullID" column="ID" type="OpenSim.Data.NHibernate.UUIDUserType, OpenSim.Data.NHibernate">
<generator class="assigned" />
</id>
<id name="FullID" column="ID" type="OpenSim.Data.NHibernate.UUIDUserType, OpenSim.Data.NHibernate">
<generator class="assigned" />
</id>
<property name="Type" type="OpenSim.Data.NHibernate.SByteType, OpenSim.Data.NHibernate" />
<property name="Name" type="String" length="64" />
<property name="Description" type="String" length="64" />
<property name="Local" type="boolean" />
<property name="Temporary" type="boolean" />
<property name="Data" type="binary" />
<component name="Metadata">
<property name="Type" type="OpenSim.Data.NHibernate.SByteType, OpenSim.Data.NHibernate" />
<property name="Name" type="String" length="64" />
<property name="Description" type="String" length="64" />
<property name="Local" type="boolean" />
<property name="Temporary" type="boolean" />
</component>
</class>
</hibernate-mapping>

View File

@@ -125,8 +125,8 @@ namespace OpenSim.Data.SQLite
/// <param name="asset">Asset Base</param>
override public void CreateAsset(AssetBase asset)
{
//m_log.Info("[ASSET DB]: Creating Asset " + Util.ToRawUuidString(asset.Metadata.FullID));
if (ExistsAsset(asset.Metadata.FullID))
//m_log.Info("[ASSET DB]: Creating Asset " + Util.ToRawUuidString(asset.FullID));
if (ExistsAsset(asset.FullID))
{
//m_log.Info("[ASSET DB]: Asset exists already, ignoring.");
}
@@ -136,12 +136,12 @@ namespace OpenSim.Data.SQLite
{
using (SqliteCommand cmd = new SqliteCommand(InsertAssetSQL, m_conn))
{
cmd.Parameters.Add(new SqliteParameter(":UUID", Util.ToRawUuidString(asset.Metadata.FullID)));
cmd.Parameters.Add(new SqliteParameter(":Name", asset.Metadata.Name));
cmd.Parameters.Add(new SqliteParameter(":Description", asset.Metadata.Description));
cmd.Parameters.Add(new SqliteParameter(":Type", asset.Metadata.Type));
cmd.Parameters.Add(new SqliteParameter(":Local", asset.Metadata.Local));
cmd.Parameters.Add(new SqliteParameter(":Temporary", asset.Metadata.Temporary));
cmd.Parameters.Add(new SqliteParameter(":UUID", Util.ToRawUuidString(asset.FullID)));
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();
@@ -162,12 +162,12 @@ namespace OpenSim.Data.SQLite
{
using (SqliteCommand cmd = new SqliteCommand(UpdateAssetSQL, m_conn))
{
cmd.Parameters.Add(new SqliteParameter(":UUID", Util.ToRawUuidString(asset.Metadata.FullID)));
cmd.Parameters.Add(new SqliteParameter(":Name", asset.Metadata.Name));
cmd.Parameters.Add(new SqliteParameter(":Description", asset.Metadata.Description));
cmd.Parameters.Add(new SqliteParameter(":Type", asset.Metadata.Type));
cmd.Parameters.Add(new SqliteParameter(":Local", asset.Metadata.Local));
cmd.Parameters.Add(new SqliteParameter(":Temporary", asset.Metadata.Temporary));
cmd.Parameters.Add(new SqliteParameter(":UUID", Util.ToRawUuidString(asset.FullID)));
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();
@@ -181,14 +181,14 @@ namespace OpenSim.Data.SQLite
/// <param name="asset"></param>
private static void LogAssetLoad(AssetBase asset)
{
string temporary = asset.Metadata.Temporary ? "Temporary" : "Stored";
string local = asset.Metadata.Local ? "Local" : "Remote";
string temporary = asset.Temporary ? "Temporary" : "Stored";
string local = asset.Local ? "Local" : "Remote";
int assetLength = (asset.Data != null) ? asset.Data.Length : 0;
m_log.Info("[ASSET DB]: " +
string.Format("Loaded {6} {5} Asset: [{0}][{3}] \"{1}\":{2} ({7} bytes)",
asset.Metadata.FullID, asset.Metadata.Name, asset.Metadata.Description, asset.Metadata.Type,
asset.FullID, asset.Name, asset.Description, asset.Type,
temporary, local, assetLength));
}
@@ -246,12 +246,12 @@ namespace OpenSim.Data.SQLite
// back out. Not enough time to figure it out yet.
AssetBase asset = new AssetBase();
asset.Metadata.FullID = new UUID((String) row["UUID"]);
asset.Metadata.Name = (String) row["Name"];
asset.Metadata.Description = (String) row["Description"];
asset.Metadata.Type = Convert.ToSByte(row["Type"]);
asset.Metadata.Local = Convert.ToBoolean(row["Local"]);
asset.Metadata.Temporary = Convert.ToBoolean(row["Temporary"]);
asset.FullID = new UUID((String) row["UUID"]);
asset.Name = (String) row["Name"];
asset.Description = (String) row["Description"];
asset.Type = Convert.ToSByte(row["Type"]);
asset.Local = Convert.ToBoolean(row["Local"]);
asset.Temporary = Convert.ToBoolean(row["Temporary"]);
asset.Data = (byte[]) row["Data"];
return asset;
}

View File

@@ -83,16 +83,16 @@ namespace OpenSim.Data.Tests
db.CreateAsset(a3);
AssetBase a1a = db.FetchAsset(uuid1);
Assert.That(a1.Metadata.ID, Is.EqualTo(a1a.Metadata.ID));
Assert.That(a1.Metadata.Name, Is.EqualTo(a1a.Metadata.Name));
Assert.That(a1.ID, Is.EqualTo(a1a.ID));
Assert.That(a1.Name, Is.EqualTo(a1a.Name));
AssetBase a2a = db.FetchAsset(uuid2);
Assert.That(a2.Metadata.ID, Is.EqualTo(a2a.Metadata.ID));
Assert.That(a2.Metadata.Name, Is.EqualTo(a2a.Metadata.Name));
Assert.That(a2.ID, Is.EqualTo(a2a.ID));
Assert.That(a2.Name, Is.EqualTo(a2a.Name));
AssetBase a3a = db.FetchAsset(uuid3);
Assert.That(a3.Metadata.ID, Is.EqualTo(a3a.Metadata.ID));
Assert.That(a3.Metadata.Name, Is.EqualTo(a3a.Metadata.Name));
Assert.That(a3.ID, Is.EqualTo(a3a.ID));
Assert.That(a3.Name, Is.EqualTo(a3a.Name));
}
[Test]