aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorJustin Clarke Casey2009-02-25 20:07:25 +0000
committerJustin Clarke Casey2009-02-25 20:07:25 +0000
commita5c9354df31c747f33e39631cf33bba593a5f071 (patch)
tree5a8bdffa874a4072e9d95849f543887c1a8d7896 /OpenSim
parentRenamed IUGAIMCore to IGridServiceCore, still not really happy with this name... (diff)
downloadopensim-SC-a5c9354df31c747f33e39631cf33bba593a5f071.zip
opensim-SC-a5c9354df31c747f33e39631cf33bba593a5f071.tar.gz
opensim-SC-a5c9354df31c747f33e39631cf33bba593a5f071.tar.bz2
opensim-SC-a5c9354df31c747f33e39631cf33bba593a5f071.tar.xz
* Properly load items into correct folders when an iar is loaded
* At the moment, any existing folders with the same name are reused - will need an option to always create new folders * not yet ready for general use
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs20
1 files changed, 12 insertions, 8 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs
index b61b524..fc63957 100644
--- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs
@@ -222,8 +222,11 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
222 item.Creator = m_userInfo.UserProfile.ID; 222 item.Creator = m_userInfo.UserProfile.ID;
223 item.Owner = m_userInfo.UserProfile.ID; 223 item.Owner = m_userInfo.UserProfile.ID;
224 224
225 /*
226 filePath = filePath.Substring(InventoryArchiveConstants.INVENTORY_PATH.Length); 225 filePath = filePath.Substring(InventoryArchiveConstants.INVENTORY_PATH.Length);
226 filePath = filePath.Remove(filePath.LastIndexOf("/"));
227
228 m_log.DebugFormat("[INVENTORY ARCHIVER]: Loading to file path {0}", filePath);
229
227 string[] rawFolders = filePath.Split(new char[] { '/' }); 230 string[] rawFolders = filePath.Split(new char[] { '/' });
228 231
229 // Find the folders that do exist along the path given 232 // Find the folders that do exist along the path given
@@ -248,17 +251,18 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
248 // Create any folders that did not previously exist 251 // Create any folders that did not previously exist
249 while (i < rawFolders.Length) 252 while (i < rawFolders.Length)
250 { 253 {
251 m_log.DebugFormat("[INVENTORY ARCHIVER]: Creating folder {0}", rawFolders[i]); 254 m_log.DebugFormat("[INVENTORY ARCHIVER]: Creating folder {0}", rawFolders[i]);
252 foundFolder.CreateChildFolder(UUID.Random(), rawFolders[i++], (ushort)AssetType.Folder); 255
256 UUID newFolderId = UUID.Random();
257 m_userInfo.CreateFolder(
258 rawFolders[i++], newFolderId, (ushort)AssetType.Folder, foundFolder.ID);
259 foundFolder = foundFolder.GetChildFolder(newFolderId);
253 } 260 }
254 261
255 // Reset folder ID to the one in which we want to load it 262 // Reset folder ID to the one in which we want to load it
256 // TODO: Properly restore entire folder structure. At the moment all items are dumped in this
257 // single folder no matter where in the saved folder structure they are.
258 item.Folder = foundFolder.ID; 263 item.Folder = foundFolder.ID;
259 */
260 264
261 item.Folder = rootDestinationFolder.ID; 265 //item.Folder = rootDestinationFolder.ID;
262 266
263 m_userInfo.AddItem(item); 267 m_userInfo.AddItem(item);
264 successfulItemRestores++; 268 successfulItemRestores++;
@@ -304,7 +308,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
304 { 308 {
305 sbyte assetType = InventoryArchiveConstants.EXTENSION_TO_ASSET_TYPE[extension]; 309 sbyte assetType = InventoryArchiveConstants.EXTENSION_TO_ASSET_TYPE[extension];
306 310
307 m_log.DebugFormat("[INVENTORY ARCHIVER]: Importing asset {0}, type {1}", uuid, assetType); 311 //m_log.DebugFormat("[INVENTORY ARCHIVER]: Importing asset {0}, type {1}", uuid, assetType);
308 312
309 AssetBase asset = new AssetBase(new UUID(uuid), "RandomName"); 313 AssetBase asset = new AssetBase(new UUID(uuid), "RandomName");
310 314