Exemplo n.º 1
0
        /* Entry point for sharing file with a user*/
        public void shareFileWithUser(string clientId, string filename, string sharedWithUser)
        {
            Logger.Debug("Sharing file " + filename + " owned by user " + clientId + " with user " + sharedWithUser);
            UserFileSystem fs          = getUserFSFromMapSynchronized(clientId);
            bool           filepresent = fs.isFilePresentSynchronized(filename);

            if (!filepresent)
            {
                throw new FileNotFoundException("File not present in memory for client : " + filename + " for client : " + clientId);
            }
            fs.addSharedUserToFileSynchronized(filename, sharedWithUser);

            UserFileSystem sharedFS = getUserFSFromMapSynchronized(sharedWithUser);
            bool           added    = sharedFS.addSharedFileSynchronized(new SharedFile(clientId, filename));

            if (!added)
            {
                Logger.Debug("Shared file was already present, skipping");
            }
        }
Exemplo n.º 2
0
        /* Entry point for un-sharing file with a user*/
        public void unShareFileWithUser(string clientId, string filename, string sharedWithUser)
        {
            Logger.Debug("Un Sharing file " + filename + " owned by user " + clientId + " with user " + sharedWithUser);
            UserFileSystem fs          = getUserFSFromMapSynchronized(clientId);
            bool           filepresent = fs.isFilePresentSynchronized(filename);

            fs.removeSharedUserFromFileSynchronized(filename, sharedWithUser);

            if (!filepresent)
            {
                throw new FileNotFoundException("File not present in memory for client : " + filename + " for client : " + clientId);
            }

            UserFileSystem sharedFS = getUserFSFromMapSynchronized(sharedWithUser);
            bool           deleted  = sharedFS.deleteSharedFileSynchronized(new SharedFile(clientId, filename));

            if (!deleted)
            {
                Logger.Debug("Shared file was not present , skipping deletion");
            }
        }