* reseparate inventory item creator id and creator uuid

* unfortunately, while the client requires uuids and we want to be able to have arbitrary string ids, these cannot be kept in sync
* I think the problems last time were due to a serialization change
* So the major inteface version has been bumped to take care of any lingering issues here.
* This means that region servers beyond this revision can only connect to similarly uptodate grid services, and vice versa
0.6.6-post-fixes
Justin Clarke Casey 2009-05-25 19:54:47 +00:00
parent 896c206718
commit 582c20b1c4
5 changed files with 22 additions and 16 deletions

View File

@ -84,26 +84,38 @@ namespace OpenSim.Framework
m_creatorId = value; m_creatorId = value;
} }
} }
protected string m_creatorId;
protected string m_creatorId = UUID.Zero.ToString();
/// <value> /// <value>
/// The creator of this item expressed as a UUID. Database plugins don't need to set this, it will be set by /// The UUID for the creator. This may be different from the canonical CreatorId. This property is used
/// for communication with the client over the Second Life protocol, since that protocol can only understand
/// UUIDs. As this is a basic framework class, this means that both the string creator id and the uuid
/// reference have to be settable separately
///
/// Database plugins don't need to set this, it will be set by
/// upstream code (or set by the get accessor if left unset). /// upstream code (or set by the get accessor if left unset).
///
/// XXX: An alternative to having a separate uuid property would be to hash the CreatorId appropriately
/// every time there was communication with a UUID-only client. This may be much more expensive.
/// </value> /// </value>
public UUID CreatorIdAsUuid public UUID CreatorIdAsUuid
{ {
get get
{ {
UUID temp = UUID.Zero; if (UUID.Zero == m_creatorIdAsUuid)
UUID.TryParse(CreatorId, out temp); {
return temp; UUID.TryParse(CreatorId, out m_creatorIdAsUuid);
}
return m_creatorIdAsUuid;
} }
set set
{ {
CreatorId = value.ToString(); m_creatorIdAsUuid = value;
} }
} }
protected UUID m_creatorIdAsUuid = UUID.Zero;
/// <value> /// <value>
/// The description of the inventory item (must be less than 64 characters) /// The description of the inventory item (must be less than 64 characters)

View File

@ -236,10 +236,6 @@ namespace OpenSim.Framework.Servers.HttpServer
/// <summary> /// <summary>
/// The operation to perform once trust has been established. /// The operation to perform once trust has been established.
/// </summary> /// </summary>
/// <param name="httpMethod"></param>
/// <param name="path"></param>
/// <param name="method"></param>
/// <param name="tmethod"></param>
private RestDeserialiseMethod<TRequest, TResponse> m_method; private RestDeserialiseMethod<TRequest, TResponse> m_method;
/// <summary> /// <summary>

View File

@ -48,6 +48,6 @@ namespace OpenSim
/// of the code that is too old. /// of the code that is too old.
/// ///
/// </value> /// </value>
public readonly static int MajorInterfaceVersion = 3; public readonly static int MajorInterfaceVersion = 4;
} }
} }

View File

@ -44,6 +44,8 @@ namespace OpenSim.Grid.InventoryServer
/// </summary> /// </summary>
public class GridInventoryService : InventoryServiceBase public class GridInventoryService : InventoryServiceBase
{ {
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private bool m_doLookup = false; private bool m_doLookup = false;
public bool DoLookup public bool DoLookup
@ -51,8 +53,7 @@ namespace OpenSim.Grid.InventoryServer
get { return m_doLookup; } get { return m_doLookup; }
set { m_doLookup = value; } set { m_doLookup = value; }
} }
private static readonly ILog m_log
= LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private static readonly int INVENTORY_DEFAULT_SESSION_TIME = 30; // secs private static readonly int INVENTORY_DEFAULT_SESSION_TIME = 30; // secs
private string m_userserver_url; private string m_userserver_url;

View File

@ -198,7 +198,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
[Test] [Test]
public void TestLoadIarV0_1ExistingUsers() public void TestLoadIarV0_1ExistingUsers()
{ {
Assert.Ignore();
TestHelper.InMethod(); TestHelper.InMethod();
//log4net.Config.XmlConfigurator.Configure(); //log4net.Config.XmlConfigurator.Configure();
@ -265,9 +264,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
[Test] [Test]
public void TestLoadIarV0_1TempProfiles() public void TestLoadIarV0_1TempProfiles()
{ {
Assert.Ignore();
TestHelper.InMethod(); TestHelper.InMethod();
Console.WriteLine("### Started {0} ###", MethodBase.GetCurrentMethod());
log4net.Config.XmlConfigurator.Configure(); log4net.Config.XmlConfigurator.Configure();