From 7e5107ef3e2bb0d7c31d3050fb8ba6cc1601ef1a Mon Sep 17 00:00:00 2001
From: Glenn Matthys <glenn@webmind.be>
Date: Sun, 17 Jan 2016 17:15:38 -0500
Subject: [PATCH] Describe how DH key bitlength can be influenced

---
 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