private UserFileSystem RestoreUserFileSystem(string userdir) { logger.Debug("Restoring user file system for user dir path :" + userdir); UserFileSystem userfilesystem = new UserFileSystem(); string user = new DirectoryInfo(userdir).Name; string usermetadatafilepath = userdir + Path.DirectorySeparatorChar + metadatafilename; List <String> metadatafilecontent = FileUtils.ReadLinesFromFile(usermetadatafilepath); if (metadatafilecontent.Count < 3) { throw new DiskuserMetaDataCorrupt("Disk meta data corrupt for user: " + user); } UserMetaData metadataobj = new UserMetaData(metadatafilecontent[0].Trim(), metadatafilecontent[1].Trim(), int.Parse(metadatafilecontent[2].Trim())); userfilesystem.metadata = metadataobj; metadatafilecontent.RemoveRange(0, 3); //remove the meta data rows and we are left with file names foreach (string filepath in metadatafilecontent) { UserFile file = RestoreUserFile(userdir, filepath.Trim()); userfilesystem.filemap.Add(filepath.Trim(), file); } return(userfilesystem); }
public UserFileSystem(UserMetaData metadata) { this.filemap = new Dictionary <string, UserFile> (); this.sharedFiles = new List <SharedFile> (); this.privateLock = new object(); this.metadata = metadata; }
public UserFileSystem(UserMetaData metadata) { this.filemap = new Dictionary<string, UserFile> (); this.sharedFiles = new List<SharedFile> (); this.privateLock = new object (); this.metadata = metadata; }
public void SetMetadataSynchronized(UserMetaData metadata) { lock (this.privateLock) { this.metadata = metadata; } }
public void SetMetadataSychronized(UserMetaData metadata) { lock (this.privateLock) { this.metadata = metadata; } }