From bdfdc9c65c5eb2786b7dd8e33ba8a12a3bafe86d Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 29 Nov 2013 11:05:51 -0500 Subject: [PATCH] Extract NotificationManager from GitBlit singleton --- src/main/java/com/gitblit/GCExecutor.java | 17 ++++++++++++----- 1 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/gitblit/GCExecutor.java b/src/main/java/com/gitblit/GCExecutor.java index 681065b..3ab9895 100644 --- a/src/main/java/com/gitblit/GCExecutor.java +++ b/src/main/java/com/gitblit/GCExecutor.java @@ -31,6 +31,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.gitblit.manager.IRepositoryManager; import com.gitblit.models.RepositoryModel; import com.gitblit.utils.FileUtils; @@ -53,14 +54,20 @@ private final IStoredSettings settings; + private final IRepositoryManager repositoryManager; + private AtomicBoolean running = new AtomicBoolean(false); private AtomicBoolean forceClose = new AtomicBoolean(false); private final Map<String, GCStatus> gcCache = new ConcurrentHashMap<String, GCStatus>(); - public GCExecutor(IStoredSettings settings) { + public GCExecutor( + IStoredSettings settings, + IRepositoryManager repositoryManager) { + this.settings = settings; + this.repositoryManager = repositoryManager; } /** @@ -131,7 +138,7 @@ running.set(true); Date now = new Date(); - for (String repositoryName : GitBlit.self().getRepositoryList()) { + for (String repositoryName : repositoryManager.getRepositoryList()) { if (forceClose.get()) { break; } @@ -143,8 +150,8 @@ RepositoryModel model = null; Repository repository = null; try { - model = GitBlit.self().getRepositoryModel(repositoryName); - repository = GitBlit.self().getRepository(repositoryName); + model = repositoryManager.getRepositoryModel(repositoryName); + repository = repositoryManager.getRepository(repositoryName); if (repository == null) { logger.warn(MessageFormat.format("GCExecutor is missing repository {0}?!?", repositoryName)); continue; @@ -204,7 +211,7 @@ if (garbageCollected) { // update the last GC date model.lastGC = new Date(); - GitBlit.self().updateConfiguration(repository, model); + repositoryManager.updateConfiguration(repository, model); } repository.close(); -- Gitblit v1.9.1