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;
 }
Exemple #3
0
 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;
 }