From 5200b359257c2ab5e29781c2b05c6092fc8338f8 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 29 Nov 2013 11:05:50 -0500
Subject: [PATCH] Eliminate static singleton calls from user services

---
 src/main/java/com/gitblit/MirrorExecutor.java |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/gitblit/MirrorExecutor.java b/src/main/java/com/gitblit/MirrorExecutor.java
index 21c194f..6c951b9 100644
--- a/src/main/java/com/gitblit/MirrorExecutor.java
+++ b/src/main/java/com/gitblit/MirrorExecutor.java
@@ -33,6 +33,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.gitblit.manager.IRepositoryManager;
 import com.gitblit.models.RepositoryModel;
 import com.gitblit.models.UserModel;
 import com.gitblit.utils.JGitUtils;
@@ -51,14 +52,20 @@
 
 	private final IStoredSettings settings;
 
+	private final IRepositoryManager repositoryManager;
+
 	private AtomicBoolean running = new AtomicBoolean(false);
 
 	private AtomicBoolean forceClose = new AtomicBoolean(false);
 
 	private final UserModel gitblitUser;
 
-	public MirrorExecutor(IStoredSettings settings) {
+	public MirrorExecutor(
+			IStoredSettings settings,
+			IRepositoryManager repositoryManager) {
+
 		this.settings = settings;
+		this.repositoryManager = repositoryManager;
 		this.gitblitUser = new UserModel("gitblit");
 		this.gitblitUser.displayName = "Gitblit";
 	}
@@ -83,25 +90,25 @@
 
 		running.set(true);
 
-		for (String repositoryName : GitBlit.self().getRepositoryList()) {
+		for (String repositoryName : repositoryManager.getRepositoryList()) {
 			if (forceClose.get()) {
 				break;
 			}
-			if (GitBlit.self().isCollectingGarbage(repositoryName)) {
+			if (repositoryManager.isCollectingGarbage(repositoryName)) {
 				logger.debug("mirror is skipping {} garbagecollection", repositoryName);
 				continue;
 			}
 			RepositoryModel model = null;
 			Repository repository = null;
 			try {
-				model = GitBlit.self().getRepositoryModel(repositoryName);
+				model = repositoryManager.getRepositoryModel(repositoryName);
 				if (!model.isMirror && !model.isBare) {
 					// repository must be a valid bare git mirror
 					logger.debug("mirror is skipping {} !mirror !bare", repositoryName);
 					continue;
 				}
 
-				repository = GitBlit.self().getRepository(repositoryName);
+				repository = repositoryManager.getRepository(repositoryName);
 				if (repository == null) {
 					logger.warn(MessageFormat.format("MirrorExecutor is missing repository {0}?!?", repositoryName));
 					continue;

--
Gitblit v1.9.1