From 367606227774c4551a8929b2b42f8d014efff318 Mon Sep 17 00:00:00 2001 From: Mike Mazur Date: Thu, 5 Mar 2009 08:29:52 +0000 Subject: Use Inventory{Item,Folder}Base in AssetInventoryServer. Also the first inventory storage methods are implemented. --- .../Plugins/Simple/SimpleInventoryStoragePlugin.cs | 82 +++++++++++----------- 1 file changed, 41 insertions(+), 41 deletions(-) (limited to 'OpenSim/Grid/AssetInventoryServer/Plugins/Simple') diff --git a/OpenSim/Grid/AssetInventoryServer/Plugins/Simple/SimpleInventoryStoragePlugin.cs b/OpenSim/Grid/AssetInventoryServer/Plugins/Simple/SimpleInventoryStoragePlugin.cs index cab8700..4010818 100644 --- a/OpenSim/Grid/AssetInventoryServer/Plugins/Simple/SimpleInventoryStoragePlugin.cs +++ b/OpenSim/Grid/AssetInventoryServer/Plugins/Simple/SimpleInventoryStoragePlugin.cs @@ -44,7 +44,7 @@ namespace OpenSim.Grid.AssetInventoryServer.Plugins.Simple private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); AssetInventoryServer server; Dictionary inventories = new Dictionary(); - Dictionary> activeGestures = new Dictionary>(); + Dictionary> activeGestures = new Dictionary>(); Utils.InventoryItemSerializer itemSerializer = new Utils.InventoryItemSerializer(); Utils.InventoryFolderSerializer folderSerializer = new Utils.InventoryFolderSerializer(); @@ -54,7 +54,7 @@ namespace OpenSim.Grid.AssetInventoryServer.Plugins.Simple #region Required Interfaces - public BackendResponse TryFetchItem(Uri owner, UUID itemID, out InventoryItem item) + public BackendResponse TryFetchItem(Uri owner, UUID itemID, out InventoryItemBase item) { item = null; BackendResponse ret; @@ -69,7 +69,7 @@ namespace OpenSim.Grid.AssetInventoryServer.Plugins.Simple return ret; } - public BackendResponse TryFetchFolder(Uri owner, UUID folderID, out InventoryFolder folder) + public BackendResponse TryFetchFolder(Uri owner, UUID folderID, out InventoryFolderWithChildren folder) { folder = null; BackendResponse ret; @@ -90,25 +90,25 @@ namespace OpenSim.Grid.AssetInventoryServer.Plugins.Simple BackendResponse ret; InventoryCollection collection; - InventoryFolder folder; + InventoryFolderWithChildren folder; if (inventories.TryGetValue(owner, out collection) && collection.Folders.TryGetValue(folderID, out folder)) { contents = new InventoryCollection(); contents.UserID = collection.UserID; - contents.Folders = new Dictionary(); - contents.Items = new Dictionary(); + contents.Folders = new Dictionary(); + contents.Items = new Dictionary(); - foreach (InventoryBase invBase in folder.Children.Values) + foreach (InventoryNodeBase invBase in folder.Children.Values) { - if (invBase is InventoryItem) + if (invBase is InventoryItemBase) { - InventoryItem invItem = invBase as InventoryItem; + InventoryItemBase invItem = invBase as InventoryItemBase; contents.Items.Add(invItem.ID, invItem); } else { - InventoryFolder invFolder = invBase as InventoryFolder; + InventoryFolderWithChildren invFolder = invBase as InventoryFolderWithChildren; contents.Folders.Add(invFolder.ID, invFolder); } } @@ -124,7 +124,7 @@ namespace OpenSim.Grid.AssetInventoryServer.Plugins.Simple return ret; } - public BackendResponse TryFetchFolderList(Uri owner, out List folders) + public BackendResponse TryFetchFolderList(Uri owner, out List folders) { folders = null; BackendResponse ret; @@ -132,7 +132,7 @@ namespace OpenSim.Grid.AssetInventoryServer.Plugins.Simple InventoryCollection collection; if (inventories.TryGetValue(owner, out collection)) { - folders = new List(collection.Folders.Values); + folders = new List(collection.Folders.Values); return BackendResponse.Success; } else @@ -158,7 +158,7 @@ namespace OpenSim.Grid.AssetInventoryServer.Plugins.Simple return ret; } - public BackendResponse TryFetchActiveGestures(Uri owner, out List gestures) + public BackendResponse TryFetchActiveGestures(Uri owner, out List gestures) { gestures = null; BackendResponse ret; @@ -172,7 +172,7 @@ namespace OpenSim.Grid.AssetInventoryServer.Plugins.Simple return ret; } - public BackendResponse TryCreateItem(Uri owner, InventoryItem item) + public BackendResponse TryCreateItem(Uri owner, InventoryItemBase item) { BackendResponse ret; @@ -180,7 +180,7 @@ namespace OpenSim.Grid.AssetInventoryServer.Plugins.Simple if (inventories.TryGetValue(owner, out collection)) { // Delete this item first if it already exists - InventoryItem oldItem; + InventoryItemBase oldItem; if (collection.Items.TryGetValue(item.ID, out oldItem)) TryDeleteItem(owner, item.ID); @@ -193,7 +193,7 @@ namespace OpenSim.Grid.AssetInventoryServer.Plugins.Simple lock (collection) collection.Items[item.ID] = item; // Add the item to its parent folder - InventoryFolder parent; + InventoryFolderWithChildren parent; if (collection.Folders.TryGetValue(item.Folder, out parent)) lock (parent.Children) parent.Children.Add(item.ID, item); @@ -221,7 +221,7 @@ namespace OpenSim.Grid.AssetInventoryServer.Plugins.Simple return ret; } - public BackendResponse TryCreateFolder(Uri owner, InventoryFolder folder) + public BackendResponse TryCreateFolder(Uri owner, InventoryFolderWithChildren folder) { BackendResponse ret; @@ -229,7 +229,7 @@ namespace OpenSim.Grid.AssetInventoryServer.Plugins.Simple if (inventories.TryGetValue(owner, out collection)) { // Delete this folder first if it already exists - InventoryFolder oldFolder; + InventoryFolderWithChildren oldFolder; if (collection.Folders.TryGetValue(folder.ID, out oldFolder)) TryDeleteFolder(owner, folder.ID); @@ -242,7 +242,7 @@ namespace OpenSim.Grid.AssetInventoryServer.Plugins.Simple lock (collection) collection.Folders[folder.ID] = folder; // Add the folder to its parent folder - InventoryFolder parent; + InventoryFolderWithChildren parent; if (collection.Folders.TryGetValue(folder.ParentID, out parent)) lock (parent.Children) parent.Children.Add(folder.ID, folder); @@ -263,7 +263,7 @@ namespace OpenSim.Grid.AssetInventoryServer.Plugins.Simple return ret; } - public BackendResponse TryCreateInventory(Uri owner, InventoryFolder rootFolder) + public BackendResponse TryCreateInventory(Uri owner, InventoryFolderWithChildren rootFolder) { BackendResponse ret; @@ -273,9 +273,9 @@ namespace OpenSim.Grid.AssetInventoryServer.Plugins.Simple { InventoryCollection collection = new InventoryCollection(); collection.UserID = rootFolder.Owner; - collection.Folders = new Dictionary(); + collection.Folders = new Dictionary(); collection.Folders.Add(rootFolder.ID, rootFolder); - collection.Items = new Dictionary(); + collection.Items = new Dictionary(); inventories.Add(owner, collection); @@ -318,11 +318,11 @@ namespace OpenSim.Grid.AssetInventoryServer.Plugins.Simple BackendResponse ret; InventoryCollection collection; - InventoryItem item; + InventoryItemBase item; if (inventories.TryGetValue(owner, out collection) && collection.Items.TryGetValue(itemID, out item)) { // Remove the item from its parent folder - InventoryFolder parent; + InventoryFolderWithChildren parent; if (collection.Folders.TryGetValue(item.Folder, out parent)) lock (parent.Children) parent.Children.Remove(itemID); @@ -371,11 +371,11 @@ namespace OpenSim.Grid.AssetInventoryServer.Plugins.Simple BackendResponse ret; InventoryCollection collection; - InventoryFolder folder; + InventoryFolderWithChildren folder; if (inventories.TryGetValue(owner, out collection) && collection.Folders.TryGetValue(folderID, out folder)) { // Remove the folder from its parent folder - InventoryFolder parent; + InventoryFolderWithChildren parent; if (collection.Folders.TryGetValue(folder.ParentID, out parent)) lock (parent.Children) parent.Children.Remove(folderID); @@ -408,19 +408,19 @@ namespace OpenSim.Grid.AssetInventoryServer.Plugins.Simple BackendResponse ret; InventoryCollection collection; - InventoryFolder folder; + InventoryFolderWithChildren folder; if (inventories.TryGetValue(owner, out collection) && collection.Folders.TryGetValue(folderID, out folder)) { // Delete all of the folder children - foreach (InventoryBase obj in new List(folder.Children.Values)) + foreach (InventoryNodeBase obj in new List(folder.Children.Values)) { - if (obj is InventoryItem) + if (obj is InventoryItemBase) { - TryDeleteItem(owner, (obj as InventoryItem).ID); + TryDeleteItem(owner, (obj as InventoryItemBase).ID); } else { - InventoryFolder childFolder = obj as InventoryFolder; + InventoryFolderWithChildren childFolder = obj as InventoryFolderWithChildren; TryPurgeFolder(owner, childFolder.ID); TryDeleteFolder(owner, childFolder.ID); } @@ -439,7 +439,7 @@ namespace OpenSim.Grid.AssetInventoryServer.Plugins.Simple #endregion Required Interfaces - void SaveItem(InventoryItem item) + void SaveItem(InventoryItemBase item) { string filename = String.Format("{0}-{1}.item", SanitizeFilename(item.Name), item.ID); @@ -453,7 +453,7 @@ namespace OpenSim.Grid.AssetInventoryServer.Plugins.Simple } } - void SaveFolder(InventoryFolder folder) + void SaveFolder(InventoryFolderWithChildren folder) { string filename = String.Format("{0}-{1}.folder", SanitizeFilename(folder.Name), folder.ID); @@ -530,42 +530,42 @@ namespace OpenSim.Grid.AssetInventoryServer.Plugins.Simple if (ownerID != UUID.Zero && owner != null) { // Initialize the active gestures list for this agent - activeGestures.Add(owner, new List()); + activeGestures.Add(owner, new List()); InventoryCollection collection = new InventoryCollection(); collection.UserID = ownerID; // Load all of the folders for this agent string[] folders = Directory.GetFiles(foldername, "*.folder", SearchOption.TopDirectoryOnly); - collection.Folders = new Dictionary(folders.Length); + collection.Folders = new Dictionary(folders.Length); for (int j = 0; j < folders.Length; j++) { - InventoryFolder invFolder = (InventoryFolder)folderSerializer.Deserialize( + InventoryFolderWithChildren invFolder = (InventoryFolderWithChildren)folderSerializer.Deserialize( new FileStream(folders[j], FileMode.Open, FileAccess.Read)); collection.Folders[invFolder.ID] = invFolder; } // Iterate over the folders collection, adding children to their parents - foreach (InventoryFolder invFolder in collection.Folders.Values) + foreach (InventoryFolderWithChildren invFolder in collection.Folders.Values) { - InventoryFolder parent; + InventoryFolderWithChildren parent; if (collection.Folders.TryGetValue(invFolder.ParentID, out parent)) parent.Children[invFolder.ID] = invFolder; } // Load all of the items for this agent string[] files = Directory.GetFiles(foldername, "*.item", SearchOption.TopDirectoryOnly); - collection.Items = new Dictionary(files.Length); + collection.Items = new Dictionary(files.Length); for (int j = 0; j < files.Length; j++) { - InventoryItem invItem = (InventoryItem)itemSerializer.Deserialize( + InventoryItemBase invItem = (InventoryItemBase)itemSerializer.Deserialize( new FileStream(files[j], FileMode.Open, FileAccess.Read)); collection.Items[invItem.ID] = invItem; // Add items to their parent folders - InventoryFolder parent; + InventoryFolderWithChildren parent; if (collection.Folders.TryGetValue(invItem.Folder, out parent)) parent.Children[invItem.ID] = invItem; -- cgit v1.1