From db4f6b5740c6ea45d9e2209dc569bc18904a8b4d Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 26 Nov 2013 16:07:04 -0500
Subject: [PATCH] Define manager interfaces and update all of Gitblit to use managers

---
 src/main/java/com/gitblit/git/GitblitReceivePackFactory.java |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/gitblit/git/GitblitReceivePackFactory.java b/src/main/java/com/gitblit/git/GitblitReceivePackFactory.java
index b2862f0..a90c36b 100644
--- a/src/main/java/com/gitblit/git/GitblitReceivePackFactory.java
+++ b/src/main/java/com/gitblit/git/GitblitReceivePackFactory.java
@@ -27,7 +27,11 @@
 import org.slf4j.LoggerFactory;
 
 import com.gitblit.GitBlit;
+import com.gitblit.IStoredSettings;
 import com.gitblit.Keys;
+import com.gitblit.manager.IRepositoryManager;
+import com.gitblit.manager.IRuntimeManager;
+import com.gitblit.manager.IUserManager;
 import com.gitblit.models.RepositoryModel;
 import com.gitblit.models.UserModel;
 import com.gitblit.utils.HttpUtils;
@@ -48,6 +52,10 @@
 	public ReceivePack create(X req, Repository db)
 			throws ServiceNotEnabledException, ServiceNotAuthorizedException {
 
+		IStoredSettings settings = GitBlit.getManager(IRuntimeManager.class).getSettings();
+		IUserManager userManager = GitBlit.getManager(IUserManager.class);
+		IRepositoryManager repositoryManager = GitBlit.getManager(IRepositoryManager.class);
+
 		UserModel user = UserModel.ANONYMOUS;
 		String repositoryName = "";
 		String origin = "";
@@ -66,7 +74,7 @@
 			// determine pushing user
 			String username = request.getRemoteUser();
 			if (!StringUtils.isEmpty(username)) {
-				UserModel u = GitBlit.self().getUserModel(username);
+				UserModel u = userManager.getUserModel(username);
 				if (u != null) {
 					user = u;
 				}
@@ -81,13 +89,13 @@
 			timeout = client.getDaemon().getTimeout();
 		}
 
-		boolean allowAnonymousPushes = GitBlit.getBoolean(Keys.git.allowAnonymousPushes, false);
+		boolean allowAnonymousPushes = settings.getBoolean(Keys.git.allowAnonymousPushes, false);
 		if (!allowAnonymousPushes && UserModel.ANONYMOUS.equals(user)) {
 			// prohibit anonymous pushes
 			throw new ServiceNotEnabledException();
 		}
 
-		final RepositoryModel repository = GitBlit.self().getRepositoryModel(repositoryName);
+		final RepositoryModel repository = repositoryManager.getRepositoryModel(repositoryName);
 
 		final GitblitReceivePack rp = new GitblitReceivePack(db, repository, user);
 		rp.setGitblitUrl(gitblitUrl);

--
Gitblit v1.9.1