* Apply further groups xmlrpc to stop an exception in the exception handler
* Thanks mcortez0.6.5-rc1
							parent
							
								
									517a454086
								
							
						
					
					
						commit
						1bf0bc8bb3
					
				|  | @ -194,14 +194,15 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests | |||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         /// Test loading a V0.1 OpenSim Inventory Archive (subject to change since there is no fixed format yet). | ||||
|         /// Test loading a V0.1 OpenSim Inventory Archive (subject to change since there is no fixed format yet) where | ||||
|         /// an account exists with the creator name. | ||||
|         /// </summary> | ||||
|         [Test] | ||||
|         public void TestLoadIarV0p1() | ||||
|         public void TestLoadIarV0p1ExistingUsers() | ||||
|         {    | ||||
|             Console.WriteLine("Started {0}", MethodBase.GetCurrentMethod()); | ||||
|              | ||||
|             log4net.Config.XmlConfigurator.Configure(); | ||||
|             //log4net.Config.XmlConfigurator.Configure(); | ||||
|              | ||||
|             string userFirstName = "Mr"; | ||||
|             string userLastName = "Tiddles"; | ||||
|  | @ -256,6 +257,75 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests | |||
|              | ||||
|             Console.WriteLine("Successfully completed {0}", MethodBase.GetCurrentMethod()); | ||||
|         } | ||||
|    | ||||
|         /* | ||||
|         /// <summary> | ||||
|         /// Test loading a V0.1 OpenSim Inventory Archive (subject to change since there is no fixed format yet) where | ||||
|         /// no account exists with the creator name  | ||||
|         /// </summary> | ||||
|         [Test] | ||||
|         public void TestLoadIarV0p1TempProfiles() | ||||
|         {    | ||||
|             Console.WriteLine("### Started {0} ###", MethodBase.GetCurrentMethod()); | ||||
|              | ||||
|             log4net.Config.XmlConfigurator.Configure(); | ||||
|              | ||||
|             string userFirstName = "Dennis"; | ||||
|             string userLastName = "Menace"; | ||||
|             UUID userUuid = UUID.Parse("00000000-0000-0000-0000-000000000aaa"); | ||||
|             string user2FirstName = "Walter"; | ||||
|             string user2LastName = "Mitty"; | ||||
|              | ||||
|             string itemName = "b.lsl"; | ||||
|             string archiveItemName | ||||
|                 = string.Format("{0}{1}{2}", itemName, "_", UUID.Random());             | ||||
| 
 | ||||
|             MemoryStream archiveWriteStream = new MemoryStream(); | ||||
|             TarArchiveWriter tar = new TarArchiveWriter(archiveWriteStream); | ||||
| 
 | ||||
|             InventoryItemBase item1 = new InventoryItemBase(); | ||||
|             item1.Name = itemName; | ||||
|             item1.AssetID = UUID.Random(); | ||||
|             item1.GroupID = UUID.Random(); | ||||
|             item1.CreatorId = OspResolver.MakeOspa(user2FirstName, user2LastName); | ||||
|             item1.Owner = UUID.Zero; | ||||
|              | ||||
|             string item1FileName  | ||||
|                 = string.Format("{0}{1}", ArchiveConstants.INVENTORY_PATH, archiveItemName); | ||||
|             tar.WriteFile(item1FileName, UserInventoryItemSerializer.Serialize(item1)); | ||||
|             tar.Close(); | ||||
| 
 | ||||
|             MemoryStream archiveReadStream = new MemoryStream(archiveWriteStream.ToArray());             | ||||
|             SerialiserModule serialiserModule = new SerialiserModule(); | ||||
|             InventoryArchiverModule archiverModule = new InventoryArchiverModule(); | ||||
|              | ||||
|             // Annoyingly, we have to set up a scene even though inventory loading has nothing to do with a scene | ||||
|             Scene scene = SceneSetupHelpers.SetupScene(); | ||||
|             IUserAdminService userAdminService = scene.CommsManager.UserAdminService; | ||||
|              | ||||
|             SceneSetupHelpers.SetupSceneModules(scene, serialiserModule, archiverModule); | ||||
|             userAdminService.AddUser( | ||||
|                 userFirstName, userLastName, "meowfood", String.Empty, 1000, 1000, userUuid); | ||||
|              | ||||
|             archiverModule.DearchiveInventory(userFirstName, userLastName, "/", archiveReadStream); | ||||
|              | ||||
|             // Check that a suitable temporary user profile has been created. | ||||
|             UserProfileData user2Profile  | ||||
|                 = scene.CommsManager.UserService.GetUserProfile(user2FirstName, user2LastName); | ||||
|             Assert.That(user2Profile, Is.Not.Null); | ||||
|             Assert.That(user2Profile.FirstName == user2FirstName); | ||||
|             Assert.That(user2Profile.SurName == user2LastName); | ||||
|              | ||||
|             CachedUserInfo userInfo  | ||||
|                 = scene.CommsManager.UserProfileCacheService.GetUserDetails(userFirstName, userLastName);             | ||||
|             InventoryItemBase foundItem = userInfo.RootFolder.FindItemByPath(itemName); | ||||
|              | ||||
|             Assert.That(foundItem.CreatorId, Is.EqualTo(user2Profile.ID.ToString()));             | ||||
|             Assert.That(foundItem.Owner, Is.EqualTo(userUuid));             | ||||
|              | ||||
|             Console.WriteLine("### Successfully completed {0} ###", MethodBase.GetCurrentMethod()); | ||||
|         }         | ||||
|         */ | ||||
|          | ||||
|         /// <summary> | ||||
|         /// Test replication of an archive path to the user's inventory. | ||||
|  |  | |||
|  | @ -146,9 +146,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
|                                     | GroupPowers.VoteOnProposal; | ||||
|             param["OwnersPowers"] = ((ulong)OwnerPowers).ToString(); | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|             Hashtable respData = XmlRpcCall("groups.createGroup", param); | ||||
| 
 | ||||
|             if (respData.Contains("error")) | ||||
|  | @ -237,7 +234,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
|                 param["Name"] = GroupName.ToString(); | ||||
|             } | ||||
| 
 | ||||
| 
 | ||||
|             Hashtable respData = XmlRpcCall("groups.getGroup", param); | ||||
| 
 | ||||
|             if (respData.Contains("error")) | ||||
|  | @ -246,7 +242,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
|             } | ||||
| 
 | ||||
|             return GroupProfileHashtableToGroupRecord(respData); | ||||
| 
 | ||||
|         } | ||||
| 
 | ||||
|         public GroupProfileData GetMemberGroupProfile(UUID GroupID, UUID AgentID) | ||||
|  | @ -254,7 +249,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
|             Hashtable param = new Hashtable(); | ||||
|             param["GroupID"] = GroupID.ToString(); | ||||
| 
 | ||||
| 
 | ||||
|             Hashtable respData = XmlRpcCall("groups.getGroup", param); | ||||
| 
 | ||||
|             if (respData.Contains("error")) | ||||
|  | @ -270,7 +264,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
|             MemberGroupProfile.PowersMask = MemberInfo.GroupPowers; | ||||
| 
 | ||||
|             return MemberGroupProfile; | ||||
| 
 | ||||
|         } | ||||
| 
 | ||||
|         private GroupProfileData GroupProfileHashtableToGroupProfileData(Hashtable groupProfile) | ||||
|  | @ -350,7 +343,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
|             param["ListInProfile"] = ListInProfile ? "1" : "0"; | ||||
| 
 | ||||
|             XmlRpcCall("groups.setAgentGroupInfo", param); | ||||
| 
 | ||||
|         } | ||||
| 
 | ||||
|         public void AddAgentToGroupInvite(UUID inviteID, UUID groupID, UUID roleID, UUID agentID) | ||||
|  | @ -362,7 +354,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
|             param["GroupID"] = groupID.ToString(); | ||||
| 
 | ||||
|             XmlRpcCall("groups.addAgentToGroupInvite", param); | ||||
| 
 | ||||
|         } | ||||
| 
 | ||||
|         public GroupInviteInfo GetAgentToGroupInvite(UUID inviteID) | ||||
|  | @ -434,7 +425,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
|             XmlRpcCall("groups.removeAgentFromGroupRole", param); | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         public List<DirGroupsReplyData> FindGroups(string search) | ||||
|         { | ||||
|             Hashtable param = new Hashtable(); | ||||
|  | @ -495,7 +485,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
|             return HashTableToGroupMembershipData(respData); | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         public List<GroupMembershipData> GetAgentGroupMemberships(UUID AgentID) | ||||
|         { | ||||
|             Hashtable param = new Hashtable(); | ||||
|  | @ -543,8 +532,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
|             } | ||||
| 
 | ||||
|             return Roles; | ||||
| 
 | ||||
| 
 | ||||
|         } | ||||
| 
 | ||||
|         public List<GroupRolesData> GetGroupRoles(UUID GroupID) | ||||
|  | @ -575,7 +562,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
|             } | ||||
| 
 | ||||
|             return Roles; | ||||
| 
 | ||||
|         } | ||||
| 
 | ||||
|         private static GroupMembershipData HashTableToGroupMembershipData(Hashtable respData) | ||||
|  | @ -643,7 +629,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
|             } | ||||
| 
 | ||||
|             return members; | ||||
| 
 | ||||
|         } | ||||
| 
 | ||||
|         public List<GroupRoleMembersData> GetGroupRoleMembers(UUID GroupID) | ||||
|  | @ -667,6 +652,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
|                     members.Add(data); | ||||
|                 } | ||||
|             } | ||||
|              | ||||
|             return members; | ||||
|         } | ||||
| 
 | ||||
|  | @ -694,9 +680,10 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
|                     values.Add(data); | ||||
|                 } | ||||
|             } | ||||
|              | ||||
|             return values; | ||||
| 
 | ||||
|         } | ||||
|          | ||||
|         public GroupNoticeInfo GetGroupNotice(UUID noticeID) | ||||
|         { | ||||
|             Hashtable param = new Hashtable(); | ||||
|  | @ -704,7 +691,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
| 
 | ||||
|             Hashtable respData = XmlRpcCall("groups.getGroupNotice", param); | ||||
| 
 | ||||
| 
 | ||||
|             if (respData.Contains("error")) | ||||
|             { | ||||
|                 return null; | ||||
|  | @ -728,6 +714,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
| 
 | ||||
|             return data; | ||||
|         } | ||||
|          | ||||
|         public void AddGroupNotice(UUID groupID, UUID noticeID, string fromName, string subject, string message, byte[] binaryBucket) | ||||
|         { | ||||
|             string binBucket = OpenMetaverse.Utils.BytesToHexString(binaryBucket, ""); | ||||
|  | @ -768,14 +755,16 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
|             } | ||||
|             catch (Exception e) | ||||
|             { | ||||
|                 m_log.Error("[GROUPS] An error has occured while attempting to access the XmlRpcGroups server"); | ||||
|                 m_log.ErrorFormat("[GROUPS] {0} ", e.ToString()); | ||||
|                 m_log.ErrorFormat("[GROUPS]: An error has occured while attempting to access the XmlRpcGroups server method: {0}", function); | ||||
|                 m_log.ErrorFormat("[GROUPS]: {0} ", e.ToString()); | ||||
| 
 | ||||
|                 foreach (KeyValuePair<object, object> kvp in param) | ||||
|                 { | ||||
|                     m_log.WarnFormat("[GROUPS] {0} :: {1}", kvp.Key.ToString(), kvp.Value.ToString()); | ||||
|                     m_log.WarnFormat("[GROUPS]: {0} :: {1}", kvp.Key.ToString(), kvp.Value.ToString()); | ||||
|                 } | ||||
|                 Hashtable respData = (Hashtable)resp.Value; | ||||
| 
 | ||||
| 
 | ||||
|                 Hashtable respData = new Hashtable(); | ||||
|                 respData.Add("error", e.ToString()); | ||||
|                 return respData; | ||||
|             } | ||||
|  | @ -791,21 +780,21 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
|                 return respData; | ||||
|             } | ||||
| 
 | ||||
|             m_log.ErrorFormat("[XmlRpcGroupData] The XmlRpc server returned a {1} instead of a hashtable for {0}", function, resp.Value.GetType().ToString()); | ||||
|             m_log.ErrorFormat("[GROUPS]: The XmlRpc server returned a {1} instead of a hashtable for {0}", function, resp.Value.GetType().ToString()); | ||||
| 
 | ||||
|             if (resp.Value is ArrayList) | ||||
|             { | ||||
|                 ArrayList al = (ArrayList)resp.Value; | ||||
|                 m_log.ErrorFormat("[XmlRpcGroupData] Contains {0} elements", al.Count); | ||||
|                 m_log.ErrorFormat("[GROUPS]: Contains {0} elements", al.Count); | ||||
| 
 | ||||
|                 foreach (object o in al) | ||||
|                 { | ||||
|                     m_log.ErrorFormat("[XmlRpcGroupData] {0} :: {1}", o.GetType().ToString(), o.ToString()); | ||||
|                     m_log.ErrorFormat("[GROUPS]: {0} :: {1}", o.GetType().ToString(), o.ToString()); | ||||
|                 } | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 m_log.ErrorFormat("[XmlRpcGroupData] Function returned: {0}", resp.Value.ToString()); | ||||
|                 m_log.ErrorFormat("[GROUPS]: Function returned: {0}", resp.Value.ToString()); | ||||
|             } | ||||
| 
 | ||||
|             Hashtable error = new Hashtable(); | ||||
|  | @ -815,21 +804,19 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
| 
 | ||||
|         private void LogRespDataToConsoleError(Hashtable respData) | ||||
|         { | ||||
|             m_log.Error("[GROUPDATA] Error:"); | ||||
|             m_log.Error("[GROUPS]: Error:"); | ||||
| 
 | ||||
|             foreach (string key in respData.Keys) | ||||
|             { | ||||
|                 m_log.ErrorFormat("[GROUPDATA] Key: {0}", key); | ||||
|                 m_log.ErrorFormat("[GROUPS]: Key: {0}", key); | ||||
| 
 | ||||
|                 string[] lines = respData[key].ToString().Split(new char[] { '\n' }); | ||||
|                 foreach (string line in lines) | ||||
|                 { | ||||
|                     m_log.ErrorFormat("[GROUPDATA] {0}", line); | ||||
|                     m_log.ErrorFormat("[GROUPS]: {0}", line); | ||||
|                 } | ||||
| 
 | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
|     public class GroupNoticeInfo | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Justin Clarke Casey
						Justin Clarke Casey