void createDirectory(String path, Directory currentDirectory, User currentUser) throws InvalidFileNameException, FileAlreadyExistsException, InvalidMaskException, FileUnknownException { Directory beforeLast = absolutePath(path, currentUser, currentDirectory); beforeLast.addFile( new Directory( this.generateUniqueId(), getLastPathToken(path), currentUser.getUmask(), currentUser, beforeLast)); }
void createPlainFile(String path, Directory currentDirectory, User currentUser) throws InvalidFileNameException, InvalidMaskException, FileAlreadyExistsException { Directory directory = absolutePath(path, currentUser, currentDirectory); String filename = getLastPathToken(path); directory.checkAccessWrite(currentUser); for (File f : directory.getFilesSet()) { if (f.getFilename().equals(filename)) throw new FileAlreadyExistsException(filename); } directory.addFile( new PlainFile( this.generateUniqueId(), filename, currentUser.getUmask(), currentUser, directory)); }
public FileSystem(MyDriveManager mdm) { super(); setMyDriveManager(mdm); super.setIdSeed(0); Root root = new Root(); this.addUsers(root); try { super.setFsRoot( new Directory(this.generateUniqueId(), PATH_DELIM, root.getUmask(), root, this)); } catch (InvalidFileNameException | InvalidMaskException e) { /* This exception should not occur it only exists to protect the method against * bad programming */ log.trace(e.getMessage()); e.printStackTrace(); } Directory home = new Directory(generateUniqueId(), HOME_DIR, root.getUmask(), root, getSlash()); addToSlash(home); Directory rootHomeDirectory = new Directory(generateUniqueId(), root.getUsername(), root.getUmask(), root, home); home.addFile(rootHomeDirectory); root.setHomeDirectory((Directory) home.getFileByName(ROOT_USER)); Guest guest = new Guest(); Directory guestHomeDirectory = new Directory(generateUniqueId(), guest.getUsername(), guest.getUmask(), guest, home); home.addFile(guestHomeDirectory); guest.setHomeDirectory((Directory) home.getFileByName(GUEST_USER)); addUsers(guest); }
private Directory createDir(Directory current, String name, User user) throws ImportDocumentException { Directory next = null; try { File file = current.getFileByName(name); file.isCdAble(); next = (Directory) current.getFileByName(name); } catch (FileUnknownException e) { /* This exception should not occur it only exists to protect the method against * bad programming */ log.trace(e.getMessage()); e.printStackTrace(); } catch (IsNotDirectoryException e) { throw new ImportDocumentException(); } finally { if (next == null) { next = new Directory(this.generateUniqueId(), name, user.getUmask(), user, current); current.addFile(next); } } return next; }