private String getRevision()

in src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocServlet.java [303:332]


  private String getRevision(String revision, ProjectControl projectControl)
      throws ResourceNotFoundException, AuthException, IOException, PermissionBackendException {
    if (revision == null) {
      return null;
    }

    if (ObjectId.isId(revision)) {
      return revision;
    }

    if (Constants.HEAD.equals(revision)) {
      return getHead.get().apply(new ProjectResource(projectControl));
    } else {
      String rev = revision;
      if (!rev.startsWith(Constants.R_REFS)) {
        rev = Constants.R_HEADS + rev;
      }
      try {
        permissionBackend
            .user(projectControl.getUser())
            .project(projectControl.getProject().getNameKey())
            .ref(rev)
            .check(RefPermission.READ);
      } catch (AuthException e) {
        // Don't leak the project's existence
        throw new ResourceNotFoundException();
      }
      return rev;
    }
  }