disabled the multiple inventory server support in login service again.
And reverted CachedUserInfo back to revision 5262. I don't think most of the inventory problems that people are reporting are due to these, but its easier to deal with one set of potential problems at a time, and I'm not going to get any time in the week to work on this anyway.0.6.0-stable
parent
d8e18ad0f0
commit
b0330a0bb5
|
@ -87,24 +87,6 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
private IDictionary<LLUUID, IList<InventoryFolderImpl>> pendingCategorizationFolders
|
private IDictionary<LLUUID, IList<InventoryFolderImpl>> pendingCategorizationFolders
|
||||||
= new Dictionary<LLUUID, IList<InventoryFolderImpl>>();
|
= new Dictionary<LLUUID, IList<InventoryFolderImpl>>();
|
||||||
|
|
||||||
private string m_inventoryHost
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
if (m_userProfile != null)
|
|
||||||
{
|
|
||||||
if (! String.IsNullOrEmpty(m_userProfile.UserAssetURI))
|
|
||||||
{
|
|
||||||
Uri uri = new Uri(m_userProfile.UserInventoryURI);
|
|
||||||
return uri.Host;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Constructor
|
/// Constructor
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -170,9 +152,9 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
{
|
{
|
||||||
foreach (InventoryFolderImpl folder in pendingCategorizationFolders[newFolder.ID])
|
foreach (InventoryFolderImpl folder in pendingCategorizationFolders[newFolder.ID])
|
||||||
{
|
{
|
||||||
// m_log.DebugFormat(
|
// m_log.DebugFormat(
|
||||||
// "[INVENTORY CACHE]: Resolving pending received folder {0} {1} into {2} {3}",
|
// "[INVENTORY CACHE]: Resolving pending received folder {0} {1} into {2} {3}",
|
||||||
// folder.name, folder.folderID, parent.name, parent.folderID);
|
// folder.name, folder.folderID, parent.name, parent.folderID);
|
||||||
|
|
||||||
lock (newFolder.SubFolders)
|
lock (newFolder.SubFolders)
|
||||||
{
|
{
|
||||||
|
@ -232,9 +214,9 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
/// <param name="folderInfo"></param>
|
/// <param name="folderInfo"></param>
|
||||||
private void FolderReceive(InventoryFolderImpl newFolder)
|
private void FolderReceive(InventoryFolderImpl newFolder)
|
||||||
{
|
{
|
||||||
// m_log.DebugFormat(
|
// m_log.DebugFormat(
|
||||||
// "[INVENTORY CACHE]: Received folder {0} {1} for user {2}",
|
// "[INVENTORY CACHE]: Received folder {0} {1} for user {2}",
|
||||||
// folderInfo.Name, folderInfo.ID, userID);
|
// folderInfo.Name, folderInfo.ID, userID);
|
||||||
|
|
||||||
if (RootFolder == null)
|
if (RootFolder == null)
|
||||||
{
|
{
|
||||||
|
@ -285,9 +267,9 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
/// <param name="folderInfo"></param>
|
/// <param name="folderInfo"></param>
|
||||||
private void ItemReceive(InventoryItemBase itemInfo)
|
private void ItemReceive(InventoryItemBase itemInfo)
|
||||||
{
|
{
|
||||||
// m_log.DebugFormat(
|
// m_log.DebugFormat(
|
||||||
// "[INVENTORY CACHE]: Received item {0} {1} for user {2}",
|
// "[INVENTORY CACHE]: Received item {0} {1} for user {2}",
|
||||||
// itemInfo.Name, itemInfo.ID, userID);
|
// itemInfo.Name, itemInfo.ID, userID);
|
||||||
InventoryFolderImpl folder = RootFolder.FindFolder(itemInfo.Folder);
|
InventoryFolderImpl folder = RootFolder.FindFolder(itemInfo.Folder);
|
||||||
|
|
||||||
if (null == folder)
|
if (null == folder)
|
||||||
|
@ -315,8 +297,8 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public bool CreateFolder(string folderName, LLUUID folderID, ushort folderType, LLUUID parentID)
|
public bool CreateFolder(string folderName, LLUUID folderID, ushort folderType, LLUUID parentID)
|
||||||
{
|
{
|
||||||
// m_log.DebugFormat(
|
// m_log.DebugFormat(
|
||||||
// "[AGENT INVENTORY]: Creating inventory folder {0} {1} for {2} {3}", folderID, folderName, remoteClient.Name, remoteClient.AgentId);
|
// "[AGENT INVENTORY]: Creating inventory folder {0} {1} for {2} {3}", folderID, folderName, remoteClient.Name, remoteClient.AgentId);
|
||||||
|
|
||||||
if (HasInventory)
|
if (HasInventory)
|
||||||
{
|
{
|
||||||
|
@ -343,15 +325,9 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
createdBaseFolder.Type = createdFolder.Type;
|
createdBaseFolder.Type = createdFolder.Type;
|
||||||
createdBaseFolder.Version = createdFolder.Version;
|
createdBaseFolder.Version = createdFolder.Version;
|
||||||
|
|
||||||
IInventoryServices invService = GetInventoryService();
|
m_commsManager.InventoryService.AddFolder(createdBaseFolder);
|
||||||
if (invService != null)
|
|
||||||
{
|
|
||||||
//m_commsManager.InventoryService
|
|
||||||
invService.AddFolder(createdBaseFolder);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -390,8 +366,8 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
/// <param name="parentID"></param>
|
/// <param name="parentID"></param>
|
||||||
public bool UpdateFolder(string name, LLUUID folderID, ushort type, LLUUID parentID)
|
public bool UpdateFolder(string name, LLUUID folderID, ushort type, LLUUID parentID)
|
||||||
{
|
{
|
||||||
// m_log.DebugFormat(
|
// m_log.DebugFormat(
|
||||||
// "[AGENT INVENTORY]: Updating inventory folder {0} {1} for {2} {3}", folderID, name, remoteClient.Name, remoteClient.AgentId);
|
// "[AGENT INVENTORY]: Updating inventory folder {0} {1} for {2} {3}", folderID, name, remoteClient.Name, remoteClient.AgentId);
|
||||||
|
|
||||||
if (HasInventory)
|
if (HasInventory)
|
||||||
{
|
{
|
||||||
|
@ -400,22 +376,17 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
baseFolder.ID = folderID;
|
baseFolder.ID = folderID;
|
||||||
baseFolder.Name = name;
|
baseFolder.Name = name;
|
||||||
baseFolder.ParentID = parentID;
|
baseFolder.ParentID = parentID;
|
||||||
baseFolder.Type = (short) type;
|
baseFolder.Type = (short)type;
|
||||||
baseFolder.Version = RootFolder.Version;
|
baseFolder.Version = RootFolder.Version;
|
||||||
|
|
||||||
IInventoryServices invService = GetInventoryService();
|
m_commsManager.InventoryService.UpdateFolder(baseFolder);
|
||||||
if (invService != null)
|
|
||||||
{
|
|
||||||
//m_commsManager.InventoryService.
|
|
||||||
invService.UpdateFolder(baseFolder);
|
|
||||||
|
|
||||||
InventoryFolderImpl folder = RootFolder.FindFolder(folderID);
|
InventoryFolderImpl folder = RootFolder.FindFolder(folderID);
|
||||||
if (folder != null)
|
if (folder != null)
|
||||||
{
|
{
|
||||||
folder.Name = name;
|
folder.Name = name;
|
||||||
folder.ParentID = parentID;
|
folder.ParentID = parentID;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -439,9 +410,9 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
/// <param name="parentID"></param>
|
/// <param name="parentID"></param>
|
||||||
public bool MoveFolder(LLUUID folderID, LLUUID parentID)
|
public bool MoveFolder(LLUUID folderID, LLUUID parentID)
|
||||||
{
|
{
|
||||||
// m_log.DebugFormat(
|
// m_log.DebugFormat(
|
||||||
// "[AGENT INVENTORY]: Moving inventory folder {0} into folder {1} for {2} {3}",
|
// "[AGENT INVENTORY]: Moving inventory folder {0} into folder {1} for {2} {3}",
|
||||||
// parentID, remoteClient.Name, remoteClient.Name, remoteClient.AgentId);
|
// parentID, remoteClient.Name, remoteClient.Name, remoteClient.AgentId);
|
||||||
|
|
||||||
if (HasInventory)
|
if (HasInventory)
|
||||||
{
|
{
|
||||||
|
@ -450,24 +421,13 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
baseFolder.ID = folderID;
|
baseFolder.ID = folderID;
|
||||||
baseFolder.ParentID = parentID;
|
baseFolder.ParentID = parentID;
|
||||||
|
|
||||||
IInventoryServices invService = GetInventoryService();
|
m_commsManager.InventoryService.MoveFolder(baseFolder);
|
||||||
if (invService != null)
|
|
||||||
{
|
|
||||||
// m_commsManager.InventoryService
|
|
||||||
invService.MoveFolder(baseFolder);
|
|
||||||
|
|
||||||
InventoryFolderImpl folder = RootFolder.FindFolder(folderID);
|
InventoryFolderImpl folder = RootFolder.FindFolder(folderID);
|
||||||
if (folder != null)
|
if (folder != null)
|
||||||
{
|
folder.ParentID = parentID;
|
||||||
folder.ParentID = parentID;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -490,8 +450,8 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
/// <param name="folderID"></param>
|
/// <param name="folderID"></param>
|
||||||
public bool PurgeFolder(LLUUID folderID)
|
public bool PurgeFolder(LLUUID folderID)
|
||||||
{
|
{
|
||||||
// m_log.InfoFormat("[AGENT INVENTORY]: Purging folder {0} for {1} uuid {2}",
|
// m_log.InfoFormat("[AGENT INVENTORY]: Purging folder {0} for {1} uuid {2}",
|
||||||
// folderID, remoteClient.Name, remoteClient.AgentId);
|
// folderID, remoteClient.Name, remoteClient.AgentId);
|
||||||
|
|
||||||
if (HasInventory)
|
if (HasInventory)
|
||||||
{
|
{
|
||||||
|
@ -508,16 +468,11 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
purgedBaseFolder.Type = purgedFolder.Type;
|
purgedBaseFolder.Type = purgedFolder.Type;
|
||||||
purgedBaseFolder.Version = purgedFolder.Version;
|
purgedBaseFolder.Version = purgedFolder.Version;
|
||||||
|
|
||||||
IInventoryServices invService = GetInventoryService();
|
m_commsManager.InventoryService.PurgeFolder(purgedBaseFolder);
|
||||||
if (invService != null)
|
|
||||||
{
|
|
||||||
//m_commsManager.InventoryService
|
|
||||||
invService.PurgeFolder(purgedBaseFolder);
|
|
||||||
|
|
||||||
purgedFolder.Purge();
|
purgedFolder.Purge();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -543,20 +498,14 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
{
|
{
|
||||||
if (item.Folder == LLUUID.Zero)
|
if (item.Folder == LLUUID.Zero)
|
||||||
{
|
{
|
||||||
InventoryFolderImpl f=FindFolderForType(item.AssetType);
|
InventoryFolderImpl f = FindFolderForType(item.AssetType);
|
||||||
if (f != null)
|
if (f != null)
|
||||||
item.Folder=f.ID;
|
item.Folder = f.ID;
|
||||||
else
|
else
|
||||||
item.Folder=RootFolder.ID;
|
item.Folder = RootFolder.ID;
|
||||||
}
|
}
|
||||||
ItemReceive(item);
|
ItemReceive(item);
|
||||||
|
m_commsManager.InventoryService.AddItem(item);
|
||||||
IInventoryServices invService = GetInventoryService();
|
|
||||||
if (invService != null)
|
|
||||||
{
|
|
||||||
//m_commsManager.InventoryService
|
|
||||||
invService.AddItem(item);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -576,12 +525,7 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
{
|
{
|
||||||
if (HasInventory)
|
if (HasInventory)
|
||||||
{
|
{
|
||||||
IInventoryServices invService = GetInventoryService();
|
m_commsManager.InventoryService.UpdateItem(item);
|
||||||
if (invService != null)
|
|
||||||
{
|
|
||||||
//m_commsManager.InventoryService
|
|
||||||
invService.UpdateItem(item);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -620,14 +564,7 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
|
|
||||||
if (RootFolder.DeleteItem(item.ID))
|
if (RootFolder.DeleteItem(item.ID))
|
||||||
{
|
{
|
||||||
IInventoryServices invService = GetInventoryService();
|
return m_commsManager.InventoryService.DeleteItem(item);
|
||||||
if (invService != null)
|
|
||||||
{
|
|
||||||
//return m_commsManager.InventoryService
|
|
||||||
return invService.DeleteItem(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -659,9 +596,9 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
|
|
||||||
if ((folder = RootFolder.FindFolder(folderID)) != null)
|
if ((folder = RootFolder.FindFolder(folderID)) != null)
|
||||||
{
|
{
|
||||||
// m_log.DebugFormat(
|
// m_log.DebugFormat(
|
||||||
// "[AGENT INVENTORY]: Found folder {0} for client {1}",
|
// "[AGENT INVENTORY]: Found folder {0} for client {1}",
|
||||||
// folderID, remoteClient.AgentId);
|
// folderID, remoteClient.AgentId);
|
||||||
|
|
||||||
client.SendInventoryFolderDetails(
|
client.SendInventoryFolderDetails(
|
||||||
client.AgentId, folderID, folder.RequestListOfItems(),
|
client.AgentId, folderID, folder.RequestListOfItems(),
|
||||||
|
@ -693,7 +630,7 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
{
|
{
|
||||||
if (RootFolder == null)
|
if (RootFolder == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
lock (RootFolder.SubFolders)
|
lock (RootFolder.SubFolders)
|
||||||
{
|
{
|
||||||
foreach (InventoryFolderImpl f in RootFolder.SubFolders.Values)
|
foreach (InventoryFolderImpl f in RootFolder.SubFolders.Values)
|
||||||
|
@ -704,13 +641,6 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public IInventoryServices GetInventoryService()
|
|
||||||
{
|
|
||||||
IInventoryServices invService;
|
|
||||||
m_commsManager.TryGetInventoryService(m_inventoryHost, out invService);
|
|
||||||
return invService;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -743,4 +673,4 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
m_delegate.DynamicInvoke(m_args);
|
m_delegate.DynamicInvoke(m_args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -119,12 +119,12 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
CachedUserInfo userInfo = GetUserDetails(userID);
|
CachedUserInfo userInfo = GetUserDetails(userID);
|
||||||
if (userInfo != null)
|
if (userInfo != null)
|
||||||
{
|
{
|
||||||
//m_commsManager.InventoryService.RequestInventoryForUser(userID, userInfo.InventoryReceive);
|
m_commsManager.InventoryService.RequestInventoryForUser(userID, userInfo.InventoryReceive);
|
||||||
IInventoryServices invService = userInfo.GetInventoryService();
|
//IInventoryServices invService = userInfo.GetInventoryService();
|
||||||
if (invService != null)
|
//if (invService != null)
|
||||||
{
|
//{
|
||||||
invService.RequestInventoryForUser(userID, userInfo.InventoryReceive);
|
// invService.RequestInventoryForUser(userID, userInfo.InventoryReceive);
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -231,10 +231,10 @@ namespace OpenSim.Framework.Communications
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string inventoryServerUrl = "";
|
string inventoryServerUrl = "";
|
||||||
if (!String.IsNullOrEmpty(userProfile.UserInventoryURI))
|
//if (!String.IsNullOrEmpty(userProfile.UserInventoryURI))
|
||||||
{
|
//{
|
||||||
inventoryServerUrl = userProfile.UserInventoryURI;
|
// inventoryServerUrl = userProfile.UserInventoryURI;
|
||||||
}
|
//}
|
||||||
inventData = GetInventorySkeleton(agentID, inventoryServerUrl);
|
inventData = GetInventorySkeleton(agentID, inventoryServerUrl);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
|
@ -393,10 +393,10 @@ namespace OpenSim.Framework.Communications
|
||||||
// Inventory Library Section
|
// Inventory Library Section
|
||||||
|
|
||||||
string inventoryServerUrl = "";
|
string inventoryServerUrl = "";
|
||||||
if (!String.IsNullOrEmpty(userProfile.UserInventoryURI))
|
//if (!String.IsNullOrEmpty(userProfile.UserInventoryURI))
|
||||||
{
|
//{
|
||||||
inventoryServerUrl = userProfile.UserInventoryURI;
|
// inventoryServerUrl = userProfile.UserInventoryURI;
|
||||||
}
|
//}
|
||||||
|
|
||||||
InventoryData inventData = GetInventorySkeleton(agentID, inventoryServerUrl);
|
InventoryData inventData = GetInventorySkeleton(agentID, inventoryServerUrl);
|
||||||
ArrayList AgentInventoryArray = inventData.InventoryArray;
|
ArrayList AgentInventoryArray = inventData.InventoryArray;
|
||||||
|
|
|
@ -422,10 +422,10 @@ namespace OpenSim.Grid.UserServer
|
||||||
protected override InventoryData GetInventorySkeleton(LLUUID userID, string serverUrl)
|
protected override InventoryData GetInventorySkeleton(LLUUID userID, string serverUrl)
|
||||||
{
|
{
|
||||||
string invUrl = m_config.InventoryUrl;
|
string invUrl = m_config.InventoryUrl;
|
||||||
if (!String.IsNullOrEmpty(serverUrl))
|
//if (!String.IsNullOrEmpty(serverUrl))
|
||||||
{
|
//{
|
||||||
invUrl = serverUrl+"/";
|
// invUrl = serverUrl+"/";
|
||||||
}
|
//}
|
||||||
|
|
||||||
m_log.DebugFormat(
|
m_log.DebugFormat(
|
||||||
"[LOGIN]: Contacting inventory service at {0} for inventory skeleton of user {1}",
|
"[LOGIN]: Contacting inventory service at {0} for inventory skeleton of user {1}",
|
||||||
|
|
Loading…
Reference in New Issue