summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/gitblit/manager
diff options
context:
space:
mode:
authorJames Moger <james.moger@gmail.com>2015-12-08 07:58:21 -0500
committerJames Moger <james.moger@gmail.com>2015-12-08 07:58:21 -0500
commitf75535759570bbc4784ee8324b0d1b8dfb01766f (patch)
tree6432ad5743f8a4ab2e636da9300774b897a62e0a /src/main/java/com/gitblit/manager
parent0aecfc10a08474a8ae19c2a46ea9ed77d75b2f6e (diff)
parent697905cbf3b6fc1d8f22322a4f403b4abe2f0c0a (diff)
downloadgitblit-f75535759570bbc4784ee8324b0d1b8dfb01766f.tar.gz
gitblit-f75535759570bbc4784ee8324b0d1b8dfb01766f.zip
Merge pull request #973 from paulsputer/967-Filestore-Help
fix for #967 filestore menu and help
Diffstat (limited to 'src/main/java/com/gitblit/manager')
-rw-r--r--src/main/java/com/gitblit/manager/FilestoreManager.java31
-rw-r--r--src/main/java/com/gitblit/manager/GitblitManager.java4
-rw-r--r--src/main/java/com/gitblit/manager/IFilestoreManager.java2
3 files changed, 31 insertions, 6 deletions
diff --git a/src/main/java/com/gitblit/manager/FilestoreManager.java b/src/main/java/com/gitblit/manager/FilestoreManager.java
index fe65e216..11108557 100644
--- a/src/main/java/com/gitblit/manager/FilestoreManager.java
+++ b/src/main/java/com/gitblit/manager/FilestoreManager.java
@@ -77,6 +77,8 @@ public class FilestoreManager implements IFilestoreManager {
private final Logger logger = LoggerFactory.getLogger(getClass());
private final IRuntimeManager runtimeManager;
+
+ private final IRepositoryManager repositoryManager;
private final IStoredSettings settings;
@@ -93,8 +95,10 @@ public class FilestoreManager implements IFilestoreManager {
@Inject
FilestoreManager(
- IRuntimeManager runtimeManager) {
+ IRuntimeManager runtimeManager,
+ IRepositoryManager repositoryManager) {
this.runtimeManager = runtimeManager;
+ this.repositoryManager = repositoryManager;
this.settings = runtimeManager.getSettings();
}
@@ -324,8 +328,29 @@ public class FilestoreManager implements IFilestoreManager {
}
@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
diff --git a/src/main/java/com/gitblit/manager/GitblitManager.java b/src/main/java/com/gitblit/manager/GitblitManager.java
index 4a385fc1..85d5c19f 100644
--- a/src/main/java/com/gitblit/manager/GitblitManager.java
+++ b/src/main/java/com/gitblit/manager/GitblitManager.java
@@ -1274,8 +1274,8 @@ public class GitblitManager implements IGitblit {
}
@Override
- public List<FilestoreModel> getAllObjects() {
- return filestoreManager.getAllObjects();
+ public List<FilestoreModel> getAllObjects(UserModel user) {
+ return filestoreManager.getAllObjects(user);
}
@Override
diff --git a/src/main/java/com/gitblit/manager/IFilestoreManager.java b/src/main/java/com/gitblit/manager/IFilestoreManager.java
index 0720650c..454331a3 100644
--- a/src/main/java/com/gitblit/manager/IFilestoreManager.java
+++ b/src/main/java/com/gitblit/manager/IFilestoreManager.java
@@ -37,7 +37,7 @@ public interface IFilestoreManager extends IManager {
FilestoreModel.Status downloadBlob(String oid, UserModel user, RepositoryModel repo, OutputStream streamOut );
- List<FilestoreModel> getAllObjects();
+ List<FilestoreModel> getAllObjects(UserModel user);
File getStorageFolder();