Esempio n. 1
0
  public static void allowLockedOperation(
      FSFS fsfs,
      String path,
      final String username,
      final Collection lockTokens,
      boolean recursive,
      boolean haveWriteLock)
      throws SVNException {
    path = SVNPathUtil.canonicalizeAbsolutePath(path);
    if (recursive) {
      ISVNLockHandler handler =
          new ISVNLockHandler() {

            private String myUsername = username;
            private Collection myTokens = lockTokens;

            public void handleLock(String path, SVNLock lock, SVNErrorMessage error)
                throws SVNException {
              verifyLock(lock, myTokens, myUsername);
            }

            public void handleUnlock(String path, SVNLock lock, SVNErrorMessage error)
                throws SVNException {}
          };
      fsfs.walkDigestFiles(fsfs.getDigestFileFromRepositoryPath(path), handler, haveWriteLock);
    } else {
      SVNLock lock = fsfs.getLockHelper(path, haveWriteLock);
      if (lock != null) {
        verifyLock(lock, lockTokens, username);
      }
    }
  }