From ea8f3c83bf96453e8223d918933d5708fa49a3cc Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Mon, 4 Jul 2016 03:35:48 +0100
Subject: Finally remove the requirement for an InventoryItem/FolderBase object
to be passed into inventory queries. This makes the API more homogenous and
also will more clearly show coding errors related to HG inventory where the
.Owner field has a meaning for a query but wasn't always set.
---
.../Linden/Caps/BunchOfCaps/BunchOfCaps.cs | 2 +-
.../Avatar/Attachments/AttachmentsModule.cs | 6 ++--
.../Attachments/Tests/AttachmentsModuleTests.cs | 12 +++----
.../Avatar/AvatarFactory/AvatarFactoryModule.cs | 3 +-
.../Avatar/Friends/CallingCardModule.cs | 3 +-
.../CoreModules/Avatar/Gestures/GesturesModule.cs | 6 ++--
.../Inventory/Transfer/InventoryTransferModule.cs | 42 +++++++---------------
.../EntityTransfer/HGEntityTransferModule.cs | 3 +-
.../InventoryAccess/HGInventoryAccessModule.cs | 4 +--
.../InventoryAccess/InventoryAccessModule.cs | 19 ++++------
.../Framework/Library/LocalInventoryService.cs | 11 ++----
.../Inventory/HGInventoryBroker.cs | 23 +++++-------
.../Inventory/LocalInventoryServiceConnector.cs | 8 ++---
.../Inventory/RemoteXInventoryServiceConnector.cs | 14 +++-----
.../World/Permissions/PermissionsModule.cs | 9 ++---
.../Framework/Scenes/AsyncInventorySender.cs | 5 ++-
OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 27 ++++++--------
.../Framework/Scenes/Scene.PacketHandlers.cs | 6 ++--
.../Avatar/XmlRpcGroups/GroupsModule.cs | 3 +-
19 files changed, 72 insertions(+), 134 deletions(-)
(limited to 'OpenSim/Region')
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
index 39ba708..19619c1 100644
--- a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
+++ b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
@@ -1386,7 +1386,7 @@ namespace OpenSim.Region.ClientStack.Linden
IClientAPI client = null;
m_Scene.TryGetClient(m_HostCapsObj.AgentID, out client);
- item = m_Scene.InventoryService.GetItem(new InventoryItemBase(itemID));
+ item = m_Scene.InventoryService.GetItem(m_HostCapsObj.AgentID, itemID);
if (item != null)
{
string message;
diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
index 0cc630f..8f03a0a 100644
--- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
@@ -898,8 +898,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
string sceneObjectXml = SceneObjectSerializer.ToOriginalXmlFormat(grp, scriptedState);
- InventoryItemBase item = new InventoryItemBase(grp.FromItemID, sp.UUID);
- item = m_scene.InventoryService.GetItem(item);
+ InventoryItemBase item = m_scene.InventoryService.GetItem(sp.UUID, grp.FromItemID);
if (item != null)
{
@@ -1223,8 +1222,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
return;
}
- InventoryItemBase item = new InventoryItemBase(itemID, sp.UUID);
- item = m_scene.InventoryService.GetItem(item);
+ InventoryItemBase item = m_scene.InventoryService.GetItem(sp.UUID, itemID);
if (item == null)
return;
diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs
index 10b2ff6..a83342c 100644
--- a/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs
@@ -219,7 +219,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests
// sp.Appearance.GetAttachpoint(attSo.FromItemID),
// Is.EqualTo((int)AttachmentPoint.Chest));
- InventoryItemBase attachmentItem = scene.InventoryService.GetItem(new InventoryItemBase(attSo.FromItemID));
+ InventoryItemBase attachmentItem = scene.InventoryService.GetItem(sp.UUID, attSo.FromItemID);
Assert.That(attachmentItem, Is.Not.Null);
Assert.That(attachmentItem.Name, Is.EqualTo(attName));
@@ -266,7 +266,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests
// sp.Appearance.GetAttachpoint(attSo.FromItemID),
// Is.EqualTo((int)AttachmentPoint.LeftHand));
- InventoryItemBase attachmentItem = scene.InventoryService.GetItem(new InventoryItemBase(attSo.FromItemID));
+ InventoryItemBase attachmentItem = scene.InventoryService.GetItem(sp.UUID, attSo.FromItemID);
Assert.That(attachmentItem, Is.Not.Null);
Assert.That(attachmentItem.Name, Is.EqualTo(so.Name));
@@ -299,7 +299,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests
// sp.Appearance.GetAttachpoint(attSo.FromItemID),
// Is.EqualTo((int)AttachmentPoint.LeftHand));
- InventoryItemBase attachmentItem = scene.InventoryService.GetItem(new InventoryItemBase(attSo.FromItemID));
+ InventoryItemBase attachmentItem = scene.InventoryService.GetItem(sp.UUID, attSo.FromItemID);
Assert.That(attachmentItem, Is.Not.Null);
Assert.That(attachmentItem.Name, Is.EqualTo(so2.Name));
@@ -332,7 +332,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests
// sp.Appearance.GetAttachpoint(attSo.FromItemID),
// Is.EqualTo((int)AttachmentPoint.LeftHand));
- InventoryItemBase attachmentItem = scene.InventoryService.GetItem(new InventoryItemBase(attSo.FromItemID));
+ InventoryItemBase attachmentItem = scene.InventoryService.GetItem(sp.UUID, attSo.FromItemID);
Assert.That(attachmentItem, Is.Not.Null);
Assert.That(attachmentItem.Name, Is.EqualTo(so2.Name));
@@ -600,7 +600,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests
// Assert.That(sp.Appearance.GetAttachments().Count, Is.EqualTo(0));
// Check item status
- Assert.That(scene.InventoryService.GetItem(new InventoryItemBase(attItem.ID)), Is.Null);
+ Assert.That(scene.InventoryService.GetItem(sp.UUID, attItem.ID), Is.Null);
// Check object in scene
SceneObjectGroup soInScene = scene.GetSceneObjectGroup("att");
@@ -679,7 +679,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests
scene.AttachmentsModule.DetachSingleAttachmentToInv(sp, rezzedSo);
- InventoryItemBase userItemUpdated = scene.InventoryService.GetItem(userItem);
+ InventoryItemBase userItemUpdated = scene.InventoryService.GetItem(userItem.Owner, userItem.ID);
AssetBase asset = scene.AssetService.Get(userItemUpdated.AssetID.ToString());
// TODO: It would probably be better here to check script state via the saving and retrieval of state
diff --git a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs
index c800383..08b276d 100644
--- a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs
@@ -904,8 +904,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
continue;
}
- InventoryItemBase baseItem = new InventoryItemBase(appearance.Wearables[i][j].ItemID, userID);
- baseItem = invService.GetItem(baseItem);
+ InventoryItemBase baseItem = invService.GetItem(userID, appearance.Wearables[i][j].ItemID);
if (baseItem != null)
{
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs
index eb23e83..e5bf919 100644
--- a/OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs
@@ -239,8 +239,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
InventoryFolderBase trashFolder =
invService.GetFolderForType(client.AgentId, FolderType.Trash);
- InventoryItemBase item = new InventoryItemBase(transactionID, client.AgentId);
- item = invService.GetItem(item);
+ InventoryItemBase item = invService.GetItem(client.AgentId, transactionID);
if (item != null && trashFolder != null)
{
diff --git a/OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs b/OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs
index 095c57b..4efcd3b 100644
--- a/OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs
@@ -86,8 +86,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Gestures
{
IInventoryService invService = m_scene.InventoryService;
- InventoryItemBase item = new InventoryItemBase(gestureId, client.AgentId);
- item = invService.GetItem(item);
+ InventoryItemBase item = invService.GetItem(client.AgentId, gestureId);
if (item != null)
{
item.Flags |= 1;
@@ -102,8 +101,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Gestures
{
IInventoryService invService = m_scene.InventoryService;
- InventoryItemBase item = new InventoryItemBase(gestureId, client.AgentId);
- item = invService.GetItem(item);
+ InventoryItemBase item = invService.GetItem(client.AgentId, gestureId);
if (item != null)
{
item.Flags &= ~(uint)1;
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs
index 085328c..6c2cf0a 100644
--- a/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs
@@ -270,8 +270,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
// RLV uses this
if (im.dialog == (byte) InstantMessageDialog.TaskInventoryAccepted)
{
- InventoryFolderBase folder = new InventoryFolderBase(inventoryID, client.AgentId);
- folder = invService.GetFolder(folder);
+ InventoryFolderBase folder = invService.GetFolder(client.AgentId, inventoryID);
if (folder != null)
{
@@ -280,8 +279,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
UUID destFolderID = new UUID(im.binaryBucket, 0);
if (destFolderID != UUID.Zero)
{
- InventoryFolderBase destFolder = new InventoryFolderBase(destFolderID, client.AgentId);
- destFolder = invService.GetFolder(destFolder);
+ InventoryFolderBase destFolder = invService.GetFolder(client.AgentId, destFolderID);
if (destFolder != null)
{
if (folder.ParentID != destFolder.ID)
@@ -339,8 +337,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
UUID inventoryID = new UUID(im.imSessionID); // The inventory item/folder, back from it's trip
- InventoryItemBase item = new InventoryItemBase(inventoryID, client.AgentId);
- item = invService.GetItem(item);
+ InventoryItemBase item = invService.GetItem(client.AgentId, inventoryID);
InventoryFolderBase folder = null;
UUID? previousParentFolderID = null;
@@ -354,8 +351,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
}
else
{
- folder = new InventoryFolderBase(inventoryID, client.AgentId);
- folder = invService.GetFolder(folder);
+ folder = invService.GetFolder(client.AgentId, inventoryID);
if (folder != null) // It's a folder
{
@@ -368,9 +364,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
// Tell client about updates to original parent and new parent (this should probably be factored with existing move item/folder code).
if (previousParentFolderID != null)
{
- InventoryFolderBase previousParentFolder
- = new InventoryFolderBase((UUID)previousParentFolderID, client.AgentId);
- previousParentFolder = invService.GetFolder(previousParentFolder);
+ InventoryFolderBase previousParentFolder = invService.GetFolder(client.AgentId, (UUID)previousParentFolderID);
scene.SendInventoryUpdate(client, previousParentFolder, true, true);
scene.SendInventoryUpdate(client, destinationFolder, true, true);
@@ -392,8 +386,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
UUID inventoryID = new UUID(im.imSessionID); // The inventory item/folder, back from it's trip
- InventoryItemBase item = new InventoryItemBase(inventoryID, client.AgentId);
- item = invService.GetItem(item);
+ InventoryItemBase item = invService.GetItem(client.AgentId, inventoryID);
InventoryFolderBase folder = null;
UUID? previousParentFolderID = null;
@@ -410,8 +403,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
}
else
{
- folder = new InventoryFolderBase(inventoryID, client.AgentId);
- folder = invService.GetFolder(folder);
+ folder = invService.GetFolder(client.AgentId, inventoryID);
if (folder != null & trashFolder != null)
{
@@ -439,9 +431,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
// Tell client about updates to original parent and new parent (this should probably be factored with existing move item/folder code).
else if (previousParentFolderID != null)
{
- InventoryFolderBase previousParentFolder
- = new InventoryFolderBase((UUID)previousParentFolderID, client.AgentId);
- previousParentFolder = invService.GetFolder(previousParentFolder);
+ InventoryFolderBase previousParentFolder = invService.GetFolder(client.AgentId, (UUID)previousParentFolderID);
scene.SendInventoryUpdate(client, previousParentFolder, true, true);
scene.SendInventoryUpdate(client, trashFolder, true, true);
@@ -500,10 +490,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
{
UUID folderID = new UUID(im.binaryBucket, 1);
- InventoryFolderBase given =
- new InventoryFolderBase(folderID, recipientID);
InventoryFolderBase folder =
- scene.InventoryService.GetFolder(given);
+ scene.InventoryService.GetFolder(recipientID, folderID);
if (folder != null)
user.ControllingClient.SendBulkUpdateInventory(folder);
@@ -512,10 +500,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
{
UUID itemID = new UUID(im.binaryBucket, 1);
- InventoryItemBase given =
- new InventoryItemBase(itemID, recipientID);
InventoryItemBase item =
- scene.InventoryService.GetItem(given);
+ scene.InventoryService.GetItem(recipientID, itemID);
if (item != null)
{
@@ -538,10 +524,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
{
UUID folderID = new UUID(im.imSessionID);
- InventoryFolderBase given =
- new InventoryFolderBase(folderID, recipientID);
InventoryFolderBase folder =
- scene.InventoryService.GetFolder(given);
+ scene.InventoryService.GetFolder(recipientID, folderID);
if (folder != null)
user.ControllingClient.SendBulkUpdateInventory(folder);
@@ -550,10 +534,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
{
UUID itemID = new UUID(im.imSessionID);
- InventoryItemBase given =
- new InventoryItemBase(itemID, recipientID);
InventoryItemBase item =
- scene.InventoryService.GetItem(given);
+ scene.InventoryService.GetItem(recipientID, itemID);
if (item != null)
{
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs
index dfc880a..a9aaf12 100644
--- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs
@@ -95,8 +95,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
foreach (AvatarAttachment att in a.GetAttachments())
{
- InventoryItemBase item = new InventoryItemBase(att.ItemID, account.PrincipalID);
- item = Scene.InventoryService.GetItem(item);
+ InventoryItemBase item = Scene.InventoryService.GetItem(account.PrincipalID, att.ItemID);
if (item != null)
a.SetAttachment(att.AttachPoint, att.ItemID, item.AssetID);
else
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs
index 06a8f25..4119f90 100644
--- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs
@@ -314,9 +314,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
//if (fromTaskID.Equals(UUID.Zero))
//{
- InventoryItemBase item = new InventoryItemBase(itemID);
- item.Owner = remoteClient.AgentId;
- item = m_Scene.InventoryService.GetItem(item);
+ InventoryItemBase item = m_Scene.InventoryService.GetItem(remoteClient.AgentId, itemID);
//if (item == null)
//{ // Fetch the item
// item = new InventoryItemBase();
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
index 64233d5..781b9ff 100644
--- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
@@ -184,8 +184,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
if (!m_Scene.Permissions.CanCreateUserInventory(invType, remoteClient.AgentId))
return;
- InventoryFolderBase f = new InventoryFolderBase(folderID, remoteClient.AgentId);
- InventoryFolderBase folder = m_Scene.InventoryService.GetFolder(f);
+ InventoryFolderBase folder = m_Scene.InventoryService.GetFolder(remoteClient.AgentId, folderID);
if (folder == null && Enum.IsDefined(typeof(FolderType), (sbyte)invType))
{
@@ -260,8 +259,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
///
public virtual UUID CapsUpdateInventoryItemAsset(IClientAPI remoteClient, UUID itemID, byte[] data)
{
- InventoryItemBase item = new InventoryItemBase(itemID, remoteClient.AgentId);
- item = m_Scene.InventoryService.GetItem(item);
+ InventoryItemBase item = m_Scene.InventoryService.GetItem(remoteClient.AgentId, itemID);
if (item.Owner != remoteClient.AgentId)
return UUID.Zero;
@@ -719,8 +717,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
if (DeRezAction.SaveToExistingUserInventoryItem == action)
{
- item = new InventoryItemBase(so.RootPart.FromUserInventoryItemID, userID);
- item = m_Scene.InventoryService.GetItem(item);
+ item = m_Scene.InventoryService.GetItem(userID, so.RootPart.FromUserInventoryItemID);
//item = userInfo.RootFolder.FindItem(
// objectGroup.RootPart.FromUserInventoryItemID);
@@ -792,9 +789,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
{
if (so.FromFolderID != UUID.Zero && so.RootPart.OwnerID == remoteClient.AgentId)
{
- InventoryFolderBase f = new InventoryFolderBase(so.FromFolderID, userID);
- if (f != null)
- folder = m_Scene.InventoryService.GetFolder(f);
+ folder = m_Scene.InventoryService.GetFolder(userID, so.FromFolderID);
if(folder.Type == 14 || folder.Type == 16)
{
@@ -830,8 +825,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment)
{
// m_log.DebugFormat("[INVENTORY ACCESS MODULE]: RezObject for {0}, item {1}", remoteClient.Name, itemID);
- InventoryItemBase item = new InventoryItemBase(itemID, remoteClient.AgentId);
- item = m_Scene.InventoryService.GetItem(item);
+ InventoryItemBase item = m_Scene.InventoryService.GetItem(remoteClient.AgentId, itemID);
if (item == null)
{
@@ -1289,8 +1283,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
protected virtual InventoryItemBase GetItem(UUID agentID, UUID itemID)
{
IInventoryService invService = m_Scene.RequestModuleInterface();
- InventoryItemBase item = new InventoryItemBase(itemID, agentID);
- item = invService.GetItem(item);
+ InventoryItemBase item = invService.GetItem(agentID, itemID);
if (item != null && item.CreatorData != null && item.CreatorData != string.Empty)
UserManagementModule.AddUser(item.CreatorIdAsUuid, item.CreatorData);
diff --git a/OpenSim/Region/CoreModules/Framework/Library/LocalInventoryService.cs b/OpenSim/Region/CoreModules/Framework/Library/LocalInventoryService.cs
index e1e1838..21e00b2 100644
--- a/OpenSim/Region/CoreModules/Framework/Library/LocalInventoryService.cs
+++ b/OpenSim/Region/CoreModules/Framework/Library/LocalInventoryService.cs
@@ -103,13 +103,8 @@ namespace OpenSim.Region.CoreModules.Framework.Library
{
InventoryItemBase[] itemColl = new InventoryItemBase[itemIDs.Length];
int i = 0;
- InventoryItemBase item = new InventoryItemBase();
- item.Owner = principalID;
foreach (UUID fid in itemIDs)
- {
- item.ID = fid;
- itemColl[i++] = GetItem(item);
- }
+ itemColl[i++] = GetItem(principalID, fid);
return itemColl;
}
@@ -239,14 +234,14 @@ namespace OpenSim.Region.CoreModules.Framework.Library
///
///
///
- public InventoryItemBase GetItem(InventoryItemBase item) { return null; }
+ public InventoryItemBase GetItem(UUID principalID, UUID itemID) { return null; }
///
/// Get a folder, given by its UUID
///
///
///
- public InventoryFolderBase GetFolder(InventoryFolderBase folder) { return null; }
+ public InventoryFolderBase GetFolder(UUID principalID, UUID folderID) { return null; }
///
/// Does the given user have an inventory structure?
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs
index 48f228a..863560b 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs
@@ -598,21 +598,19 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
return connector.DeleteItems(ownerID, itemIDs);
}
- public InventoryItemBase GetItem(InventoryItemBase item)
+ public InventoryItemBase GetItem(UUID principalID, UUID itemID)
{
- if (item == null)
- return null;
//m_log.Debug("[HG INVENTORY CONNECTOR]: GetItem " + item.ID);
- string invURL = GetInventoryServiceURL(item.Owner);
+ string invURL = GetInventoryServiceURL(principalID);
if (invURL == null) // not there, forward to local inventory connector to resolve
lock (m_Lock)
- return m_LocalGridInventoryService.GetItem(item);
+ return m_LocalGridInventoryService.GetItem(principalID, itemID);
IInventoryService connector = GetConnector(invURL);
- return connector.GetItem(item);
+ return connector.GetItem(principalID, itemID);
}
public InventoryItemBase[] GetMultipleItems(UUID userID, UUID[] itemIDs)
@@ -632,22 +630,19 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
return connector.GetMultipleItems(userID, itemIDs);
}
- public InventoryFolderBase GetFolder(InventoryFolderBase folder)
+ public InventoryFolderBase GetFolder(UUID principalID, UUID folderID)
{
- if (folder == null)
- return null;
-
//m_log.Debug("[HG INVENTORY CONNECTOR]: GetFolder " + folder.ID);
- string invURL = GetInventoryServiceURL(folder.Owner);
+ string invURL = GetInventoryServiceURL(principalID);
if (invURL == null) // not there, forward to local inventory connector to resolve
lock (m_Lock)
- return m_LocalGridInventoryService.GetFolder(folder);
+ return m_LocalGridInventoryService.GetFolder(principalID, folderID);
IInventoryService connector = GetConnector(invURL);
- return connector.GetFolder(folder);
+ return connector.GetFolder(principalID, folderID);
}
public bool HasInventoryForUser(UUID userID)
@@ -710,4 +705,4 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
return connector;
}
}
-}
\ No newline at end of file
+}
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs
index 20d4e02..0d36725 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs
@@ -292,13 +292,13 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
return m_InventoryService.DeleteItems(ownerID, itemIDs);
}
- public InventoryItemBase GetItem(InventoryItemBase item)
+ public InventoryItemBase GetItem(UUID principalID, UUID itemID)
{
// m_log.DebugFormat("[LOCAL INVENTORY SERVICES CONNECTOR]: Requesting inventory item {0}", item.ID);
// UUID requestedItemId = item.ID;
- item = m_InventoryService.GetItem(item);
+ InventoryItemBase item = m_InventoryService.GetItem(principalID, itemID);
// if (null == item)
// m_log.ErrorFormat(
@@ -312,9 +312,9 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
return m_InventoryService.GetMultipleItems(userID, itemIDs);
}
- public InventoryFolderBase GetFolder(InventoryFolderBase folder)
+ public InventoryFolderBase GetFolder(UUID principalID, UUID folderID)
{
- return m_InventoryService.GetFolder(folder);
+ return m_InventoryService.GetFolder(principalID, folderID);
}
///
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteXInventoryServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteXInventoryServiceConnector.cs
index 978b9d9..62b44b1 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteXInventoryServiceConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteXInventoryServiceConnector.cs
@@ -292,15 +292,13 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
return m_RemoteConnector.DeleteItems(ownerID, itemIDs);
}
- public InventoryItemBase GetItem(InventoryItemBase item)
+ public InventoryItemBase GetItem(UUID userID, UUID itemID)
{
//m_log.DebugFormat("[XINVENTORY CONNECTOR]: GetItem {0}", item.ID);
- if (item == null)
- return null;
if (m_RemoteConnector == null)
m_log.DebugFormat("[XINVENTORY CONNECTOR]: connector stub is null!!!");
- return m_RemoteConnector.GetItem(item);
+ return m_RemoteConnector.GetItem(userID, itemID);
}
public InventoryItemBase[] GetMultipleItems(UUID userID, UUID[] itemIDs)
@@ -311,13 +309,11 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
return m_RemoteConnector.GetMultipleItems(userID, itemIDs);
}
- public InventoryFolderBase GetFolder(InventoryFolderBase folder)
+ public InventoryFolderBase GetFolder(UUID userID, UUID folderID)
{
//m_log.DebugFormat("[XINVENTORY CONNECTOR]: GetFolder {0}", folder.ID);
- if (folder == null)
- return null;
- return m_RemoteConnector.GetFolder(folder);
+ return m_RemoteConnector.GetFolder(userID, folderID);
}
public bool HasInventoryForUser(UUID userID)
@@ -337,4 +333,4 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
#endregion
}
-}
\ No newline at end of file
+}
diff --git a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
index c83454e..8c1a628 100644
--- a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
+++ b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
@@ -1100,8 +1100,7 @@ namespace OpenSim.Region.CoreModules.World.Permissions
if (objectID == UUID.Zero) // User inventory
{
IInventoryService invService = m_scene.InventoryService;
- InventoryItemBase assetRequestItem = new InventoryItemBase(notecard, user);
- assetRequestItem = invService.GetItem(assetRequestItem);
+ InventoryItemBase assetRequestItem = invService.GetItem(user, notecard);
if (assetRequestItem == null && LibraryRootFolder != null) // Library item
{
assetRequestItem = LibraryRootFolder.FindItem(notecard);
@@ -1625,8 +1624,7 @@ namespace OpenSim.Region.CoreModules.World.Permissions
if (objectID == UUID.Zero) // User inventory
{
IInventoryService invService = m_scene.InventoryService;
- InventoryItemBase assetRequestItem = new InventoryItemBase(script, user);
- assetRequestItem = invService.GetItem(assetRequestItem);
+ InventoryItemBase assetRequestItem = invService.GetItem(user, script);
if (assetRequestItem == null && LibraryRootFolder != null) // Library item
{
assetRequestItem = LibraryRootFolder.FindItem(script);
@@ -1722,8 +1720,7 @@ namespace OpenSim.Region.CoreModules.World.Permissions
if (objectID == UUID.Zero) // User inventory
{
IInventoryService invService = m_scene.InventoryService;
- InventoryItemBase assetRequestItem = new InventoryItemBase(notecard, user);
- assetRequestItem = invService.GetItem(assetRequestItem);
+ InventoryItemBase assetRequestItem = invService.GetItem(user, notecard);
if (assetRequestItem == null && LibraryRootFolder != null) // Library item
{
assetRequestItem = LibraryRootFolder.FindItem(notecard);
diff --git a/OpenSim/Region/Framework/Scenes/AsyncInventorySender.cs b/OpenSim/Region/Framework/Scenes/AsyncInventorySender.cs
index d9d2e64..4362e28 100644
--- a/OpenSim/Region/Framework/Scenes/AsyncInventorySender.cs
+++ b/OpenSim/Region/Framework/Scenes/AsyncInventorySender.cs
@@ -143,8 +143,7 @@ namespace OpenSim.Region.Framework.Scenes
// m_log.DebugFormat(
// "[ASYNC INVENTORY SENDER]: Handling request from {0} for {1} on queue", fh.Client.Name, fh.ItemID);
- InventoryItemBase item = new InventoryItemBase(fh.ItemID, fh.Client.AgentId);
- item = m_scene.InventoryService.GetItem(item);
+ InventoryItemBase item = m_scene.InventoryService.GetItem(fh.Client.AgentId, fh.ItemID);
if (item != null)
fh.Client.SendInventoryItemDetails(item.Owner, item);
@@ -153,4 +152,4 @@ namespace OpenSim.Region.Framework.Scenes
}
}
}
-}
\ No newline at end of file
+}
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index 30bc75b..f2df364 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -223,8 +223,7 @@ namespace OpenSim.Region.Framework.Scenes
if (core.TryGet(out inv))
{
- InventoryFolderBase parent = new InventoryFolderBase(f.ParentID, f.Owner);
- parent = InventoryService.GetFolder(parent);
+ InventoryFolderBase parent = InventoryService.GetFolder(f.Owner, f.ParentID);
inv.SendRemoveInventoryItems(new UUID[] { item.ID });
inv.SendBulkUpdateInventory(new InventoryFolderBase[0], new InventoryItemBase[] { item });
string message = "The item was placed in folder " + f.Name;
@@ -407,8 +406,7 @@ namespace OpenSim.Region.Framework.Scenes
// inventory. Rut-Roh. Whatever. Make this secure. Yeah.
//
// Passing something to another avatar or a an object will already
- InventoryItemBase item = new InventoryItemBase(itemID, remoteClient.AgentId);
- item = InventoryService.GetItem(item);
+ InventoryItemBase item = InventoryService.GetItem(remoteClient.AgentId, itemID);
if (item != null)
{
@@ -585,8 +583,7 @@ namespace OpenSim.Region.Framework.Scenes
return null;
}
- InventoryItemBase item = new InventoryItemBase(itemId, senderId);
- item = InventoryService.GetItem(item);
+ InventoryItemBase item = InventoryService.GetItem(senderId, itemId);
if (item == null)
{
@@ -807,7 +804,7 @@ namespace OpenSim.Region.Framework.Scenes
UUID recipientId, UUID senderId, UUID folderId, UUID recipientParentFolderId)
{
//// Retrieve the folder from the sender
- InventoryFolderBase folder = InventoryService.GetFolder(new InventoryFolderBase(folderId, senderId));
+ InventoryFolderBase folder = InventoryService.GetFolder(senderId, folderId);
if (null == folder)
{
m_log.ErrorFormat(
@@ -868,8 +865,7 @@ namespace OpenSim.Region.Framework.Scenes
if (item == null)
{
- item = new InventoryItemBase(oldItemID, remoteClient.AgentId);
- item = InventoryService.GetItem(item);
+ item = InventoryService.GetItem(remoteClient.AgentId, oldItemID);
if (item == null)
{
@@ -953,7 +949,7 @@ namespace OpenSim.Region.Framework.Scenes
foreach (InventoryItemBase b in items)
{
CopyInventoryItem(remoteClient, 0, remoteClient.AgentId, b.ID, b.Folder, null);
- InventoryItemBase n = InventoryService.GetItem(b);
+ InventoryItemBase n = InventoryService.GetItem(b.Owner, b.ID);
n.Folder = destfolder;
moveitems.Add(n);
remoteClient.SendInventoryItemCreateUpdate(n, 0);
@@ -1605,8 +1601,7 @@ namespace OpenSim.Region.Framework.Scenes
InventoryCollection contents = InventoryService.GetFolderContent(client.AgentId, folder.ID);
// Fetch the folder itself to get its current version
- InventoryFolderBase containingFolder = new InventoryFolderBase(folder.ID, client.AgentId);
- containingFolder = InventoryService.GetFolder(containingFolder);
+ InventoryFolderBase containingFolder = InventoryService.GetFolder(client.AgentId, folder.ID);
// m_log.DebugFormat("[AGENT INVENTORY]: Sending inventory folder contents ({0} nodes) for \"{1}\" to {2} {3}",
// contents.Folders.Count + contents.Items.Count, containingFolder.Name, client.FirstName, client.LastName);
@@ -1620,7 +1615,7 @@ namespace OpenSim.Region.Framework.Scenes
{
if (item.AssetType == (int)AssetType.Link)
{
- InventoryItemBase linkedItem = InventoryService.GetItem(new InventoryItemBase(item.AssetID));
+ InventoryItemBase linkedItem = InventoryService.GetItem(client.AgentId, item.AssetID);
// Take care of genuinely broken links where the target doesn't exist
// HACK: Also, don't follow up links that just point to other links. In theory this is legitimate,
@@ -1680,8 +1675,7 @@ namespace OpenSim.Region.Framework.Scenes
UUID copyID = UUID.Random();
if (itemID != UUID.Zero)
{
- InventoryItemBase item = new InventoryItemBase(itemID, remoteClient.AgentId);
- item = InventoryService.GetItem(item);
+ InventoryItemBase item = InventoryService.GetItem(remoteClient.AgentId, itemID);
// Try library
if (null == item && LibraryService != null && LibraryService.LibraryRootFolder != null)
@@ -1836,8 +1830,7 @@ namespace OpenSim.Region.Framework.Scenes
public SceneObjectPart RezScriptFromAgentInventory(UUID agentID, UUID fromItemID, uint localID)
{
UUID copyID = UUID.Random();
- InventoryItemBase item = new InventoryItemBase(fromItemID, agentID);
- item = InventoryService.GetItem(item);
+ InventoryItemBase item = InventoryService.GetItem(agentID, fromItemID);
// Try library
// XXX clumsy, possibly should be one call
diff --git a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
index 34b9c5f..c49edd1 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
@@ -627,8 +627,7 @@ namespace OpenSim.Region.Framework.Scenes
// m_log.DebugFormat(
// "[AGENT INVENTORY]: Updating inventory folder {0} {1} for {2} {3}", folderID, name, remoteClient.Name, remoteClient.AgentId);
- InventoryFolderBase folder = new InventoryFolderBase(folderID, remoteClient.AgentId);
- folder = InventoryService.GetFolder(folder);
+ InventoryFolderBase folder = InventoryService.GetFolder(remoteClient.AgentId, folderID);
if (folder != null)
{
folder.Name = name;
@@ -645,8 +644,7 @@ namespace OpenSim.Region.Framework.Scenes
public void HandleMoveInventoryFolder(IClientAPI remoteClient, UUID folderID, UUID parentID)
{
- InventoryFolderBase folder = new InventoryFolderBase(folderID, remoteClient.AgentId);
- folder = InventoryService.GetFolder(folder);
+ InventoryFolderBase folder = InventoryService.GetFolder(remoteClient.AgentId, folderID);
if (folder != null)
{
folder.ParentID = parentID;
diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs
index 2617723..ec34e39 100644
--- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs
+++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs
@@ -505,8 +505,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
//variable will be set to null and attachment will
//not be included with the group notice.
Scene scene = (Scene)remoteClient.Scene;
- item = new InventoryItemBase(itemID, ownerID);
- item = scene.InventoryService.GetItem(item);
+ item = scene.InventoryService.GetItem(ownerID, itemID);
if (item != null)
{
--
cgit v1.1