aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rwxr-xr-xOpenSim/Grid/Communications/OGS1/OGS1InterServiceInventoryService.cs10
-rw-r--r--OpenSim/Grid/UserServer/Main.cs6
-rw-r--r--OpenSim/Grid/UserServer/UserLoginService.cs30
3 files changed, 21 insertions, 25 deletions
diff --git a/OpenSim/Grid/Communications/OGS1/OGS1InterServiceInventoryService.cs b/OpenSim/Grid/Communications/OGS1/OGS1InterServiceInventoryService.cs
index 92a6ad8..6aa1440 100755
--- a/OpenSim/Grid/Communications/OGS1/OGS1InterServiceInventoryService.cs
+++ b/OpenSim/Grid/Communications/OGS1/OGS1InterServiceInventoryService.cs
@@ -46,6 +46,11 @@ namespace OpenSim.Grid.Communications.OGS1
46 m_inventoryServerUrl = inventoryServerUrl; 46 m_inventoryServerUrl = inventoryServerUrl;
47 } 47 }
48 48
49 /// <summary>
50 /// <see cref="OpenSim.Framework.Communications.IInterServiceInventoryServices"/>
51 /// </summary>
52 /// <param name="userId"></param>
53 /// <returns></returns>
49 public bool CreateNewUserInventory(LLUUID userId) 54 public bool CreateNewUserInventory(LLUUID userId)
50 { 55 {
51 return SynchronousRestObjectPoster.BeginPostObject<Guid, bool>( 56 return SynchronousRestObjectPoster.BeginPostObject<Guid, bool>(
@@ -59,9 +64,8 @@ namespace OpenSim.Grid.Communications.OGS1
59 /// <returns></returns> 64 /// <returns></returns>
60 public List<InventoryFolderBase> GetInventorySkeleton(LLUUID userId) 65 public List<InventoryFolderBase> GetInventorySkeleton(LLUUID userId)
61 { 66 {
62 //m_log.ErrorFormat("[OGS1 INVENTORY SERVICE]: The GetInventorySkeleton() method here should never be called!"); 67 return SynchronousRestObjectPoster.BeginPostObject<Guid, List<InventoryFolderBase>>(
63 68 "POST", m_inventoryServerUrl + "RootFolders/", userId.UUID);
64 return new List<InventoryFolderBase>();
65 } 69 }
66 } 70 }
67} 71}
diff --git a/OpenSim/Grid/UserServer/Main.cs b/OpenSim/Grid/UserServer/Main.cs
index 6e970d5..1338d68 100644
--- a/OpenSim/Grid/UserServer/Main.cs
+++ b/OpenSim/Grid/UserServer/Main.cs
@@ -100,10 +100,10 @@ namespace OpenSim.Grid.UserServer
100 m_userManager._config = Cfg; 100 m_userManager._config = Cfg;
101 m_userManager.AddPlugin(Cfg.DatabaseProvider, Cfg.DatabaseConnect); 101 m_userManager.AddPlugin(Cfg.DatabaseProvider, Cfg.DatabaseConnect);
102 102
103 m_loginService = new UserLoginService( 103 m_interServiceInventoryService = new OGS1InterServiceInventoryService(m_userManager._config.InventoryUrl);
104 m_userManager, new LibraryRootFolder(), Cfg, Cfg.DefaultStartupMsg);
105 104
106 m_interServiceInventoryService = new OGS1InterServiceInventoryService(m_userManager._config.InventoryUrl); 105 m_loginService = new UserLoginService(
106 m_userManager, m_interServiceInventoryService, new LibraryRootFolder(), Cfg, Cfg.DefaultStartupMsg);
107 107
108 m_messagesService = new MessageServersConnector(); 108 m_messagesService = new MessageServersConnector();
109 109
diff --git a/OpenSim/Grid/UserServer/UserLoginService.cs b/OpenSim/Grid/UserServer/UserLoginService.cs
index 78f6e7c..6575b13 100644
--- a/OpenSim/Grid/UserServer/UserLoginService.cs
+++ b/OpenSim/Grid/UserServer/UserLoginService.cs
@@ -46,6 +46,8 @@ namespace OpenSim.Grid.UserServer
46 public class UserLoginService : LoginService 46 public class UserLoginService : LoginService
47 { 47 {
48 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 48 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
49
50 protected IInterServiceInventoryServices m_inventoryService;
49 51
50 public event UserLoggedInAtLocation OnUserLoggedInAtLocation; 52 public event UserLoggedInAtLocation OnUserLoggedInAtLocation;
51 53
@@ -54,12 +56,14 @@ namespace OpenSim.Grid.UserServer
54 public UserConfig m_config; 56 public UserConfig m_config;
55 57
56 public UserLoginService( 58 public UserLoginService(
57 UserManagerBase userManager, LibraryRootFolder libraryRootFolder, 59 UserManagerBase userManager, IInterServiceInventoryServices inventoryService, LibraryRootFolder libraryRootFolder,
58 UserConfig config, string welcomeMess) 60 UserConfig config, string welcomeMess)
59 : base(userManager, libraryRootFolder, welcomeMess) 61 : base(userManager, libraryRootFolder, welcomeMess)
60 { 62 {
61 m_config = config; 63 m_config = config;
64 m_inventoryService = inventoryService;
62 } 65 }
66
63 public override void LogOffUser(UserProfileData theUser, string message) 67 public override void LogOffUser(UserProfileData theUser, string message)
64 { 68 {
65 RegionProfileData SimInfo = null; 69 RegionProfileData SimInfo = null;
@@ -96,6 +100,7 @@ namespace OpenSim.Grid.UserServer
96 m_log.InfoFormat( 100 m_log.InfoFormat(
97 "[ASSUMED CRASH]: Telling region {0} @ {1},{2} ({3}) that their agent is dead: {4}", 101 "[ASSUMED CRASH]: Telling region {0} @ {1},{2} ({3}) that their agent is dead: {4}",
98 SimInfo.regionName, SimInfo.regionLocX, SimInfo.regionLocY, SimInfo.httpServerURI, theUser.FirstName + " " + theUser.SurName); 102 SimInfo.regionName, SimInfo.regionLocX, SimInfo.regionLocY, SimInfo.httpServerURI, theUser.FirstName + " " + theUser.SurName);
103
99 try 104 try
100 { 105 {
101 XmlRpcRequest GridReq = new XmlRpcRequest("logoff_user", SendParams); 106 XmlRpcRequest GridReq = new XmlRpcRequest("logoff_user", SendParams);
@@ -420,20 +425,12 @@ namespace OpenSim.Grid.UserServer
420 425
421 // See LoginService 426 // See LoginService
422 protected override InventoryData GetInventorySkeleton(LLUUID userID, string serverUrl) 427 protected override InventoryData GetInventorySkeleton(LLUUID userID, string serverUrl)
423 { 428 {
424 string invUrl = m_config.InventoryUrl;
425 //if (!String.IsNullOrEmpty(serverUrl))
426 //{
427 // invUrl = serverUrl+"/";
428 //}
429
430 m_log.DebugFormat( 429 m_log.DebugFormat(
431 "[LOGIN]: Contacting inventory service at {0} for inventory skeleton of user {1}", 430 "[LOGIN]: Contacting inventory service at {0} for inventory skeleton of user {1}",
432 m_config.InventoryUrl, userID); 431 m_config.InventoryUrl, userID);
433 432
434 List<InventoryFolderBase> folders 433 List<InventoryFolderBase> folders = m_inventoryService.GetInventorySkeleton(userID);
435 = SynchronousRestObjectPoster.BeginPostObject<Guid, List<InventoryFolderBase>>(
436 "POST", invUrl + "RootFolders/", userID.UUID);
437 434
438 if (null == folders || folders.Count == 0) 435 if (null == folders || folders.Count == 0)
439 { 436 {
@@ -444,11 +441,7 @@ namespace OpenSim.Grid.UserServer
444 // tools are creating the user profile directly in the database without creating the inventory. At 441 // tools are creating the user profile directly in the database without creating the inventory. At
445 // this time we'll accomodate them by lazily creating the user inventory now if it doesn't already 442 // this time we'll accomodate them by lazily creating the user inventory now if it doesn't already
446 // exist. 443 // exist.
447 bool created = 444 if (!m_inventoryService.CreateNewUserInventory(userID))
448 SynchronousRestObjectPoster.BeginPostObject<Guid, bool>(
449 "POST", invUrl + "CreateInventory/", userID.UUID);
450
451 if (!created)
452 { 445 {
453 throw new Exception( 446 throw new Exception(
454 String.Format( 447 String.Format(
@@ -461,8 +454,7 @@ namespace OpenSim.Grid.UserServer
461 m_log.InfoFormat("[LOGIN]: A new inventory skeleton was successfully created for user {0}", userID); 454 m_log.InfoFormat("[LOGIN]: A new inventory skeleton was successfully created for user {0}", userID);
462 } 455 }
463 456
464 folders = SynchronousRestObjectPoster.BeginPostObject<Guid, List<InventoryFolderBase>>( 457 folders = m_inventoryService.GetInventorySkeleton(userID);
465 "POST", invUrl + "RootFolders/", userID.UUID);
466 } 458 }
467 459
468 if (folders != null && folders.Count > 0) 460 if (folders != null && folders.Count > 0)