From 2539ceea0d47467d54cedd340afa6ede2909b2bd Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gmail.com>
Date: Wed, 23 Dec 2015 08:43:39 -0500
Subject: [PATCH] Merge pull request #986 from rgroux/jenkins-groovy-all-proto
---
src/main/java/com/gitblit/manager/FilestoreManager.java | 31 ++++++++++++++++++++++++++++---
1 files changed, 28 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/gitblit/manager/FilestoreManager.java b/src/main/java/com/gitblit/manager/FilestoreManager.java
index fe65e21..1110855 100644
--- a/src/main/java/com/gitblit/manager/FilestoreManager.java
+++ b/src/main/java/com/gitblit/manager/FilestoreManager.java
@@ -77,6 +77,8 @@
private final Logger logger = LoggerFactory.getLogger(getClass());
private final IRuntimeManager runtimeManager;
+
+ private final IRepositoryManager repositoryManager;
private final IStoredSettings settings;
@@ -93,8 +95,10 @@
@Inject
FilestoreManager(
- IRuntimeManager runtimeManager) {
+ IRuntimeManager runtimeManager,
+ IRepositoryManager repositoryManager) {
this.runtimeManager = runtimeManager;
+ this.repositoryManager = repositoryManager;
this.settings = runtimeManager.getSettings();
}
@@ -324,8 +328,29 @@
}
@Override
- public List<FilestoreModel> getAllObjects() {
- return new ArrayList<FilestoreModel>(fileCache.values());
+ public List<FilestoreModel> getAllObjects(UserModel user) {
+
+ final List<RepositoryModel> viewableRepositories = repositoryManager.getRepositoryModels(user);
+ List<String> viewableRepositoryNames = new ArrayList<String>(viewableRepositories.size());
+
+ for (RepositoryModel repository : viewableRepositories) {
+ viewableRepositoryNames.add(repository.name);
+ }
+
+ if (viewableRepositoryNames.size() == 0) {
+ return null;
+ }
+
+ final Collection<FilestoreModel> allFiles = fileCache.values();
+ List<FilestoreModel> userViewableFiles = new ArrayList<FilestoreModel>(allFiles.size());
+
+ for (FilestoreModel file : allFiles) {
+ if (file.isInRepositoryList(viewableRepositoryNames)) {
+ userViewableFiles.add(file);
+ }
+ }
+
+ return userViewableFiles;
}
@Override
--
Gitblit v1.9.1