diff --git a/OpenSim/Framework/Communications/IInventoryServices.cs b/OpenSim/Framework/Communications/IInventoryServices.cs index 96bb7b3b2e..191cdf2e5f 100644 --- a/OpenSim/Framework/Communications/IInventoryServices.cs +++ b/OpenSim/Framework/Communications/IInventoryServices.cs @@ -51,4 +51,4 @@ namespace OpenSim.Framework.Communications /// List RequestFirstLevelFolders(LLUUID userID); } -} \ No newline at end of file +} diff --git a/OpenSim/Framework/Communications/InventoryServiceBase.cs b/OpenSim/Framework/Communications/InventoryServiceBase.cs index e86eaac5e5..1f641878f5 100644 --- a/OpenSim/Framework/Communications/InventoryServiceBase.cs +++ b/OpenSim/Framework/Communications/InventoryServiceBase.cs @@ -74,14 +74,20 @@ namespace OpenSim.Framework.Communications } } } - + + public List RequestFirstLevelFolders(Guid rawUserID) + { + LLUUID userID = new LLUUID(rawUserID); + return RequestFirstLevelFolders(userID); + } + /// /// Returns the root folder plus any folders in root (so down one level in the Inventory folders tree) /// /// /// public List RequestFirstLevelFolders(LLUUID userID) - { + { List inventoryList = new List(); InventoryFolderBase rootFolder = null; diff --git a/OpenSim/Grid/InventoryServer/GridInventoryService.cs b/OpenSim/Grid/InventoryServer/GridInventoryService.cs index 797de91111..c6d33020e5 100644 --- a/OpenSim/Grid/InventoryServer/GridInventoryService.cs +++ b/OpenSim/Grid/InventoryServer/GridInventoryService.cs @@ -72,8 +72,10 @@ namespace OpenSim.Grid.InventoryServer } } - public InventoryCollection GetUserInventory(LLUUID userID) + public InventoryCollection GetUserInventory(Guid rawUserID) { + LLUUID userID = new LLUUID(rawUserID); + InventoryCollection invCollection = new InventoryCollection(); List folders; List allItems; @@ -86,10 +88,12 @@ namespace OpenSim.Grid.InventoryServer return invCollection; } - public bool CreateUsersInventory(LLUUID user) + public bool CreateUsersInventory(Guid rawUserID) { - Console.WriteLine("Creating New Set of Inventory Folders for " + user.ToStringHyphenated()); - CreateNewUserInventory(user); + LLUUID userID = new LLUUID(rawUserID); + + Console.WriteLine("Creating New Set of Inventory Folders for " + userID.ToStringHyphenated()); + CreateNewUserInventory(userID); return true; } diff --git a/OpenSim/Grid/InventoryServer/Main.cs b/OpenSim/Grid/InventoryServer/Main.cs index 611e0c763b..58b63f4262 100644 --- a/OpenSim/Grid/InventoryServer/Main.cs +++ b/OpenSim/Grid/InventoryServer/Main.cs @@ -78,10 +78,10 @@ namespace OpenSim.Grid.InventoryServer MainLog.Instance.Notice(LogName, "Starting HTTP server ..."); BaseHttpServer httpServer = new BaseHttpServer(m_config.HttpPort); httpServer.AddStreamHandler( - new RestDeserialisehandler("POST", "/GetInventory/", + new RestDeserialisehandler("POST", "/GetInventory/", m_inventoryService.GetUserInventory)); httpServer.AddStreamHandler( - new RestDeserialisehandler("POST", "/CreateInventory/", + new RestDeserialisehandler("POST", "/CreateInventory/", m_inventoryService.CreateUsersInventory)); httpServer.AddStreamHandler( new RestDeserialisehandler("POST", "/NewFolder/", @@ -95,7 +95,7 @@ namespace OpenSim.Grid.InventoryServer m_inventoryService.DeleteInvItem)); httpServer.AddStreamHandler( - new RestDeserialisehandler>("POST", "/RootFolders/", + new RestDeserialisehandler>("POST", "/RootFolders/", m_inventoryService.RequestFirstLevelFolders)); // httpServer.AddStreamHandler(new InventoryManager.GetInventory(m_inventoryManager)); @@ -120,7 +120,7 @@ namespace OpenSim.Grid.InventoryServer { case "quit": case "add-user": - m_inventoryService.CreateUsersInventory(LLUUID.Random()); + m_inventoryService.CreateUsersInventory(LLUUID.Random().UUID); break; case "shutdown": m_console.Close(); diff --git a/OpenSim/Grid/UserServer/Main.cs b/OpenSim/Grid/UserServer/Main.cs index 90fcac38f8..4806e529d5 100644 --- a/OpenSim/Grid/UserServer/Main.cs +++ b/OpenSim/Grid/UserServer/Main.cs @@ -129,7 +129,7 @@ namespace OpenSim.Grid.UserServer tempMD5Passwd = Util.Md5Hash(Util.Md5Hash(tempMD5Passwd) + ":" + ""); LLUUID userID = m_userManager.AddUserProfile(tempfirstname, templastname, tempMD5Passwd, regX, regY); - RestObjectPoster.BeginPostObject(m_userManager._config.InventoryUrl + "CreateInventory/", userID); + RestObjectPoster.BeginPostObject(m_userManager._config.InventoryUrl + "CreateInventory/", userID.UUID); m_lastCreatedUser = userID; break; } diff --git a/OpenSim/Grid/UserServer/UserLoginService.cs b/OpenSim/Grid/UserServer/UserLoginService.cs index fa5eac5ed7..02db6d06a3 100644 --- a/OpenSim/Grid/UserServer/UserLoginService.cs +++ b/OpenSim/Grid/UserServer/UserLoginService.cs @@ -198,8 +198,8 @@ namespace OpenSim.Grid.UserServer protected override InventoryData CreateInventoryData(LLUUID userID) { List folders - = SynchronousRestObjectPoster.BeginPostObject>( - "POST", m_config.InventoryUrl + "RootFolders/", userID); + = SynchronousRestObjectPoster.BeginPostObject>( + "POST", m_config.InventoryUrl + "RootFolders/", userID.UUID); // In theory, the user will only ever be missing a root folder in situations where a grid // which didn't previously run a grid wide inventory server is being transitioned to one @@ -211,15 +211,15 @@ namespace OpenSim.Grid.UserServer "A root inventory folder for user ID " + userID + " was not found. A new set" + " of empty inventory folders is being created."); - RestObjectPoster.BeginPostObject( - m_config.InventoryUrl + "CreateInventory/", userID); + RestObjectPoster.BeginPostObject( + m_config.InventoryUrl + "CreateInventory/", userID.UUID); // A big delay should be okay here since the recreation of the user's root folders should // only ever happen once. We need to sleep to let the inventory server do its work - // previously 1000ms has been found to be too short. Thread.Sleep(10000); - folders = SynchronousRestObjectPoster.BeginPostObject>( - "POST", m_config.InventoryUrl + "RootFolders/", userID); + folders = SynchronousRestObjectPoster.BeginPostObject>( + "POST", m_config.InventoryUrl + "RootFolders/", userID.UUID); } if (folders.Count > 0) diff --git a/OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs b/OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs index 6edb149fa6..5342127f41 100644 --- a/OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs +++ b/OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs @@ -65,8 +65,8 @@ namespace OpenSim.Region.Communications.OGS1 { RestObjectPosterResponse requester = new RestObjectPosterResponse(); requester.ResponseCallback = InventoryResponse; - // THIS SHOULD BE A Guid, NOT A LLUUID! No longer Serializable! This will fail EVERY TIME. - requester.BeginPostObject(_inventoryServerUrl + "/GetInventory/", userID); + + requester.BeginPostObject(_inventoryServerUrl + "/GetInventory/", userID.UUID); } catch (Exception) { @@ -169,4 +169,4 @@ namespace OpenSim.Region.Communications.OGS1 } } } -} \ No newline at end of file +}