private boolean areFtpFilesIdentical(FTPFile a, FTPFile b) { if (haveDifferentTimestamps(a, b)) { return false; } if (haveDifferentGroups(a, b)) { return false; } if (haveDifferentUsers(a, b)) { return false; } if (a.getSize() != b.getSize()) { return false; } for (int userType : userTypes) { for (int permissionType : permissionTypes) { if (a.hasPermission(userType, permissionType) != b.hasPermission(userType, permissionType)) { return false; } } } return true; }
private static EnumSet<AccessMode> calculateAccess(final FTPFile file) { final EnumSet<AccessMode> ret = EnumSet.noneOf(AccessMode.class); if (file.hasPermission(FTPFile.USER_ACCESS, FTPFile.READ_PERMISSION)) ret.add(AccessMode.READ); if (file.hasPermission(FTPFile.USER_ACCESS, FTPFile.WRITE_PERMISSION)) ret.add(AccessMode.WRITE); if (file.hasPermission(FTPFile.USER_ACCESS, FTPFile.EXECUTE_PERMISSION)) ret.add(AccessMode.EXECUTE); return ret; }
private FsAction getFsAction(int accessGroup, FTPFile ftpFile) { FsAction action = FsAction.NONE; if (ftpFile.hasPermission(accessGroup, FTPFile.READ_PERMISSION)) { action.or(FsAction.READ); } if (ftpFile.hasPermission(accessGroup, FTPFile.WRITE_PERMISSION)) { action.or(FsAction.WRITE); } if (ftpFile.hasPermission(accessGroup, FTPFile.EXECUTE_PERMISSION)) { action.or(FsAction.EXECUTE); } return action; }
private HashSet<PosixFilePermission> getPermissions() { HashSet<PosixFilePermission> permissions = new HashSet<>(); for (int userType : userTypes) { for (int permissionType : permissionTypes) { if (attributes.hasPermission(userType, permissionType)) { permissions.add(getPosixFilePermission(userType, permissionType)); } } } return permissions; }