FilteredRepository create()

in src/main/java/com/googlesource/gerrit/plugins/gitiles/FilteredRepository.java [69:87]


    FilteredRepository create(Project.NameKey name)
        throws NoSuchProjectException, IOException, PermissionBackendException {
      Optional<ProjectState> projectState = projectCache.get(name);
      if (!projectState.isPresent() || !projectState.get().statePermitsRead()) {
        throw new NoSuchProjectException(name);
      }
      try {
        permissionBackend.currentUser().project(name).check(ProjectPermission.ACCESS);
      } catch (AuthException e) {
        throw new NoSuchProjectException(name, e);
      } catch (PermissionBackendException e) {
        throw new ServiceMayNotContinueException(e);
      }
      return new FilteredRepository(
          projectState.get(),
          userProvider.get(),
          repoManager.openRepository(name),
          permissionBackend);
    }