From c5af39239f7f2a1725d9c08bea80522de8835e0f Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Wed, 19 Aug 2009 00:13:51 -0700 Subject: A better purge of trash folder. --- .../Connectors/Inventory/HGInventoryServiceConnector.cs | 4 ++-- .../Connectors/Inventory/ISessionAuthInventoryService.cs | 2 +- .../Connectors/Inventory/InventoryServiceConnector.cs | 9 ++++++--- .../Inventory/QuickAndDirtyInventoryServiceConnector.cs | 2 +- OpenSim/Services/Interfaces/IInventoryService.cs | 3 ++- OpenSim/Services/InventoryService/InventoryService.cs | 12 ++++++++---- 6 files changed, 20 insertions(+), 12 deletions(-) (limited to 'OpenSim/Services') diff --git a/OpenSim/Services/Connectors/Inventory/HGInventoryServiceConnector.cs b/OpenSim/Services/Connectors/Inventory/HGInventoryServiceConnector.cs index 75fa516..00b74b5 100644 --- a/OpenSim/Services/Connectors/Inventory/HGInventoryServiceConnector.cs +++ b/OpenSim/Services/Connectors/Inventory/HGInventoryServiceConnector.cs @@ -253,7 +253,7 @@ namespace OpenSim.Services.Connectors.Inventory return false; } - public bool DeleteItem(string id, InventoryItemBase item, UUID sessionID) + public bool DeleteItems(string id, List itemIDs, UUID sessionID) { string url = string.Empty; string userID = string.Empty; @@ -261,7 +261,7 @@ namespace OpenSim.Services.Connectors.Inventory if (StringToUrlAndUserID(id, out url, out userID)) { ISessionAuthInventoryService connector = GetConnector(url); - return connector.UpdateItem(userID, item, sessionID); + return connector.DeleteItems(userID, itemIDs, sessionID); } return false; } diff --git a/OpenSim/Services/Connectors/Inventory/ISessionAuthInventoryService.cs b/OpenSim/Services/Connectors/Inventory/ISessionAuthInventoryService.cs index 7f051f3..e4e713c 100644 --- a/OpenSim/Services/Connectors/Inventory/ISessionAuthInventoryService.cs +++ b/OpenSim/Services/Connectors/Inventory/ISessionAuthInventoryService.cs @@ -121,7 +121,7 @@ namespace OpenSim.Services.Connectors /// /// /// true if the item was successfully deleted - bool DeleteItem(string userID, InventoryItemBase item, UUID session_id); + bool DeleteItems(string userID, List itemIDs, UUID session_id); InventoryItemBase QueryItem(string userID, InventoryItemBase item, UUID session_id); diff --git a/OpenSim/Services/Connectors/Inventory/InventoryServiceConnector.cs b/OpenSim/Services/Connectors/Inventory/InventoryServiceConnector.cs index 5aa4b30..9b2e331 100644 --- a/OpenSim/Services/Connectors/Inventory/InventoryServiceConnector.cs +++ b/OpenSim/Services/Connectors/Inventory/InventoryServiceConnector.cs @@ -383,12 +383,15 @@ namespace OpenSim.Services.Connectors return false; } - public bool DeleteItem(string userID, InventoryItemBase item, UUID sessionID) + public bool DeleteItems(string userID, List items, UUID sessionID) { try { - return SynchronousRestSessionObjectPoster.BeginPostObject( - "POST", m_ServerURI + "/DeleteItem/", item, sessionID.ToString(), item.Owner.ToString()); + List guids = new List(); + foreach (UUID u in items) + guids.Add(u.Guid); + return SynchronousRestSessionObjectPoster, bool>.BeginPostObject( + "POST", m_ServerURI + "/DeleteItem/", guids, sessionID.ToString(), userID); } catch (Exception e) { diff --git a/OpenSim/Services/Connectors/Inventory/QuickAndDirtyInventoryServiceConnector.cs b/OpenSim/Services/Connectors/Inventory/QuickAndDirtyInventoryServiceConnector.cs index 5cbd307..3bbf129 100644 --- a/OpenSim/Services/Connectors/Inventory/QuickAndDirtyInventoryServiceConnector.cs +++ b/OpenSim/Services/Connectors/Inventory/QuickAndDirtyInventoryServiceConnector.cs @@ -151,7 +151,7 @@ namespace OpenSim.Services.Connectors return false; } - public bool DeleteItem(InventoryItemBase item) + public bool DeleteItems(UUID owner, List itemIDs) { return false; } diff --git a/OpenSim/Services/Interfaces/IInventoryService.cs b/OpenSim/Services/Interfaces/IInventoryService.cs index a89a238..6409b57 100644 --- a/OpenSim/Services/Interfaces/IInventoryService.cs +++ b/OpenSim/Services/Interfaces/IInventoryService.cs @@ -147,7 +147,8 @@ namespace OpenSim.Services.Interfaces /// /// /// true if the item was successfully deleted - bool DeleteItem(InventoryItemBase item); + //bool DeleteItem(InventoryItemBase item); + bool DeleteItems(UUID userID, List itemIDs); /// /// Get an item, given by its UUID diff --git a/OpenSim/Services/InventoryService/InventoryService.cs b/OpenSim/Services/InventoryService/InventoryService.cs index 65c2d96..69b1b28 100644 --- a/OpenSim/Services/InventoryService/InventoryService.cs +++ b/OpenSim/Services/InventoryService/InventoryService.cs @@ -387,12 +387,14 @@ namespace OpenSim.Services.InventoryService } // See IInventoryServices - public virtual bool DeleteItem(InventoryItemBase item) + public virtual bool DeleteItems(UUID owner, List itemIDs) { m_log.InfoFormat( - "[INVENTORY SERVICE]: Deleting item {0} {1} from folder {2}", item.Name, item.ID, item.Folder); + "[INVENTORY SERVICE]: Deleting {0} items from user {1}", itemIDs.Count, owner); - m_Database.deleteInventoryItem(item.ID); + // uhh..... + foreach (UUID uuid in itemIDs) + m_Database.deleteInventoryItem(uuid); // FIXME: Should return false on failure return true; @@ -439,10 +441,12 @@ namespace OpenSim.Services.InventoryService List items = GetFolderItems(folder.Owner, folder.ID); + List uuids = new List(); foreach (InventoryItemBase item in items) { - DeleteItem(item); + uuids.Add(item.ID); } + DeleteItems(folder.Owner, uuids); // FIXME: Should return false on failure return true; -- cgit v1.1