From 9377c6f2b28c75a093fa554d64e0d63e6bdf2fa5 Mon Sep 17 00:00:00 2001 From: Mike Mazur Date: Tue, 3 Feb 2009 05:20:26 +0000 Subject: - move OpenSim/Framework/IInventoryData.cs to OpenSim/Data/IInventoryData.cs - trim trailing whitespace --- OpenSim/Data/IInventoryData.cs | 157 +++++++++++++++++++++ OpenSim/Data/Tests/BasicInventoryTest.cs | 20 +-- .../Communications/InventoryServiceBase.cs | 6 +- .../Tests/Cache/UserProfileCacheServiceTests.cs | 111 +++++++-------- OpenSim/Framework/IInventoryData.cs | 156 -------------------- .../Tests/Common/Mock/TestCommunicationsManager.cs | 23 +-- .../Tests/Common/Mock/TestInventoryDataPlugin.cs | 69 ++++----- bin/OpenSim.Data.addin.xml | 2 +- prebuild.xml | 1 + 9 files changed, 276 insertions(+), 269 deletions(-) create mode 100644 OpenSim/Data/IInventoryData.cs delete mode 100644 OpenSim/Framework/IInventoryData.cs diff --git a/OpenSim/Data/IInventoryData.cs b/OpenSim/Data/IInventoryData.cs new file mode 100644 index 0000000..03b1cbe --- /dev/null +++ b/OpenSim/Data/IInventoryData.cs @@ -0,0 +1,157 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSim Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System.Collections.Generic; +using OpenMetaverse; +using OpenSim.Framework; + +namespace OpenSim.Data +{ + /// + /// An interface for accessing inventory data from a storage server + /// + public interface IInventoryDataPlugin : IPlugin + { + /// + /// Initialises the interface + /// + void Initialise(string connect); + + /// + /// Returns all descendent folders of this folder. Does not return the parent folder itself. + /// + /// The folder to get subfolders for + /// A list of inventory folders + List getFolderHierarchy(UUID parentID); + + /// + /// Returns a list of inventory items contained within the specified folder + /// + /// The UUID of the target folder + /// A List of InventoryItemBase items + List getInventoryInFolder(UUID folderID); + + /// + /// Returns a list of the root folders within a users inventory + /// + /// The user whos inventory is to be searched + /// A list of folder objects + List getUserRootFolders(UUID user); + + /// + /// Returns the users inventory root folder. + /// + /// The UUID of the user who is having inventory being returned + /// Root inventory folder, null if no root inventory folder was found + InventoryFolderBase getUserRootFolder(UUID user); + + /// + /// Returns a list of inventory folders contained in the folder 'parentID' + /// + /// The folder to get subfolders for + /// A list of inventory folders + List getInventoryFolders(UUID parentID); + + /// + /// Returns an inventory item by its UUID + /// + /// The UUID of the item to be returned + /// A class containing item information + InventoryItemBase getInventoryItem(UUID item); + + /// + /// Returns a specified inventory folder by its UUID + /// + /// The UUID of the folder to be returned + /// A class containing folder information + InventoryFolderBase getInventoryFolder(UUID folder); + + /// + /// Creates a new inventory item based on item + /// + /// The item to be created + void addInventoryItem(InventoryItemBase item); + + /// + /// Updates an inventory item with item (updates based on ID) + /// + /// The updated item + void updateInventoryItem(InventoryItemBase item); + + /// + /// + /// + /// + void deleteInventoryItem(UUID item); + + /// + /// Adds a new folder specified by folder + /// + /// The inventory folder + void addInventoryFolder(InventoryFolderBase folder); + + /// + /// Updates a folder based on its ID with folder + /// + /// The inventory folder + void updateInventoryFolder(InventoryFolderBase folder); + + /// + /// Updates a folder based on its ID with folder + /// + /// The inventory folder + void moveInventoryFolder(InventoryFolderBase folder); + + /// + /// Deletes a folder. Thie will delete both the folder itself and its contents (items and descendent folders) + /// + /// The id of the folder + void deleteInventoryFolder(UUID folder); + + /// + /// Returns all activated gesture-items in the inventory of the specified avatar. + /// + /// + /// The of the avatar + /// + /// + /// The list of gestures (s) + /// + List fetchActiveGestures(UUID avatarID); + } + + public class InventoryDataInitialiser : PluginInitialiserBase + { + private string connect; + public InventoryDataInitialiser (string s) { connect = s; } + public override void Initialise (IPlugin plugin) + { + IInventoryDataPlugin p = plugin as IInventoryDataPlugin; + p.Initialise (connect); + } + } +} diff --git a/OpenSim/Data/Tests/BasicInventoryTest.cs b/OpenSim/Data/Tests/BasicInventoryTest.cs index ea8e4e8..2e6226f 100644 --- a/OpenSim/Data/Tests/BasicInventoryTest.cs +++ b/OpenSim/Data/Tests/BasicInventoryTest.cs @@ -94,9 +94,9 @@ namespace OpenSim.Data.Tests iname1 = "Shirt"; iname2 = "Text Board"; iname3 = "No Pants Barrel"; - + } - + [Test] public void T001_LoadEmpty() { @@ -163,7 +163,7 @@ namespace OpenSim.Data.Tests { InventoryFolderBase f2 = NewFolder(folder3, folder1, owner1, name3); db.addInventoryFolder(f2); - + Assert.That(db.getInventoryFolders(zero).Count, Is.EqualTo(1)); Assert.That(db.getInventoryFolders(folder1).Count, Is.EqualTo(2)); Assert.That(db.getInventoryFolders(folder2).Count, Is.EqualTo(0)); @@ -171,7 +171,7 @@ namespace OpenSim.Data.Tests Assert.That(db.getInventoryFolders(UUID.Random()).Count, Is.EqualTo(0)); } - + [Test] public void T013_FolderHierarchy() { @@ -182,14 +182,14 @@ namespace OpenSim.Data.Tests Assert.That(db.getFolderHierarchy(UUID.Random()).Count, Is.EqualTo(0)); } - + [Test] public void T014_MoveFolder() { InventoryFolderBase f2 = db.getInventoryFolder(folder2); f2.ParentID = folder3; db.moveInventoryFolder(f2); - + Assert.That(db.getInventoryFolders(zero).Count, Is.EqualTo(1)); Assert.That(db.getInventoryFolders(folder1).Count, Is.EqualTo(1)); Assert.That(db.getInventoryFolders(folder2).Count, Is.EqualTo(0)); @@ -228,7 +228,7 @@ namespace OpenSim.Data.Tests db.addInventoryItem(NewItem(item3, folder3, owner1, iname3, asset3)); Assert.That(db.getInventoryInFolder(folder3).Count, Is.EqualTo(3)); } - + [Test] public void T102_CompareItems() { @@ -245,7 +245,7 @@ namespace OpenSim.Data.Tests Assert.That(i2.AssetID, Is.EqualTo(asset2)); Assert.That(i3.AssetID, Is.EqualTo(asset3)); } - + [Test] public void T103UpdateItem() { @@ -257,7 +257,7 @@ namespace OpenSim.Data.Tests i1.Description = niname1; i1.Owner = owner2; db.updateInventoryItem(i1); - + i1 = db.getInventoryItem(item1); Assert.That(i1.Name, Is.EqualTo(niname1)); Assert.That(i1.Description, Is.EqualTo(niname1)); @@ -287,4 +287,4 @@ namespace OpenSim.Data.Tests return f; } } -} \ No newline at end of file +} diff --git a/OpenSim/Framework/Communications/InventoryServiceBase.cs b/OpenSim/Framework/Communications/InventoryServiceBase.cs index 7a44420..ec5c493 100644 --- a/OpenSim/Framework/Communications/InventoryServiceBase.cs +++ b/OpenSim/Framework/Communications/InventoryServiceBase.cs @@ -33,6 +33,8 @@ using System.Threading; using OpenMetaverse; using log4net; +using OpenSim.Data; + namespace OpenSim.Framework.Communications { /// @@ -50,12 +52,12 @@ namespace OpenSim.Framework.Communications /// /// Add a new inventory data plugin - plugins will be requested in the order they were added. /// - /// The plugin that will provide data + /// The plugin that will provide data public void AddPlugin(IInventoryDataPlugin plugin) { m_plugins.Add(plugin); } - + /// /// Adds a new inventory data plugin - plugins will be requested in the order they were loaded. /// diff --git a/OpenSim/Framework/Communications/Tests/Cache/UserProfileCacheServiceTests.cs b/OpenSim/Framework/Communications/Tests/Cache/UserProfileCacheServiceTests.cs index 827a03b..86d85b1 100644 --- a/OpenSim/Framework/Communications/Tests/Cache/UserProfileCacheServiceTests.cs +++ b/OpenSim/Framework/Communications/Tests/Cache/UserProfileCacheServiceTests.cs @@ -30,19 +30,20 @@ using log4net; using NUnit.Framework; using NUnit.Framework.SyntaxHelpers; using OpenMetaverse; -using OpenSim.Framework; +//using OpenSim.Framework; using OpenSim.Framework.Communications.Cache; using OpenSim.Region.Communications.Local; using OpenSim.Tests.Common.Mock; +using OpenSim.Data; namespace OpenSim.Framework.Communications.Tests -{ +{ /// /// User profile cache service tests /// - [TestFixture] + [TestFixture] public class UserProfileCacheServiceTests - { + { /// /// Test user details get. /// @@ -51,17 +52,17 @@ namespace OpenSim.Framework.Communications.Tests { UUID nonExistingUserId = UUID.Parse("00000000-0000-0000-0000-000000000001"); UUID existingUserId = UUID.Parse("00000000-0000-0000-0000-000000000002"); - + TestCommunicationsManager commsManager = new TestCommunicationsManager(); CachedUserInfo existingUserInfo = UserProfileTestUtils.CreateUserWithInventory(commsManager, existingUserId); - + Assert.That(existingUserInfo, Is.Not.Null, "Existing user info unexpectedly not found"); - + CachedUserInfo nonExistingUserInfo = commsManager.UserProfileCacheService.GetUserDetails(nonExistingUserId); - - Assert.That(nonExistingUserInfo, Is.Null, "Non existing user info unexpectedly found"); + + Assert.That(nonExistingUserInfo, Is.Null, "Non existing user info unexpectedly found"); } - + /// /// Test requesting inventory for a user /// @@ -69,11 +70,11 @@ namespace OpenSim.Framework.Communications.Tests public void TestRequestInventoryForUser() { TestCommunicationsManager commsManager = new TestCommunicationsManager(); - CachedUserInfo userInfo = UserProfileTestUtils.CreateUserWithInventory(commsManager); - + CachedUserInfo userInfo = UserProfileTestUtils.CreateUserWithInventory(commsManager); + Assert.That(userInfo.HasReceivedInventory, Is.True); } - + /// /// Test retrieving a child folder /// @@ -82,45 +83,45 @@ namespace OpenSim.Framework.Communications.Tests { TestCommunicationsManager commsManager = new TestCommunicationsManager(); CachedUserInfo userInfo = UserProfileTestUtils.CreateUserWithInventory(commsManager); - + UUID folderId = UUID.Parse("00000000-0000-0000-0000-000000000011"); - - Assert.That(userInfo.RootFolder.GetChildFolder(folderId), Is.Null); + + Assert.That(userInfo.RootFolder.GetChildFolder(folderId), Is.Null); userInfo.CreateFolder("testFolder", folderId, (ushort)AssetType.Animation, userInfo.RootFolder.ID); - + Assert.That(userInfo.RootFolder.GetChildFolder(folderId), Is.Not.Null); - } - + } + /// /// Test creating an inventory folder /// [Test] public void TestCreateFolder() - { + { TestCommunicationsManager commsManager = new TestCommunicationsManager(); IInventoryDataPlugin inventoryDataPlugin = commsManager.InventoryDataPlugin; - + CachedUserInfo userInfo = UserProfileTestUtils.CreateUserWithInventory(commsManager); - - UUID folderId = UUID.Parse("00000000-0000-0000-0000-000000000010"); + + UUID folderId = UUID.Parse("00000000-0000-0000-0000-000000000010"); Assert.That(userInfo.RootFolder.ContainsChildFolder(folderId), Is.False); - + // 1: Try a folder create that should fail because the parent id given does not exist UUID missingFolderId = UUID.Random(); - + Assert.That( userInfo.CreateFolder("testFolder1", folderId, (ushort)AssetType.Animation, missingFolderId), Is.False); Assert.That(inventoryDataPlugin.getInventoryFolder(folderId), Is.Null); Assert.That(userInfo.RootFolder.ContainsChildFolder(missingFolderId), Is.False); Assert.That(userInfo.RootFolder.FindFolder(folderId), Is.Null); - + // 2: Try a folder create that should work Assert.That( userInfo.CreateFolder("testFolder2", folderId, (ushort)AssetType.Animation, userInfo.RootFolder.ID), Is.True); Assert.That(inventoryDataPlugin.getInventoryFolder(folderId), Is.Not.Null); Assert.That(userInfo.RootFolder.ContainsChildFolder(folderId), Is.True); } - + /// /// Test updating a folder /// @@ -129,54 +130,54 @@ namespace OpenSim.Framework.Communications.Tests { TestCommunicationsManager commsManager = new TestCommunicationsManager(); IInventoryDataPlugin inventoryDataPlugin = commsManager.InventoryDataPlugin; - + CachedUserInfo userInfo = UserProfileTestUtils.CreateUserWithInventory(commsManager); - + UUID folder1Id = UUID.Parse("00000000-0000-0000-0000-000000000060"); InventoryFolderImpl rootFolder = userInfo.RootFolder; - + userInfo.CreateFolder("folder1", folder1Id, (ushort)AssetType.Animation, rootFolder.ID); - + // 1: Test updates that don't involve moving the folder { string newFolderName1 = "newFolderName1"; ushort folderType1 = (ushort)AssetType.Texture; userInfo.UpdateFolder(newFolderName1, folder1Id, folderType1, rootFolder.ID); - + InventoryFolderImpl folder1 = rootFolder.GetChildFolder(folder1Id); Assert.That(newFolderName1, Is.EqualTo(folder1.Name)); Assert.That(folderType1, Is.EqualTo((ushort)folder1.Type)); - + InventoryFolderBase dataFolder1 = inventoryDataPlugin.getInventoryFolder(folder1Id); Assert.That(newFolderName1, Is.EqualTo(dataFolder1.Name)); Assert.That(folderType1, Is.EqualTo((ushort)dataFolder1.Type)); } - + // 2: Test an update that also involves moving the folder { UUID folder2Id = UUID.Parse("00000000-0000-0000-0000-000000000061"); userInfo.CreateFolder("folder2", folder2Id, (ushort)AssetType.Animation, rootFolder.ID); InventoryFolderImpl folder2 = rootFolder.GetChildFolder(folder2Id); - + string newFolderName2 = "newFolderName2"; ushort folderType2 = (ushort)AssetType.Bodypart; userInfo.UpdateFolder(newFolderName2, folder1Id, folderType2, folder2Id); - + InventoryFolderImpl folder1 = folder2.GetChildFolder(folder1Id); Assert.That(newFolderName2, Is.EqualTo(folder1.Name)); Assert.That(folderType2, Is.EqualTo((ushort)folder1.Type)); Assert.That(folder2Id, Is.EqualTo(folder1.ParentID)); - + Assert.That(folder2.ContainsChildFolder(folder1Id), Is.True); Assert.That(rootFolder.ContainsChildFolder(folder1Id), Is.False); - + InventoryFolderBase dataFolder1 = inventoryDataPlugin.getInventoryFolder(folder1Id); Assert.That(newFolderName2, Is.EqualTo(dataFolder1.Name)); - Assert.That(folderType2, Is.EqualTo((ushort)dataFolder1.Type)); + Assert.That(folderType2, Is.EqualTo((ushort)dataFolder1.Type)); Assert.That(folder2Id, Is.EqualTo(dataFolder1.ParentID)); } - - } + + } /// /// Test moving an inventory folder @@ -186,32 +187,32 @@ namespace OpenSim.Framework.Communications.Tests { TestCommunicationsManager commsManager = new TestCommunicationsManager(); IInventoryDataPlugin inventoryDataPlugin = commsManager.InventoryDataPlugin; - + CachedUserInfo userInfo = UserProfileTestUtils.CreateUserWithInventory(commsManager); UUID folder1Id = UUID.Parse("00000000-0000-0000-0000-000000000020"); UUID folder2Id = UUID.Parse("00000000-0000-0000-0000-000000000021"); - UUID folderToMoveId = UUID.Parse("00000000-0000-0000-0000-000000000030"); + UUID folderToMoveId = UUID.Parse("00000000-0000-0000-0000-000000000030"); InventoryFolderImpl rootFolder = userInfo.RootFolder; - + userInfo.CreateFolder("folder1", folder1Id, (ushort)AssetType.Animation, rootFolder.ID); InventoryFolderImpl folder1 = rootFolder.GetChildFolder(folder1Id); userInfo.CreateFolder("folder2", folder2Id, (ushort)AssetType.Animation, rootFolder.ID); InventoryFolderImpl folder2 = rootFolder.GetChildFolder(folder2Id); - + // Check folder is currently in folder1 userInfo.CreateFolder("folderToMove", folderToMoveId, (ushort)AssetType.Animation, folder1Id); Assert.That(folder1.ContainsChildFolder(folderToMoveId), Is.True); - + userInfo.MoveFolder(folderToMoveId, folder2Id); - + // Check folder is now in folder2 and no trace remains in folder1 Assert.That(folder2.ContainsChildFolder(folderToMoveId), Is.True); Assert.That(inventoryDataPlugin.getInventoryFolder(folderToMoveId).ParentID, Is.EqualTo(folder2Id)); - + Assert.That(folder1.ContainsChildFolder(folderToMoveId), Is.False); } - + /// /// Test purging an inventory folder /// @@ -219,21 +220,21 @@ namespace OpenSim.Framework.Communications.Tests public void TestPurgeFolder() { //log4net.Config.XmlConfigurator.Configure(); - + TestCommunicationsManager commsManager = new TestCommunicationsManager(); IInventoryDataPlugin inventoryDataPlugin = commsManager.InventoryDataPlugin; - + CachedUserInfo userInfo = UserProfileTestUtils.CreateUserWithInventory(commsManager); - + UUID folder1Id = UUID.Parse("00000000-0000-0000-0000-000000000070"); InventoryFolderImpl rootFolder = userInfo.RootFolder; - + userInfo.CreateFolder("folder1", folder1Id, (ushort)AssetType.Animation, rootFolder.ID); Assert.That(inventoryDataPlugin.getInventoryFolder(folder1Id), Is.Not.Null); - + // Test purge userInfo.PurgeFolder(rootFolder.ID); - + Assert.That(rootFolder.RequestListOfFolders(), Is.Empty); Assert.That(inventoryDataPlugin.getInventoryFolder(folder1Id), Is.Null); } diff --git a/OpenSim/Framework/IInventoryData.cs b/OpenSim/Framework/IInventoryData.cs deleted file mode 100644 index 8ea1fb3..0000000 --- a/OpenSim/Framework/IInventoryData.cs +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSim Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System.Collections.Generic; -using OpenMetaverse; - -namespace OpenSim.Framework -{ - /// - /// An interface for accessing inventory data from a storage server - /// - public interface IInventoryDataPlugin : IPlugin - { - /// - /// Initialises the interface - /// - void Initialise(string connect); - - /// - /// Returns all descendent folders of this folder. Does not return the parent folder itself. - /// - /// The folder to get subfolders for - /// A list of inventory folders - List getFolderHierarchy(UUID parentID); - - /// - /// Returns a list of inventory items contained within the specified folder - /// - /// The UUID of the target folder - /// A List of InventoryItemBase items - List getInventoryInFolder(UUID folderID); - - /// - /// Returns a list of the root folders within a users inventory - /// - /// The user whos inventory is to be searched - /// A list of folder objects - List getUserRootFolders(UUID user); - - /// - /// Returns the users inventory root folder. - /// - /// The UUID of the user who is having inventory being returned - /// Root inventory folder, null if no root inventory folder was found - InventoryFolderBase getUserRootFolder(UUID user); - - /// - /// Returns a list of inventory folders contained in the folder 'parentID' - /// - /// The folder to get subfolders for - /// A list of inventory folders - List getInventoryFolders(UUID parentID); - - /// - /// Returns an inventory item by its UUID - /// - /// The UUID of the item to be returned - /// A class containing item information - InventoryItemBase getInventoryItem(UUID item); - - /// - /// Returns a specified inventory folder by its UUID - /// - /// The UUID of the folder to be returned - /// A class containing folder information - InventoryFolderBase getInventoryFolder(UUID folder); - - /// - /// Creates a new inventory item based on item - /// - /// The item to be created - void addInventoryItem(InventoryItemBase item); - - /// - /// Updates an inventory item with item (updates based on ID) - /// - /// The updated item - void updateInventoryItem(InventoryItemBase item); - - /// - /// - /// - /// - void deleteInventoryItem(UUID item); - - /// - /// Adds a new folder specified by folder - /// - /// The inventory folder - void addInventoryFolder(InventoryFolderBase folder); - - /// - /// Updates a folder based on its ID with folder - /// - /// The inventory folder - void updateInventoryFolder(InventoryFolderBase folder); - - /// - /// Updates a folder based on its ID with folder - /// - /// The inventory folder - void moveInventoryFolder(InventoryFolderBase folder); - - /// - /// Deletes a folder. Thie will delete both the folder itself and its contents (items and descendent folders) - /// - /// The id of the folder - void deleteInventoryFolder(UUID folder); - - /// - /// Returns all activated gesture-items in the inventory of the specified avatar. - /// - /// - /// The of the avatar - /// - /// - /// The list of gestures (s) - /// - List fetchActiveGestures(UUID avatarID); - } - - public class InventoryDataInitialiser : PluginInitialiserBase - { - private string connect; - public InventoryDataInitialiser (string s) { connect = s; } - public override void Initialise (IPlugin plugin) - { - IInventoryDataPlugin p = plugin as IInventoryDataPlugin; - p.Initialise (connect); - } - } -} diff --git a/OpenSim/Tests/Common/Mock/TestCommunicationsManager.cs b/OpenSim/Tests/Common/Mock/TestCommunicationsManager.cs index 1663ac1..566d8d2 100644 --- a/OpenSim/Tests/Common/Mock/TestCommunicationsManager.cs +++ b/OpenSim/Tests/Common/Mock/TestCommunicationsManager.cs @@ -30,6 +30,7 @@ using OpenSim.Framework.Communications; using OpenSim.Framework.Communications.Cache; using OpenSim.Framework.Servers; using OpenSim.Region.Communications.Local; +using OpenSim.Data; namespace OpenSim.Tests.Common.Mock { @@ -40,36 +41,36 @@ namespace OpenSim.Tests.Common.Mock get { return m_userDataPlugin; } } private IUserDataPlugin m_userDataPlugin; - + public IInventoryDataPlugin InventoryDataPlugin { get { return m_inventoryDataPlugin; } } private IInventoryDataPlugin m_inventoryDataPlugin; - + public TestCommunicationsManager() : this(null) - { + { } - + public TestCommunicationsManager(NetworkServersInfo serversInfo) : base(serversInfo, new BaseHttpServer(666), null, false, null) - { + { m_userDataPlugin = new TestUserDataPlugin(); m_inventoryDataPlugin = new TestInventoryDataPlugin(); - + LocalInventoryService lis = new LocalInventoryService(); lis.AddPlugin(m_inventoryDataPlugin); m_interServiceInventoryService = lis; - AddInventoryService(lis); - + AddInventoryService(lis); + LocalUserServices lus = new LocalUserServices(991, 992, lis); lus.AddPlugin(m_userDataPlugin); m_userService = lus; - m_userAdminService = lus; - + m_userAdminService = lus; + LocalBackEndServices gs = new LocalBackEndServices(); - m_gridService = gs; + m_gridService = gs; m_interRegion = gs; } } diff --git a/OpenSim/Tests/Common/Mock/TestInventoryDataPlugin.cs b/OpenSim/Tests/Common/Mock/TestInventoryDataPlugin.cs index 8e19aec..59d923c 100644 --- a/OpenSim/Tests/Common/Mock/TestInventoryDataPlugin.cs +++ b/OpenSim/Tests/Common/Mock/TestInventoryDataPlugin.cs @@ -29,6 +29,7 @@ using System; using System.Collections.Generic; using OpenMetaverse; using OpenSim.Framework; +using OpenSim.Data; namespace OpenSim.Tests.Common.Mock { @@ -43,12 +44,12 @@ namespace OpenSim.Tests.Common.Mock /// Known inventory folders /// private Dictionary m_folders = new Dictionary(); - + /// /// User root folders /// private Dictionary m_rootFolders = new Dictionary(); - + public string Version { get { return "0"; } } public string Name { get { return "TestInventoryDataPlugin"; } } @@ -56,10 +57,10 @@ namespace OpenSim.Tests.Common.Mock public void Initialise(string connect) {} public void Dispose() {} - public List getFolderHierarchy(UUID parentID) + public List getFolderHierarchy(UUID parentID) { List folders = new List(); - + foreach (InventoryFolderBase folder in m_folders.Values) { if (folder.ParentID == parentID) @@ -68,77 +69,77 @@ namespace OpenSim.Tests.Common.Mock folders.Add(folder); } } - + return folders; } - - public List getInventoryInFolder(UUID folderID) - { - return new List(); + + public List getInventoryInFolder(UUID folderID) + { + return new List(); } - + public List getUserRootFolders(UUID user) { return null; } - - public InventoryFolderBase getUserRootFolder(UUID user) - { + + public InventoryFolderBase getUserRootFolder(UUID user) + { InventoryFolderBase folder = null; m_rootFolders.TryGetValue(user, out folder); - + return folder; } - - public List getInventoryFolders(UUID parentID) + + public List getInventoryFolders(UUID parentID) { List folders = new List(); - + foreach (InventoryFolderBase folder in m_folders.Values) { if (folder.ParentID == parentID) folders.Add(folder); } - + return folders; } - + public InventoryItemBase getInventoryItem(UUID item) { return null; } - - public InventoryFolderBase getInventoryFolder(UUID folderId) + + public InventoryFolderBase getInventoryFolder(UUID folderId) { InventoryFolderBase folder = null; m_folders.TryGetValue(folderId, out folder); - + return folder; } - + public void addInventoryItem(InventoryItemBase item) {} public void updateInventoryItem(InventoryItemBase item) {} public void deleteInventoryItem(UUID item) {} - - public void addInventoryFolder(InventoryFolderBase folder) + + public void addInventoryFolder(InventoryFolderBase folder) { m_folders[folder.ID] = folder; - + if (folder.ParentID == UUID.Zero) m_rootFolders[folder.Owner] = folder; } - + public void updateInventoryFolder(InventoryFolderBase folder) { m_folders[folder.ID] = folder; } - - public void moveInventoryFolder(InventoryFolderBase folder) + + public void moveInventoryFolder(InventoryFolderBase folder) { // Simple replace - updateInventoryFolder(folder); + updateInventoryFolder(folder); } - - public void deleteInventoryFolder(UUID folderId) + + public void deleteInventoryFolder(UUID folderId) { if (m_folders.ContainsKey(folderId)) m_folders.Remove(folderId); } - - public List fetchActiveGestures(UUID avatarID) { return null; } + + public List fetchActiveGestures(UUID avatarID) { return null; } } } diff --git a/bin/OpenSim.Data.addin.xml b/bin/OpenSim.Data.addin.xml index b012f0e..138f0ba 100644 --- a/bin/OpenSim.Data.addin.xml +++ b/bin/OpenSim.Data.addin.xml @@ -18,7 +18,7 @@ - + diff --git a/prebuild.xml b/prebuild.xml index 47ae00c..f41107b 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -2529,6 +2529,7 @@ + -- cgit v1.1