From cacf8bff097fbb66a7be1bfe267b5da2605145f8 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 29 Nov 2013 11:05:46 -0500 Subject: [PATCH] Use Dagger to inject managers into all filters and servlets --- src/main/java/com/gitblit/git/GitDaemon.java | 58 +++++++++++++++++++++++----------------------------------- 1 files changed, 23 insertions(+), 35 deletions(-) diff --git a/src/main/java/com/gitblit/git/GitDaemon.java b/src/main/java/com/gitblit/git/GitDaemon.java index bb578ef..40cbe70 100644 --- a/src/main/java/com/gitblit/git/GitDaemon.java +++ b/src/main/java/com/gitblit/git/GitDaemon.java @@ -43,7 +43,6 @@ */ package com.gitblit.git; -import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.InterruptedIOException; @@ -68,6 +67,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.gitblit.IStoredSettings; +import com.gitblit.Keys; +import com.gitblit.manager.IRepositoryManager; +import com.gitblit.manager.IRuntimeManager; +import com.gitblit.manager.ISessionManager; +import com.gitblit.manager.IUserManager; import com.gitblit.utils.StringUtils; /** @@ -106,45 +111,28 @@ private ReceivePackFactory<GitDaemonClient> receivePackFactory; - /** Configure a daemon to listen on any available network port. */ - public GitDaemon() { - this(null); - } + public GitDaemon( + IRuntimeManager runtimeManager, + IUserManager userManager, + ISessionManager sessionManager, + IRepositoryManager repositoryManager) { - /** - * Construct the Gitblit Git daemon. - * - * @param bindInterface - * the ip address of the interface to bind - * @param port - * the port to serve on - * @param folder - * the folder to serve from - */ - public GitDaemon(String bindInterface, int port, File folder) { - this(StringUtils.isEmpty(bindInterface) ? new InetSocketAddress(port) - : new InetSocketAddress(bindInterface, port)); + IStoredSettings settings = runtimeManager.getSettings(); + int port = settings.getInteger(Keys.git.daemonPort, 0); + String bindInterface = settings.getString(Keys.git.daemonBindInterface, "localhost"); - // set the repository resolver and pack factories - repositoryResolver = new RepositoryResolver<GitDaemonClient>(folder); - } + if (StringUtils.isEmpty(bindInterface)) { + myAddress = new InetSocketAddress(port); + } else { + myAddress = new InetSocketAddress(bindInterface, port); + } - /** - * Configure a new daemon for the specified network address. - * - * @param addr - * address to listen for connections on. If null, any available - * port will be chosen on all network interfaces. - */ - public GitDaemon(final InetSocketAddress addr) { - myAddress = addr; - processors = new ThreadGroup("Git-Daemon"); + repositoryResolver = new RepositoryResolver<GitDaemonClient>(sessionManager, repositoryManager); + uploadPackFactory = new GitblitUploadPackFactory<GitDaemonClient>(sessionManager); + receivePackFactory = new GitblitReceivePackFactory<GitDaemonClient>(runtimeManager, userManager, repositoryManager); run = new AtomicBoolean(false); - repositoryResolver = null; - uploadPackFactory = new GitblitUploadPackFactory<GitDaemonClient>(); - receivePackFactory = new GitblitReceivePackFactory<GitDaemonClient>(); - + processors = new ThreadGroup("Git-Daemon"); services = new GitDaemonService[] { new GitDaemonService("upload-pack", "uploadpack") { { setEnabled(true); -- Gitblit v1.9.1