diff options
author | Melanie Thielker | 2016-07-04 03:35:48 +0100 |
---|---|---|
committer | Melanie Thielker | 2016-07-04 03:35:48 +0100 |
commit | ea8f3c83bf96453e8223d918933d5708fa49a3cc (patch) | |
tree | 288972a5d6f112426da2b5ab109fe18ba5aedc2e /OpenSim/Region/CoreModules/Avatar | |
parent | increase xmlrpc timeout in xmlrpcgroups, disable its cache until its entries ... (diff) | |
download | opensim-SC_OLD-ea8f3c83bf96453e8223d918933d5708fa49a3cc.zip opensim-SC_OLD-ea8f3c83bf96453e8223d918933d5708fa49a3cc.tar.gz opensim-SC_OLD-ea8f3c83bf96453e8223d918933d5708fa49a3cc.tar.bz2 opensim-SC_OLD-ea8f3c83bf96453e8223d918933d5708fa49a3cc.tar.xz |
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.
Diffstat (limited to 'OpenSim/Region/CoreModules/Avatar')
6 files changed, 24 insertions, 48 deletions
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 | |||
898 | 898 | ||
899 | string sceneObjectXml = SceneObjectSerializer.ToOriginalXmlFormat(grp, scriptedState); | 899 | string sceneObjectXml = SceneObjectSerializer.ToOriginalXmlFormat(grp, scriptedState); |
900 | 900 | ||
901 | InventoryItemBase item = new InventoryItemBase(grp.FromItemID, sp.UUID); | 901 | InventoryItemBase item = m_scene.InventoryService.GetItem(sp.UUID, grp.FromItemID); |
902 | item = m_scene.InventoryService.GetItem(item); | ||
903 | 902 | ||
904 | if (item != null) | 903 | if (item != null) |
905 | { | 904 | { |
@@ -1223,8 +1222,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments | |||
1223 | return; | 1222 | return; |
1224 | } | 1223 | } |
1225 | 1224 | ||
1226 | InventoryItemBase item = new InventoryItemBase(itemID, sp.UUID); | 1225 | InventoryItemBase item = m_scene.InventoryService.GetItem(sp.UUID, itemID); |
1227 | item = m_scene.InventoryService.GetItem(item); | ||
1228 | if (item == null) | 1226 | if (item == null) |
1229 | return; | 1227 | return; |
1230 | 1228 | ||
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 | |||
219 | // sp.Appearance.GetAttachpoint(attSo.FromItemID), | 219 | // sp.Appearance.GetAttachpoint(attSo.FromItemID), |
220 | // Is.EqualTo((int)AttachmentPoint.Chest)); | 220 | // Is.EqualTo((int)AttachmentPoint.Chest)); |
221 | 221 | ||
222 | InventoryItemBase attachmentItem = scene.InventoryService.GetItem(new InventoryItemBase(attSo.FromItemID)); | 222 | InventoryItemBase attachmentItem = scene.InventoryService.GetItem(sp.UUID, attSo.FromItemID); |
223 | Assert.That(attachmentItem, Is.Not.Null); | 223 | Assert.That(attachmentItem, Is.Not.Null); |
224 | Assert.That(attachmentItem.Name, Is.EqualTo(attName)); | 224 | Assert.That(attachmentItem.Name, Is.EqualTo(attName)); |
225 | 225 | ||
@@ -266,7 +266,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests | |||
266 | // sp.Appearance.GetAttachpoint(attSo.FromItemID), | 266 | // sp.Appearance.GetAttachpoint(attSo.FromItemID), |
267 | // Is.EqualTo((int)AttachmentPoint.LeftHand)); | 267 | // Is.EqualTo((int)AttachmentPoint.LeftHand)); |
268 | 268 | ||
269 | InventoryItemBase attachmentItem = scene.InventoryService.GetItem(new InventoryItemBase(attSo.FromItemID)); | 269 | InventoryItemBase attachmentItem = scene.InventoryService.GetItem(sp.UUID, attSo.FromItemID); |
270 | Assert.That(attachmentItem, Is.Not.Null); | 270 | Assert.That(attachmentItem, Is.Not.Null); |
271 | Assert.That(attachmentItem.Name, Is.EqualTo(so.Name)); | 271 | Assert.That(attachmentItem.Name, Is.EqualTo(so.Name)); |
272 | 272 | ||
@@ -299,7 +299,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests | |||
299 | // sp.Appearance.GetAttachpoint(attSo.FromItemID), | 299 | // sp.Appearance.GetAttachpoint(attSo.FromItemID), |
300 | // Is.EqualTo((int)AttachmentPoint.LeftHand)); | 300 | // Is.EqualTo((int)AttachmentPoint.LeftHand)); |
301 | 301 | ||
302 | InventoryItemBase attachmentItem = scene.InventoryService.GetItem(new InventoryItemBase(attSo.FromItemID)); | 302 | InventoryItemBase attachmentItem = scene.InventoryService.GetItem(sp.UUID, attSo.FromItemID); |
303 | Assert.That(attachmentItem, Is.Not.Null); | 303 | Assert.That(attachmentItem, Is.Not.Null); |
304 | Assert.That(attachmentItem.Name, Is.EqualTo(so2.Name)); | 304 | Assert.That(attachmentItem.Name, Is.EqualTo(so2.Name)); |
305 | 305 | ||
@@ -332,7 +332,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests | |||
332 | // sp.Appearance.GetAttachpoint(attSo.FromItemID), | 332 | // sp.Appearance.GetAttachpoint(attSo.FromItemID), |
333 | // Is.EqualTo((int)AttachmentPoint.LeftHand)); | 333 | // Is.EqualTo((int)AttachmentPoint.LeftHand)); |
334 | 334 | ||
335 | InventoryItemBase attachmentItem = scene.InventoryService.GetItem(new InventoryItemBase(attSo.FromItemID)); | 335 | InventoryItemBase attachmentItem = scene.InventoryService.GetItem(sp.UUID, attSo.FromItemID); |
336 | Assert.That(attachmentItem, Is.Not.Null); | 336 | Assert.That(attachmentItem, Is.Not.Null); |
337 | Assert.That(attachmentItem.Name, Is.EqualTo(so2.Name)); | 337 | Assert.That(attachmentItem.Name, Is.EqualTo(so2.Name)); |
338 | 338 | ||
@@ -600,7 +600,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests | |||
600 | // Assert.That(sp.Appearance.GetAttachments().Count, Is.EqualTo(0)); | 600 | // Assert.That(sp.Appearance.GetAttachments().Count, Is.EqualTo(0)); |
601 | 601 | ||
602 | // Check item status | 602 | // Check item status |
603 | Assert.That(scene.InventoryService.GetItem(new InventoryItemBase(attItem.ID)), Is.Null); | 603 | Assert.That(scene.InventoryService.GetItem(sp.UUID, attItem.ID), Is.Null); |
604 | 604 | ||
605 | // Check object in scene | 605 | // Check object in scene |
606 | SceneObjectGroup soInScene = scene.GetSceneObjectGroup("att"); | 606 | SceneObjectGroup soInScene = scene.GetSceneObjectGroup("att"); |
@@ -679,7 +679,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests | |||
679 | 679 | ||
680 | scene.AttachmentsModule.DetachSingleAttachmentToInv(sp, rezzedSo); | 680 | scene.AttachmentsModule.DetachSingleAttachmentToInv(sp, rezzedSo); |
681 | 681 | ||
682 | InventoryItemBase userItemUpdated = scene.InventoryService.GetItem(userItem); | 682 | InventoryItemBase userItemUpdated = scene.InventoryService.GetItem(userItem.Owner, userItem.ID); |
683 | AssetBase asset = scene.AssetService.Get(userItemUpdated.AssetID.ToString()); | 683 | AssetBase asset = scene.AssetService.Get(userItemUpdated.AssetID.ToString()); |
684 | 684 | ||
685 | // TODO: It would probably be better here to check script state via the saving and retrieval of state | 685 | // 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 | |||
904 | continue; | 904 | continue; |
905 | } | 905 | } |
906 | 906 | ||
907 | InventoryItemBase baseItem = new InventoryItemBase(appearance.Wearables[i][j].ItemID, userID); | 907 | InventoryItemBase baseItem = invService.GetItem(userID, appearance.Wearables[i][j].ItemID); |
908 | baseItem = invService.GetItem(baseItem); | ||
909 | 908 | ||
910 | if (baseItem != null) | 909 | if (baseItem != null) |
911 | { | 910 | { |
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 | |||
239 | InventoryFolderBase trashFolder = | 239 | InventoryFolderBase trashFolder = |
240 | invService.GetFolderForType(client.AgentId, FolderType.Trash); | 240 | invService.GetFolderForType(client.AgentId, FolderType.Trash); |
241 | 241 | ||
242 | InventoryItemBase item = new InventoryItemBase(transactionID, client.AgentId); | 242 | InventoryItemBase item = invService.GetItem(client.AgentId, transactionID); |
243 | item = invService.GetItem(item); | ||
244 | 243 | ||
245 | if (item != null && trashFolder != null) | 244 | if (item != null && trashFolder != null) |
246 | { | 245 | { |
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 | |||
86 | { | 86 | { |
87 | IInventoryService invService = m_scene.InventoryService; | 87 | IInventoryService invService = m_scene.InventoryService; |
88 | 88 | ||
89 | InventoryItemBase item = new InventoryItemBase(gestureId, client.AgentId); | 89 | InventoryItemBase item = invService.GetItem(client.AgentId, gestureId); |
90 | item = invService.GetItem(item); | ||
91 | if (item != null) | 90 | if (item != null) |
92 | { | 91 | { |
93 | item.Flags |= 1; | 92 | item.Flags |= 1; |
@@ -102,8 +101,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Gestures | |||
102 | { | 101 | { |
103 | IInventoryService invService = m_scene.InventoryService; | 102 | IInventoryService invService = m_scene.InventoryService; |
104 | 103 | ||
105 | InventoryItemBase item = new InventoryItemBase(gestureId, client.AgentId); | 104 | InventoryItemBase item = invService.GetItem(client.AgentId, gestureId); |
106 | item = invService.GetItem(item); | ||
107 | if (item != null) | 105 | if (item != null) |
108 | { | 106 | { |
109 | item.Flags &= ~(uint)1; | 107 | 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 | |||
270 | // RLV uses this | 270 | // RLV uses this |
271 | if (im.dialog == (byte) InstantMessageDialog.TaskInventoryAccepted) | 271 | if (im.dialog == (byte) InstantMessageDialog.TaskInventoryAccepted) |
272 | { | 272 | { |
273 | InventoryFolderBase folder = new InventoryFolderBase(inventoryID, client.AgentId); | 273 | InventoryFolderBase folder = invService.GetFolder(client.AgentId, inventoryID); |
274 | folder = invService.GetFolder(folder); | ||
275 | 274 | ||
276 | if (folder != null) | 275 | if (folder != null) |
277 | { | 276 | { |
@@ -280,8 +279,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer | |||
280 | UUID destFolderID = new UUID(im.binaryBucket, 0); | 279 | UUID destFolderID = new UUID(im.binaryBucket, 0); |
281 | if (destFolderID != UUID.Zero) | 280 | if (destFolderID != UUID.Zero) |
282 | { | 281 | { |
283 | InventoryFolderBase destFolder = new InventoryFolderBase(destFolderID, client.AgentId); | 282 | InventoryFolderBase destFolder = invService.GetFolder(client.AgentId, destFolderID); |
284 | destFolder = invService.GetFolder(destFolder); | ||
285 | if (destFolder != null) | 283 | if (destFolder != null) |
286 | { | 284 | { |
287 | if (folder.ParentID != destFolder.ID) | 285 | if (folder.ParentID != destFolder.ID) |
@@ -339,8 +337,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer | |||
339 | 337 | ||
340 | UUID inventoryID = new UUID(im.imSessionID); // The inventory item/folder, back from it's trip | 338 | UUID inventoryID = new UUID(im.imSessionID); // The inventory item/folder, back from it's trip |
341 | 339 | ||
342 | InventoryItemBase item = new InventoryItemBase(inventoryID, client.AgentId); | 340 | InventoryItemBase item = invService.GetItem(client.AgentId, inventoryID); |
343 | item = invService.GetItem(item); | ||
344 | InventoryFolderBase folder = null; | 341 | InventoryFolderBase folder = null; |
345 | UUID? previousParentFolderID = null; | 342 | UUID? previousParentFolderID = null; |
346 | 343 | ||
@@ -354,8 +351,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer | |||
354 | } | 351 | } |
355 | else | 352 | else |
356 | { | 353 | { |
357 | folder = new InventoryFolderBase(inventoryID, client.AgentId); | 354 | folder = invService.GetFolder(client.AgentId, inventoryID); |
358 | folder = invService.GetFolder(folder); | ||
359 | 355 | ||
360 | if (folder != null) // It's a folder | 356 | if (folder != null) // It's a folder |
361 | { | 357 | { |
@@ -368,9 +364,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer | |||
368 | // Tell client about updates to original parent and new parent (this should probably be factored with existing move item/folder code). | 364 | // Tell client about updates to original parent and new parent (this should probably be factored with existing move item/folder code). |
369 | if (previousParentFolderID != null) | 365 | if (previousParentFolderID != null) |
370 | { | 366 | { |
371 | InventoryFolderBase previousParentFolder | 367 | InventoryFolderBase previousParentFolder = invService.GetFolder(client.AgentId, (UUID)previousParentFolderID); |
372 | = new InventoryFolderBase((UUID)previousParentFolderID, client.AgentId); | ||
373 | previousParentFolder = invService.GetFolder(previousParentFolder); | ||
374 | scene.SendInventoryUpdate(client, previousParentFolder, true, true); | 368 | scene.SendInventoryUpdate(client, previousParentFolder, true, true); |
375 | 369 | ||
376 | scene.SendInventoryUpdate(client, destinationFolder, true, true); | 370 | scene.SendInventoryUpdate(client, destinationFolder, true, true); |
@@ -392,8 +386,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer | |||
392 | 386 | ||
393 | UUID inventoryID = new UUID(im.imSessionID); // The inventory item/folder, back from it's trip | 387 | UUID inventoryID = new UUID(im.imSessionID); // The inventory item/folder, back from it's trip |
394 | 388 | ||
395 | InventoryItemBase item = new InventoryItemBase(inventoryID, client.AgentId); | 389 | InventoryItemBase item = invService.GetItem(client.AgentId, inventoryID); |
396 | item = invService.GetItem(item); | ||
397 | InventoryFolderBase folder = null; | 390 | InventoryFolderBase folder = null; |
398 | UUID? previousParentFolderID = null; | 391 | UUID? previousParentFolderID = null; |
399 | 392 | ||
@@ -410,8 +403,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer | |||
410 | } | 403 | } |
411 | else | 404 | else |
412 | { | 405 | { |
413 | folder = new InventoryFolderBase(inventoryID, client.AgentId); | 406 | folder = invService.GetFolder(client.AgentId, inventoryID); |
414 | folder = invService.GetFolder(folder); | ||
415 | 407 | ||
416 | if (folder != null & trashFolder != null) | 408 | if (folder != null & trashFolder != null) |
417 | { | 409 | { |
@@ -439,9 +431,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer | |||
439 | // Tell client about updates to original parent and new parent (this should probably be factored with existing move item/folder code). | 431 | // Tell client about updates to original parent and new parent (this should probably be factored with existing move item/folder code). |
440 | else if (previousParentFolderID != null) | 432 | else if (previousParentFolderID != null) |
441 | { | 433 | { |
442 | InventoryFolderBase previousParentFolder | 434 | InventoryFolderBase previousParentFolder = invService.GetFolder(client.AgentId, (UUID)previousParentFolderID); |
443 | = new InventoryFolderBase((UUID)previousParentFolderID, client.AgentId); | ||
444 | previousParentFolder = invService.GetFolder(previousParentFolder); | ||
445 | scene.SendInventoryUpdate(client, previousParentFolder, true, true); | 435 | scene.SendInventoryUpdate(client, previousParentFolder, true, true); |
446 | 436 | ||
447 | scene.SendInventoryUpdate(client, trashFolder, true, true); | 437 | scene.SendInventoryUpdate(client, trashFolder, true, true); |
@@ -500,10 +490,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer | |||
500 | { | 490 | { |
501 | UUID folderID = new UUID(im.binaryBucket, 1); | 491 | UUID folderID = new UUID(im.binaryBucket, 1); |
502 | 492 | ||
503 | InventoryFolderBase given = | ||
504 | new InventoryFolderBase(folderID, recipientID); | ||
505 | InventoryFolderBase folder = | 493 | InventoryFolderBase folder = |
506 | scene.InventoryService.GetFolder(given); | 494 | scene.InventoryService.GetFolder(recipientID, folderID); |
507 | 495 | ||
508 | if (folder != null) | 496 | if (folder != null) |
509 | user.ControllingClient.SendBulkUpdateInventory(folder); | 497 | user.ControllingClient.SendBulkUpdateInventory(folder); |
@@ -512,10 +500,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer | |||
512 | { | 500 | { |
513 | UUID itemID = new UUID(im.binaryBucket, 1); | 501 | UUID itemID = new UUID(im.binaryBucket, 1); |
514 | 502 | ||
515 | InventoryItemBase given = | ||
516 | new InventoryItemBase(itemID, recipientID); | ||
517 | InventoryItemBase item = | 503 | InventoryItemBase item = |
518 | scene.InventoryService.GetItem(given); | 504 | scene.InventoryService.GetItem(recipientID, itemID); |
519 | 505 | ||
520 | if (item != null) | 506 | if (item != null) |
521 | { | 507 | { |
@@ -538,10 +524,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer | |||
538 | { | 524 | { |
539 | UUID folderID = new UUID(im.imSessionID); | 525 | UUID folderID = new UUID(im.imSessionID); |
540 | 526 | ||
541 | InventoryFolderBase given = | ||
542 | new InventoryFolderBase(folderID, recipientID); | ||
543 | InventoryFolderBase folder = | 527 | InventoryFolderBase folder = |
544 | scene.InventoryService.GetFolder(given); | 528 | scene.InventoryService.GetFolder(recipientID, folderID); |
545 | 529 | ||
546 | if (folder != null) | 530 | if (folder != null) |
547 | user.ControllingClient.SendBulkUpdateInventory(folder); | 531 | user.ControllingClient.SendBulkUpdateInventory(folder); |
@@ -550,10 +534,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer | |||
550 | { | 534 | { |
551 | UUID itemID = new UUID(im.imSessionID); | 535 | UUID itemID = new UUID(im.imSessionID); |
552 | 536 | ||
553 | InventoryItemBase given = | ||
554 | new InventoryItemBase(itemID, recipientID); | ||
555 | InventoryItemBase item = | 537 | InventoryItemBase item = |
556 | scene.InventoryService.GetItem(given); | 538 | scene.InventoryService.GetItem(recipientID, itemID); |
557 | 539 | ||
558 | if (item != null) | 540 | if (item != null) |
559 | { | 541 | { |