James Moger
2014-05-16 1b34b05f5b8d2d0fd51819b286e22d7ddd27cb27
Embrace @Inject for Managers, Servlets, and Filters
35 files modified
1 files deleted
950 ■■■■■ changed files
src/main/java/com/gitblit/DaggerModule.java 395 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/GitBlit.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/dagger/DaggerWicketFilter.java 45 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/manager/AuthenticationManager.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/manager/FederationManager.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/manager/NotificationManager.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/manager/PluginManager.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/manager/ProjectManager.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/manager/RepositoryManager.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/manager/RuntimeManager.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/manager/UserManager.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/servlet/AccessRestrictionFilter.java 18 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/servlet/AuthenticationFilter.java 17 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/servlet/BranchGraphServlet.java 25 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/servlet/DownloadZipFilter.java 16 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/servlet/DownloadZipServlet.java 17 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/servlet/EnforceAuthenticationFilter.java 34 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/servlet/FederationServlet.java 22 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/servlet/GitFilter.java 26 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/servlet/GitServlet.java 18 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/servlet/JsonServlet.java 4 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/servlet/LogoServlet.java 15 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/servlet/PagesFilter.java 17 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/servlet/PagesServlet.java 13 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/servlet/ProxyFilter.java 33 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/servlet/PtServlet.java 15 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/servlet/RawFilter.java 16 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/servlet/RawServlet.java 24 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/servlet/RobotsTxtServlet.java 15 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/servlet/RpcFilter.java 22 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/servlet/RpcServlet.java 13 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/servlet/SparkleShareInviteServlet.java 26 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/servlet/SyndicationFilter.java 24 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/servlet/SyndicationServlet.java 24 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/GitBlitWebApp.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/GitblitWicketFilter.java 28 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/DaggerModule.java
@@ -72,7 +72,6 @@
 *
 */
@Module(
    library = true,
    injects = {
            IStoredSettings.class,
@@ -123,32 +122,24 @@
        return new FileSettings();
    }
    @Provides @Singleton IRuntimeManager provideRuntimeManager(IStoredSettings settings) {
        return new RuntimeManager(settings);
    @Provides @Singleton IRuntimeManager provideRuntimeManager(RuntimeManager manager) {
        return manager;
    }
    @Provides @Singleton IPluginManager providePluginManager(IRuntimeManager runtimeManager) {
        return new PluginManager(runtimeManager);
    @Provides @Singleton IPluginManager providePluginManager(PluginManager manager) {
        return manager;
    }
    @Provides @Singleton INotificationManager provideNotificationManager(IStoredSettings settings) {
        return new NotificationManager(settings);
    @Provides @Singleton INotificationManager provideNotificationManager(NotificationManager manager) {
        return manager;
    }
    @Provides @Singleton IUserManager provideUserManager(
            IRuntimeManager runtimeManager,
            IPluginManager pluginManager) {
        return new UserManager(runtimeManager, pluginManager);
    @Provides @Singleton IUserManager provideUserManager(UserManager manager) {
        return manager;
    }
    @Provides @Singleton IAuthenticationManager provideAuthenticationManager(
            IRuntimeManager runtimeManager,
            IUserManager userManager) {
        return new AuthenticationManager(
                runtimeManager,
                userManager);
    @Provides @Singleton IAuthenticationManager provideAuthenticationManager(AuthenticationManager manager) {
        return manager;
    }
    @Provides @Singleton IPublicKeyManager providePublicKeyManager(
@@ -176,369 +167,19 @@
        }
    }
    @Provides @Singleton IRepositoryManager provideRepositoryManager(
            IRuntimeManager runtimeManager,
            IPluginManager pluginManager,
            IUserManager userManager) {
        return new RepositoryManager(
                runtimeManager,
                pluginManager,
                userManager);
    @Provides @Singleton IRepositoryManager provideRepositoryManager(RepositoryManager manager) {
        return manager;
    }
    @Provides @Singleton IProjectManager provideProjectManager(
            IRuntimeManager runtimeManager,
            IUserManager userManager,
            IRepositoryManager repositoryManager) {
        return new ProjectManager(
                runtimeManager,
                userManager,
                repositoryManager);
    @Provides @Singleton IProjectManager provideProjectManager(ProjectManager manager) {
        return manager;
    }
    @Provides @Singleton IFederationManager provideFederationManager(
            IRuntimeManager runtimeManager,
            INotificationManager notificationManager,
            IRepositoryManager repositoryManager) {
        return new FederationManager(
                runtimeManager,
                notificationManager,
                repositoryManager);
    @Provides @Singleton IFederationManager provideFederationManager(FederationManager manager) {
        return manager;
    }
    @Provides @Singleton IGitblit provideGitblit(
            IRuntimeManager runtimeManager,
            IPluginManager pluginManager,
            INotificationManager notificationManager,
            IUserManager userManager,
            IAuthenticationManager authenticationManager,
            IPublicKeyManager publicKeyManager,
            IRepositoryManager repositoryManager,
            IProjectManager projectManager,
            IFederationManager federationManager) {
        return new GitBlit(
                runtimeManager,
                pluginManager,
                notificationManager,
                userManager,
                authenticationManager,
                publicKeyManager,
                repositoryManager,
                projectManager,
                federationManager);
    }
    @Provides @Singleton GitBlitWebApp provideWebApplication(
            IRuntimeManager runtimeManager,
            IPluginManager pluginManager,
            INotificationManager notificationManager,
            IUserManager userManager,
            IAuthenticationManager authenticationManager,
            IPublicKeyManager publicKeyManager,
            IRepositoryManager repositoryManager,
            IProjectManager projectManager,
            IFederationManager federationManager,
            IGitblit gitblit) {
        return new GitBlitWebApp(
                runtimeManager,
                pluginManager,
                notificationManager,
                userManager,
                authenticationManager,
                publicKeyManager,
                repositoryManager,
                projectManager,
                federationManager,
                gitblit);
    }
//
//    @Provides @Singleton GitblitWicketFilter provideGitblitWicketFilter(GitBlitWebApp webapp) {
//        return new GitblitWicketFilter(webapp);
//    }
//
//    @Provides GitServlet provideGitServlet(IGitblit gitblit) {
//        return new GitServlet(gitblit);
//    }
//
//    @Provides GitFilter provideGitFilter(
//            IRuntimeManager runtimeManager,
//            IUserManager userManager,
//            IAuthenticationManager authenticationManager,
//            IRepositoryManager repositoryManager,
//            IFederationManager federationManager) {
//
//        return new GitFilter(
//                runtimeManager,
//                userManager,
//                authenticationManager,
//                repositoryManager,
//                federationManager);
//    }
//
//    @Provides @Singleton PagesServlet providePagesServlet(
//            IRuntimeManager runtimeManager,
//            IRepositoryManager repositoryManager) {
//
//        return new PagesServlet(runtimeManager, repositoryManager);
//    }
//
//    @Provides @Singleton PagesFilter providePagesFilter(
//            IRuntimeManager runtimeManager,
//            IAuthenticationManager authenticationManager,
//            IRepositoryManager repositoryManager) {
//
//        return new PagesFilter(
//                runtimeManager,
//                authenticationManager,
//                repositoryManager);
//    }
//
//    @Provides @Singleton RpcServlet provideRpcServlet(IGitblit gitblit) {
//        return new RpcServlet(gitblit);
//    }
//
//    @Provides @Singleton RpcFilter provideRpcFilter(
//            IRuntimeManager runtimeManager,
//            IAuthenticationManager authenticationManager) {
//
//        return new RpcFilter(runtimeManager, authenticationManager);
//    }
//
//    @Provides @Singleton DownloadZipServlet provideDownloadZipServlet(
//            IRuntimeManager runtimeManager,
//            IRepositoryManager repositoryManager) {
//
//        return new DownloadZipServlet(runtimeManager, repositoryManager);
//    }
//
//    @Provides @Singleton DownloadZipFilter provideDownloadZipFilter(
//            IRuntimeManager runtimeManager,
//            IAuthenticationManager authenticationManager,
//            IRepositoryManager repositoryManager) {
//
//        return new DownloadZipFilter(
//                runtimeManager,
//                authenticationManager,
//                repositoryManager);
//    }
//
//    @Provides @Singleton SyndicationServlet provideSyndicationServlet(
//            IRuntimeManager runtimeManager,
//            IRepositoryManager repositoryManager,
//            IProjectManager projectManager) {
//
//        return new SyndicationServlet(
//                runtimeManager,
//                repositoryManager,
//                projectManager);
//    }
//
//    @Provides @Singleton SyndicationFilter provideSyndicationFilter(
//            IRuntimeManager runtimeManager,
//            IAuthenticationManager authenticationManager,
//            IRepositoryManager repositoryManager,
//            IProjectManager projectManager) {
//
//        return new SyndicationFilter(
//                runtimeManager,
//                authenticationManager,
//                repositoryManager,
//                projectManager);
//    }
//
//    @Provides @Singleton FederationServlet provideFederationServlet(
//            IRuntimeManager runtimeManager,
//            IUserManager userManager,
//            IRepositoryManager repositoryManager,
//            IFederationManager federationManager) {
//
//        return new FederationServlet(
//                runtimeManager,
//                userManager,
//                repositoryManager,
//                federationManager);
//    }
//
//    @Provides @Singleton SparkleShareInviteServlet provideSparkleshareInviteServlet(
//            IRuntimeManager runtimeManager,
//            IUserManager userManager,
//            IAuthenticationManager authenticationManager,
//            IRepositoryManager repositoryManager) {
//
//        return new SparkleShareInviteServlet(
//                runtimeManager,
//                userManager,
//                authenticationManager,
//                repositoryManager);
//    }
//
//    @Provides @Singleton BranchGraphServlet provideBranchGraphServlet(
//            IRuntimeManager runtimeManager,
//            IRepositoryManager repositoryManager) {
//
//        return new BranchGraphServlet(runtimeManager, repositoryManager);
//    }
//
//    @Provides @Singleton RobotsTxtServlet provideRobotsTxtServlet(IRuntimeManager runtimeManager) {
//        return new RobotsTxtServlet(runtimeManager);
//    }
//
//    @Provides @Singleton LogoServlet provideLogoServlet(IRuntimeManager runtimeManager) {
//        return new LogoServlet(runtimeManager);
//    }
//
//    @Provides @Singleton EnforceAuthenticationFilter provideEnforceAuthenticationFilter(
//            IRuntimeManager runtimeManager,
//            IAuthenticationManager authenticationManager) {
//
//        return new EnforceAuthenticationFilter(runtimeManager, authenticationManager);
//    }
    @Provides @Singleton GitblitWicketFilter provideGitblitWicketFilter(GitBlitWebApp webapp) {
        return new GitblitWicketFilter();
    }
    @Provides GitServlet provideGitServlet(IGitblit gitblit) {
        return new GitServlet();
    }
    @Provides GitFilter provideGitFilter(
            IRuntimeManager runtimeManager,
            IUserManager userManager,
            IAuthenticationManager authenticationManager,
            IRepositoryManager repositoryManager,
            IFederationManager federationManager) {
        return new GitFilter();
    }
    @Provides @Singleton RawServlet provideRawServlet(
            IRuntimeManager runtimeManager,
            IRepositoryManager repositoryManager) {
        return new RawServlet();
    }
    @Provides @Singleton RawFilter provideRawFilter(
            IRuntimeManager runtimeManager,
            IAuthenticationManager authenticationManager,
            IRepositoryManager repositoryManager) {
        return new RawFilter();
    }
    @Provides @Singleton PagesServlet providePagesServlet(
            IRuntimeManager runtimeManager,
            IRepositoryManager repositoryManager) {
        return new PagesServlet();
    }
    @Provides @Singleton PagesFilter providePagesFilter(
            IRuntimeManager runtimeManager,
            IAuthenticationManager authenticationManager,
            IRepositoryManager repositoryManager) {
        return new PagesFilter();
    }
    @Provides @Singleton RpcServlet provideRpcServlet(IGitblit gitblit) {
        return new RpcServlet();
    }
    @Provides @Singleton RpcFilter provideRpcFilter(
            IRuntimeManager runtimeManager,
            IAuthenticationManager authenticationManager) {
        return new RpcFilter();
    }
    @Provides @Singleton DownloadZipServlet provideDownloadZipServlet(
            IRuntimeManager runtimeManager,
            IRepositoryManager repositoryManager) {
        return new DownloadZipServlet();
    }
    @Provides @Singleton DownloadZipFilter provideDownloadZipFilter(
            IRuntimeManager runtimeManager,
            IAuthenticationManager authenticationManager,
            IRepositoryManager repositoryManager) {
        return new DownloadZipFilter();
    }
    @Provides @Singleton SyndicationServlet provideSyndicationServlet(
            IRuntimeManager runtimeManager,
            IRepositoryManager repositoryManager,
            IProjectManager projectManager) {
        return new SyndicationServlet();
    }
    @Provides @Singleton SyndicationFilter provideSyndicationFilter(
            IRuntimeManager runtimeManager,
            IAuthenticationManager authenticationManager,
            IRepositoryManager repositoryManager,
            IProjectManager projectManager) {
        return new SyndicationFilter();
    }
    @Provides @Singleton FederationServlet provideFederationServlet(
            IRuntimeManager runtimeManager,
            IUserManager userManager,
            IRepositoryManager repositoryManager,
            IFederationManager federationManager) {
        return new FederationServlet();
    }
    @Provides @Singleton SparkleShareInviteServlet provideSparkleshareInviteServlet(
            IRuntimeManager runtimeManager,
            IUserManager userManager,
            IAuthenticationManager authenticationManager,
            IRepositoryManager repositoryManager) {
        return new SparkleShareInviteServlet();
    }
    @Provides @Singleton BranchGraphServlet provideBranchGraphServlet(
            IRuntimeManager runtimeManager,
            IRepositoryManager repositoryManager) {
        return new BranchGraphServlet();
    }
    @Provides @Singleton RobotsTxtServlet provideRobotsTxtServlet(IRuntimeManager runtimeManager) {
        return new RobotsTxtServlet();
    }
    @Provides @Singleton LogoServlet provideLogoServlet(IRuntimeManager runtimeManager) {
        return new LogoServlet();
    }
    @Provides @Singleton PtServlet providePtServlet(IRuntimeManager runtimeManager) {
        return new PtServlet();
    }
    @Provides @Singleton ProxyFilter provideProxyFilter(
            IRuntimeManager runtimeManager,
            IAuthenticationManager authenticationManager) {
        return new ProxyFilter();
    }
    @Provides @Singleton EnforceAuthenticationFilter provideEnforceAuthenticationFilter(
            IRuntimeManager runtimeManager,
            IAuthenticationManager authenticationManager) {
        return new EnforceAuthenticationFilter();
    @Provides @Singleton IGitblit provideGitblit(GitBlit gitblit) {
        return gitblit;
    }
}
src/main/java/com/gitblit/GitBlit.java
@@ -24,6 +24,7 @@
import java.util.List;
import java.util.Set;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.servlet.http.HttpServletRequest;
@@ -70,6 +71,7 @@
    private ITicketService ticketService;
    @Inject
    public GitBlit(
            IRuntimeManager runtimeManager,
            IPluginManager pluginManager,
src/main/java/com/gitblit/dagger/DaggerWicketFilter.java
File was deleted
src/main/java/com/gitblit/manager/AuthenticationManager.java
@@ -24,6 +24,7 @@
import java.util.Map;
import java.util.concurrent.TimeUnit;
import javax.inject.Inject;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -76,6 +77,7 @@
    private final Map<String, String> legacyRedirects;
    @Inject
    public AuthenticationManager(
            IRuntimeManager runtimeManager,
            IUserManager userManager) {
src/main/java/com/gitblit/manager/FederationManager.java
@@ -26,6 +26,7 @@
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import org.slf4j.Logger;
@@ -70,6 +71,7 @@
    private final IRepositoryManager repositoryManager;
    @Inject
    public FederationManager(
            IRuntimeManager runtimeManager,
            INotificationManager notificationManager,
src/main/java/com/gitblit/manager/NotificationManager.java
@@ -20,6 +20,7 @@
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import javax.inject.Inject;
import javax.mail.Message;
import org.slf4j.Logger;
@@ -48,6 +49,7 @@
    private final MailService mailService;
    @Inject
    public NotificationManager(IStoredSettings settings) {
        this.settings = settings;
        this.mailService = new MailService(settings);
src/main/java/com/gitblit/manager/PluginManager.java
@@ -34,6 +34,8 @@
import java.util.Map;
import java.util.TreeMap;
import javax.inject.Inject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -81,6 +83,7 @@
    private int readTimeout = 12800;
    @Inject
    public PluginManager(IRuntimeManager runtimeManager) {
        File dir = runtimeManager.getFileOrFolder(Keys.plugins.folder, "${baseFolder}/plugins");
        dir.mkdirs();
src/main/java/com/gitblit/manager/ProjectManager.java
@@ -27,6 +27,8 @@
import java.util.TreeMap;
import java.util.concurrent.ConcurrentHashMap;
import javax.inject.Inject;
import org.eclipse.jgit.storage.file.FileBasedConfig;
import org.eclipse.jgit.util.FS;
import org.slf4j.Logger;
@@ -68,6 +70,7 @@
    private FileBasedConfig projectConfigs;
    @Inject
    public ProjectManager(
            IRuntimeManager runtimeManager,
            IUserManager userManager,
src/main/java/com/gitblit/manager/RepositoryManager.java
@@ -44,6 +44,8 @@
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
import javax.inject.Inject;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.lib.RepositoryCache;
import org.eclipse.jgit.lib.RepositoryCache.FileKey;
@@ -127,6 +129,7 @@
    private MirrorService mirrorExecutor;
    @Inject
    public RepositoryManager(
            IRuntimeManager runtimeManager,
            IPluginManager pluginManager,
src/main/java/com/gitblit/manager/RuntimeManager.java
@@ -22,6 +22,8 @@
import java.util.Map;
import java.util.TimeZone;
import javax.inject.Inject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -47,6 +49,7 @@
    private TimeZone timezone;
    @Inject
    public RuntimeManager(IStoredSettings settings) {
        this(settings, null);
    }
src/main/java/com/gitblit/manager/UserManager.java
@@ -24,6 +24,8 @@
import java.util.List;
import java.util.Map;
import javax.inject.Inject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -57,6 +59,7 @@
    private IUserService userService;
    @Inject
    public UserManager(IRuntimeManager runtimeManager, IPluginManager pluginManager) {
        this.settings = runtimeManager.getSettings();
        this.runtimeManager = runtimeManager;
src/main/java/com/gitblit/servlet/AccessRestrictionFilter.java
@@ -19,20 +19,18 @@
import java.text.MessageFormat;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.gitblit.manager.IAuthenticationManager;
import com.gitblit.manager.IRepositoryManager;
import com.gitblit.manager.IRuntimeManager;
import com.gitblit.models.RepositoryModel;
import com.gitblit.models.UserModel;
import com.gitblit.utils.StringUtils;
import dagger.ObjectGraph;
/**
 * The AccessRestrictionFilter is an AuthenticationFilter that confirms that the
@@ -54,11 +52,15 @@
    protected IRepositoryManager repositoryManager;
    @Override
    protected void inject(ObjectGraph dagger, FilterConfig filterConfig) {
        super.inject(dagger, filterConfig);
        this.runtimeManager = dagger.get(IRuntimeManager.class);
        this.repositoryManager = dagger.get(IRepositoryManager.class);
    protected AccessRestrictionFilter(
            IRuntimeManager runtimeManager,
            IAuthenticationManager authenticationManager,
            IRepositoryManager repositoryManager) {
        super(authenticationManager);
        this.runtimeManager = runtimeManager;
        this.repositoryManager = repositoryManager;
    }
    /**
src/main/java/com/gitblit/servlet/AuthenticationFilter.java
@@ -21,6 +21,7 @@
import java.util.HashMap;
import java.util.Map;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
@@ -35,13 +36,10 @@
import org.slf4j.LoggerFactory;
import com.gitblit.Constants;
import com.gitblit.dagger.DaggerFilter;
import com.gitblit.manager.IAuthenticationManager;
import com.gitblit.models.UserModel;
import com.gitblit.utils.DeepCopier;
import com.gitblit.utils.StringUtils;
import dagger.ObjectGraph;
/**
 * The AuthenticationFilter is a servlet filter that preprocesses requests that
@@ -52,7 +50,7 @@
 * @author James Moger
 *
 */
public abstract class AuthenticationFilter extends DaggerFilter {
public abstract class AuthenticationFilter implements Filter {
    protected static final String CHALLENGE = "Basic realm=\"" + Constants.NAME + "\"";
@@ -62,9 +60,16 @@
    protected IAuthenticationManager authenticationManager;
    protected AuthenticationFilter(IAuthenticationManager authenticationManager) {
        this.authenticationManager = authenticationManager;
    }
    @Override
    protected void inject(ObjectGraph dagger, FilterConfig filterConfig) {
        this.authenticationManager = dagger.get(IAuthenticationManager.class);
    public void init(FilterConfig filterConfig) throws ServletException {
    }
    @Override
    public void destroy() {
    }
    /**
src/main/java/com/gitblit/servlet/BranchGraphServlet.java
@@ -36,7 +36,10 @@
import java.util.TreeSet;
import javax.imageio.ImageIO;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -52,12 +55,9 @@
import com.gitblit.Constants;
import com.gitblit.IStoredSettings;
import com.gitblit.Keys;
import com.gitblit.dagger.DaggerServlet;
import com.gitblit.manager.IRepositoryManager;
import com.gitblit.utils.JGitUtils;
import com.gitblit.utils.StringUtils;
import dagger.ObjectGraph;
/**
 * Handles requests for branch graphs
@@ -65,7 +65,8 @@
 * @author James Moger
 *
 */
public class BranchGraphServlet extends DaggerServlet {
@Singleton
public class BranchGraphServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
@@ -82,18 +83,18 @@
    private IRepositoryManager repositoryManager;
    public BranchGraphServlet() {
        super();
    @Inject
    public BranchGraphServlet(
            IStoredSettings settings,
            IRepositoryManager repositoryManager) {
        this.settings = settings;
        this.repositoryManager = repositoryManager;
        strokeCache = new Stroke[4];
        for (int i = 1; i < strokeCache.length; i++) {
            strokeCache[i] = new BasicStroke(i);
        }
    }
    @Override
    protected void inject(ObjectGraph dagger) {
        this.settings = dagger.get(IStoredSettings.class);
        this.repositoryManager = dagger.get(IRepositoryManager.class);
    }
    /**
src/main/java/com/gitblit/servlet/DownloadZipFilter.java
@@ -15,7 +15,13 @@
 */
package com.gitblit.servlet;
import javax.inject.Inject;
import javax.inject.Singleton;
import com.gitblit.Constants.AccessRestrictionType;
import com.gitblit.manager.IAuthenticationManager;
import com.gitblit.manager.IRepositoryManager;
import com.gitblit.manager.IRuntimeManager;
import com.gitblit.models.RepositoryModel;
import com.gitblit.models.UserModel;
@@ -27,8 +33,18 @@
 * @author James Moger
 *
 */
@Singleton
public class DownloadZipFilter extends AccessRestrictionFilter {
    @Inject
    public DownloadZipFilter(
            IRuntimeManager runtimeManager,
            IAuthenticationManager authenticationManager,
            IRepositoryManager repositoryManager) {
        super(runtimeManager, authenticationManager, repositoryManager);
    }
    /**
     * Extract the repository name from the url.
     *
src/main/java/com/gitblit/servlet/DownloadZipServlet.java
@@ -20,7 +20,10 @@
import java.text.ParseException;
import java.util.Date;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletResponse;
import org.eclipse.jgit.lib.Repository;
@@ -31,14 +34,11 @@
import com.gitblit.Constants;
import com.gitblit.IStoredSettings;
import com.gitblit.Keys;
import com.gitblit.dagger.DaggerServlet;
import com.gitblit.manager.IRepositoryManager;
import com.gitblit.utils.CompressionUtils;
import com.gitblit.utils.JGitUtils;
import com.gitblit.utils.MarkdownUtils;
import com.gitblit.utils.StringUtils;
import dagger.ObjectGraph;
/**
 * Streams out a zip file from the specified repository for any tree path at any
@@ -47,7 +47,8 @@
 * @author James Moger
 *
 */
public class DownloadZipServlet extends DaggerServlet {
@Singleton
public class DownloadZipServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
@@ -76,10 +77,10 @@
        }
    }
    @Override
    protected void inject(ObjectGraph dagger) {
        this.settings = dagger.get(IStoredSettings.class);
        this.repositoryManager = dagger.get(IRepositoryManager.class);
    @Inject
    public DownloadZipServlet(IStoredSettings settings, IRepositoryManager repositoryManager) {
        this.settings = settings;
        this.repositoryManager = repositoryManager;
    }
    /**
src/main/java/com/gitblit/servlet/EnforceAuthenticationFilter.java
@@ -18,6 +18,9 @@
import java.io.IOException;
import java.text.MessageFormat;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
@@ -31,11 +34,8 @@
import com.gitblit.IStoredSettings;
import com.gitblit.Keys;
import com.gitblit.dagger.DaggerFilter;
import com.gitblit.manager.IAuthenticationManager;
import com.gitblit.models.UserModel;
import dagger.ObjectGraph;
/**
 * This filter enforces authentication via HTTP Basic Authentication, if the settings indicate so.
@@ -45,7 +45,8 @@
 * @author Laurens Vrijnsen
 *
 */
public class EnforceAuthenticationFilter extends DaggerFilter {
@Singleton
public class EnforceAuthenticationFilter implements Filter {
    protected transient Logger logger = LoggerFactory.getLogger(getClass());
@@ -53,10 +54,21 @@
    private IAuthenticationManager authenticationManager;
    @Inject
    public EnforceAuthenticationFilter(
            IStoredSettings settings,
            IAuthenticationManager authenticationManager) {
        this.settings = settings;
        this.authenticationManager = authenticationManager;
    }
    @Override
    protected void inject(ObjectGraph dagger, FilterConfig filterConfig) {
        this.settings = dagger.get(IStoredSettings.class);
        this.authenticationManager = dagger.get(IAuthenticationManager.class);
    public void init(FilterConfig config) {
    }
    @Override
    public void destroy() {
    }
    /*
@@ -86,13 +98,5 @@
            // user is authenticated, or don't care, continue handling
            chain.doFilter(request, response);
        }
    }
    /*
     * @see javax.servlet.Filter#destroy()
     */
    @Override
    public void destroy() {
    }
}
src/main/java/com/gitblit/servlet/FederationServlet.java
@@ -25,6 +25,8 @@
import java.util.Map;
import java.util.Set;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.servlet.http.HttpServletResponse;
import com.gitblit.Constants.FederationRequest;
@@ -43,14 +45,13 @@
import com.gitblit.utils.StringUtils;
import com.gitblit.utils.TimeUtils;
import dagger.ObjectGraph;
/**
 * Handles federation requests.
 *
 * @author James Moger
 *
 */
@Singleton
public class FederationServlet extends JsonServlet {
    private static final long serialVersionUID = 1L;
@@ -63,12 +64,17 @@
    private IFederationManager federationManager;
    @Override
    protected void inject(ObjectGraph dagger) {
        this.settings = dagger.get(IStoredSettings.class);
        this.userManager = dagger.get(IUserManager.class);
        this.repositoryManager = dagger.get(IRepositoryManager.class);
        this.federationManager = dagger.get(IFederationManager.class);
    @Inject
    public FederationServlet(
            IStoredSettings settings,
            IUserManager userManager,
            IRepositoryManager repositoryManager,
            IFederationManager federationManager) {
        this.settings = settings;
        this.userManager = userManager;
        this.repositoryManager = repositoryManager;
        this.federationManager = federationManager;
    }
    /**
src/main/java/com/gitblit/servlet/GitFilter.java
@@ -17,7 +17,8 @@
import java.text.MessageFormat;
import javax.servlet.FilterConfig;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.servlet.http.HttpServletRequest;
import com.gitblit.Constants.AccessRestrictionType;
@@ -25,12 +26,13 @@
import com.gitblit.GitBlitException;
import com.gitblit.IStoredSettings;
import com.gitblit.Keys;
import com.gitblit.manager.IAuthenticationManager;
import com.gitblit.manager.IFederationManager;
import com.gitblit.manager.IRepositoryManager;
import com.gitblit.manager.IRuntimeManager;
import com.gitblit.models.RepositoryModel;
import com.gitblit.models.UserModel;
import com.gitblit.utils.StringUtils;
import dagger.ObjectGraph;
/**
 * The GitFilter is an AccessRestrictionFilter which ensures that Git client
@@ -40,6 +42,7 @@
 * @author James Moger
 *
 */
@Singleton
public class GitFilter extends AccessRestrictionFilter {
    protected static final String gitReceivePack = "/git-receive-pack";
@@ -53,11 +56,18 @@
    private IFederationManager federationManager;
    @Override
    protected void inject(ObjectGraph dagger, FilterConfig filterConfig) {
        super.inject(dagger, filterConfig);
        this.settings = dagger.get(IStoredSettings.class);
        this.federationManager = dagger.get(IFederationManager.class);
    @Inject
    public GitFilter(
            IStoredSettings settings,
            IRuntimeManager runtimeManager,
            IAuthenticationManager authenticationManager,
            IRepositoryManager repositoryManager,
            IFederationManager federationManager) {
        super(runtimeManager, authenticationManager, repositoryManager);
        this.settings = settings;
        this.federationManager = federationManager;
    }
    /**
src/main/java/com/gitblit/servlet/GitServlet.java
@@ -20,6 +20,8 @@
import java.io.IOException;
import java.util.Enumeration;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletConfig;
@@ -33,13 +35,10 @@
import org.eclipse.jgit.http.server.GitFilter;
import com.gitblit.dagger.DaggerContext;
import com.gitblit.git.GitblitReceivePackFactory;
import com.gitblit.git.GitblitUploadPackFactory;
import com.gitblit.git.RepositoryResolver;
import com.gitblit.manager.IGitblit;
import dagger.ObjectGraph;
/**
 * The GitServlet provides http/https access to Git repositories.
@@ -48,24 +47,23 @@
 * @author James Moger
 *
 */
@Singleton
public class GitServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    private final GitFilter gitFilter;
    public GitServlet() {
    @Inject
    public GitServlet(IGitblit gitblit) {
        gitFilter = new GitFilter();
        gitFilter.setRepositoryResolver(new RepositoryResolver<HttpServletRequest>(gitblit));
        gitFilter.setUploadPackFactory(new GitblitUploadPackFactory<HttpServletRequest>(gitblit));
        gitFilter.setReceivePackFactory(new GitblitReceivePackFactory<HttpServletRequest>(gitblit));
    }
    @Override
    public void init(final ServletConfig config) throws ServletException {
        ServletContext context = config.getServletContext();
        ObjectGraph dagger = (ObjectGraph) context.getAttribute(DaggerContext.INJECTOR_NAME);
        IGitblit gitblit = dagger.get(IGitblit.class);
        gitFilter.setRepositoryResolver(new RepositoryResolver<HttpServletRequest>(gitblit));
        gitFilter.setUploadPackFactory(new GitblitUploadPackFactory<HttpServletRequest>(gitblit));
        gitFilter.setReceivePackFactory(new GitblitReceivePackFactory<HttpServletRequest>(gitblit));
        gitFilter.init(new FilterConfig() {
            @Override
src/main/java/com/gitblit/servlet/JsonServlet.java
@@ -21,6 +21,7 @@
import java.text.MessageFormat;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -28,7 +29,6 @@
import org.slf4j.LoggerFactory;
import com.gitblit.Constants;
import com.gitblit.dagger.DaggerServlet;
import com.gitblit.utils.JsonUtils;
import com.gitblit.utils.StringUtils;
@@ -38,7 +38,7 @@
 * @author James Moger
 *
 */
public abstract class JsonServlet extends DaggerServlet {
public abstract class JsonServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
src/main/java/com/gitblit/servlet/LogoServlet.java
@@ -21,16 +21,16 @@
import java.io.InputStream;
import java.io.OutputStream;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.gitblit.Keys;
import com.gitblit.dagger.DaggerServlet;
import com.gitblit.manager.IRuntimeManager;
import dagger.ObjectGraph;
/**
 * Handles requests for logo.png
@@ -38,7 +38,8 @@
 * @author James Moger
 *
 */
public class LogoServlet extends DaggerServlet {
@Singleton
public class LogoServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
@@ -46,9 +47,9 @@
    private IRuntimeManager runtimeManager;
    @Override
    protected void inject(ObjectGraph dagger) {
        this.runtimeManager = dagger.get(IRuntimeManager.class);
    @Inject
    public LogoServlet(IRuntimeManager runtimeManager) {
        this.runtimeManager = runtimeManager;
    }
    @Override
src/main/java/com/gitblit/servlet/PagesFilter.java
@@ -15,6 +15,13 @@
 */
package com.gitblit.servlet;
import javax.inject.Inject;
import javax.inject.Singleton;
import com.gitblit.manager.IAuthenticationManager;
import com.gitblit.manager.IRepositoryManager;
import com.gitblit.manager.IRuntimeManager;
/**
 * The PagesFilter is an AccessRestrictionFilter which ensures the gh-pages
@@ -23,7 +30,17 @@
 * @author James Moger
 *
 */
@Singleton
public class PagesFilter extends RawFilter {
    @Inject
    public PagesFilter(
            IRuntimeManager runtimeManager,
            IAuthenticationManager authenticationManager,
            IRepositoryManager repositoryManager) {
        super(runtimeManager, authenticationManager, repositoryManager);
    }
}
src/main/java/com/gitblit/servlet/PagesServlet.java
@@ -15,10 +15,14 @@
 */
package com.gitblit.servlet;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.gitblit.Constants;
import com.gitblit.manager.IRepositoryManager;
import com.gitblit.manager.IRuntimeManager;
/**
 * Serves the content of a gh-pages branch.
@@ -26,6 +30,7 @@
 * @author James Moger
 *
 */
@Singleton
public class PagesServlet extends RawServlet {
    private static final long serialVersionUID = 1L;
@@ -46,6 +51,14 @@
        return baseURL + Constants.PAGES + repository + "/" + (path == null ? "" : ("/" + path));
    }
    @Inject
    public PagesServlet(
            IRuntimeManager runtimeManager,
            IRepositoryManager repositoryManager) {
        super(runtimeManager, repositoryManager);
    }
    @Override
    protected String getBranch(String repository, HttpServletRequest request) {
        return "gh-pages";
src/main/java/com/gitblit/servlet/ProxyFilter.java
@@ -16,9 +16,13 @@
package com.gitblit.servlet;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
@@ -27,12 +31,9 @@
import ro.fortsoft.pf4j.PluginWrapper;
import com.gitblit.dagger.DaggerFilter;
import com.gitblit.extensions.HttpRequestFilter;
import com.gitblit.manager.IPluginManager;
import com.gitblit.manager.IRuntimeManager;
import dagger.ObjectGraph;
/**
 * A request filter than allows registered extension request filters to access
@@ -41,15 +42,29 @@
 * @author David Ostrovsky
 * @since 1.6.0
 */
public class ProxyFilter extends DaggerFilter {
    private List<HttpRequestFilter> filters;
@Singleton
public class ProxyFilter implements Filter {
    private final IRuntimeManager runtimeManager;
    private final IPluginManager pluginManager;
    private final List<HttpRequestFilter> filters;
    @Inject
    public ProxyFilter(
            IRuntimeManager runtimeManager,
            IPluginManager pluginManager) {
        this.runtimeManager = runtimeManager;
        this.pluginManager = pluginManager;
        this.filters = new ArrayList<>();
    }
    @Override
    protected void inject(ObjectGraph dagger, FilterConfig filterConfig) throws ServletException {
        IRuntimeManager runtimeManager = dagger.get(IRuntimeManager.class);
        IPluginManager pluginManager = dagger.get(IPluginManager.class);
    public void init(FilterConfig filterConfig) throws ServletException {
        filters = pluginManager.getExtensions(HttpRequestFilter.class);
        filters.addAll(pluginManager.getExtensions(HttpRequestFilter.class));
        for (HttpRequestFilter f : filters) {
            // wrap the filter config for Gitblit settings retrieval
            PluginWrapper pluginWrapper = pluginManager.whichPlugin(f.getClass());
src/main/java/com/gitblit/servlet/PtServlet.java
@@ -21,7 +21,10 @@
import java.io.InputStream;
import java.io.OutputStream;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -34,10 +37,7 @@
import org.apache.wicket.util.io.ByteArrayOutputStream;
import org.eclipse.jgit.lib.FileMode;
import com.gitblit.dagger.DaggerServlet;
import com.gitblit.manager.IRuntimeManager;
import dagger.ObjectGraph;
/**
 * Handles requests for the Barnum pt (patchset tool).
@@ -47,7 +47,8 @@
 * @author James Moger
 *
 */
public class PtServlet extends DaggerServlet {
@Singleton
public class PtServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
@@ -55,9 +56,9 @@
    private IRuntimeManager runtimeManager;
    @Override
    protected void inject(ObjectGraph dagger) {
        this.runtimeManager = dagger.get(IRuntimeManager.class);
    @Inject
    public PtServlet(IRuntimeManager runtimeManager) {
        this.runtimeManager = runtimeManager;
    }
    @Override
src/main/java/com/gitblit/servlet/RawFilter.java
@@ -15,9 +15,15 @@
 */
package com.gitblit.servlet;
import javax.inject.Inject;
import javax.inject.Singleton;
import org.eclipse.jgit.lib.Repository;
import com.gitblit.Constants.AccessRestrictionType;
import com.gitblit.manager.IAuthenticationManager;
import com.gitblit.manager.IRepositoryManager;
import com.gitblit.manager.IRuntimeManager;
import com.gitblit.models.RepositoryModel;
import com.gitblit.models.UserModel;
@@ -28,8 +34,18 @@
 * @author James Moger
 *
 */
@Singleton
public class RawFilter extends AccessRestrictionFilter {
    @Inject
    public RawFilter(
            IRuntimeManager runtimeManager,
            IAuthenticationManager authenticationManager,
            IRepositoryManager repositoryManager) {
        super(runtimeManager, authenticationManager, repositoryManager);
    }
    /**
     * Extract the repository name from the url.
     *
src/main/java/com/gitblit/servlet/RawServlet.java
@@ -28,8 +28,11 @@
import java.util.Map;
import java.util.TreeMap;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -48,7 +51,6 @@
import com.gitblit.Constants;
import com.gitblit.Keys;
import com.gitblit.dagger.DaggerServlet;
import com.gitblit.manager.IRepositoryManager;
import com.gitblit.manager.IRuntimeManager;
import com.gitblit.models.PathModel;
@@ -57,28 +59,30 @@
import com.gitblit.utils.MarkdownUtils;
import com.gitblit.utils.StringUtils;
import dagger.ObjectGraph;
/**
 * Serves the content of a branch.
 *
 * @author James Moger
 *
 */
public class RawServlet extends DaggerServlet {
@Singleton
public class RawServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    private transient Logger logger = LoggerFactory.getLogger(RawServlet.class);
    private IRuntimeManager runtimeManager;
    private final IRuntimeManager runtimeManager;
    private IRepositoryManager repositoryManager;
    private final IRepositoryManager repositoryManager;
    @Override
    protected void inject(ObjectGraph dagger) {
        this.runtimeManager = dagger.get(IRuntimeManager.class);
        this.repositoryManager = dagger.get(IRepositoryManager.class);
    @Inject
    public RawServlet(
            IRuntimeManager runtimeManager,
            IRepositoryManager repositoryManager) {
        this.runtimeManager = runtimeManager;
        this.repositoryManager = repositoryManager;
    }
    /**
src/main/java/com/gitblit/servlet/RobotsTxtServlet.java
@@ -18,16 +18,16 @@
import java.io.File;
import java.io.IOException;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.gitblit.Keys;
import com.gitblit.dagger.DaggerServlet;
import com.gitblit.manager.IRuntimeManager;
import com.gitblit.utils.FileUtils;
import dagger.ObjectGraph;
/**
 * Handles requests for robots.txt
@@ -35,15 +35,16 @@
 * @author James Moger
 *
 */
public class RobotsTxtServlet extends DaggerServlet {
@Singleton
public class RobotsTxtServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    private IRuntimeManager runtimeManager;
    @Override
    protected void inject(ObjectGraph dagger) {
        this.runtimeManager = dagger.get(IRuntimeManager.class);
    @Inject
    public RobotsTxtServlet(IRuntimeManager runtimeManager) {
        this.runtimeManager = runtimeManager;
    }
    @Override
src/main/java/com/gitblit/servlet/RpcFilter.java
@@ -18,8 +18,9 @@
import java.io.IOException;
import java.text.MessageFormat;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
@@ -29,10 +30,9 @@
import com.gitblit.Constants.RpcRequest;
import com.gitblit.IStoredSettings;
import com.gitblit.Keys;
import com.gitblit.manager.IAuthenticationManager;
import com.gitblit.manager.IRuntimeManager;
import com.gitblit.models.UserModel;
import dagger.ObjectGraph;
/**
 * The RpcFilter is a servlet filter that secures the RpcServlet.
@@ -47,17 +47,23 @@
 * @author James Moger
 *
 */
@Singleton
public class RpcFilter extends AuthenticationFilter {
    private IStoredSettings settings;
    private IRuntimeManager runtimeManager;
    @Override
    protected void inject(ObjectGraph dagger, FilterConfig filterConfig) {
        super.inject(dagger, filterConfig);
        this.settings = dagger.get(IStoredSettings.class);
        this.runtimeManager = dagger.get(IRuntimeManager.class);
    @Inject
    public RpcFilter(
            IStoredSettings settings,
            IRuntimeManager runtimeManager,
            IAuthenticationManager authenticationManager) {
        super(authenticationManager);
        this.settings = settings;
        this.runtimeManager = runtimeManager;
    }
    /**
src/main/java/com/gitblit/servlet/RpcServlet.java
@@ -23,6 +23,8 @@
import java.util.List;
import java.util.Map;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -47,13 +49,12 @@
import com.gitblit.utils.RpcUtils;
import com.gitblit.utils.StringUtils;
import dagger.ObjectGraph;
/**
 * Handles remote procedure calls.
 *
 * @author James Moger
 */
@Singleton
public class RpcServlet extends JsonServlet {
    private static final long serialVersionUID = 1L;
@@ -64,10 +65,10 @@
    private IGitblit gitblit;
    @Override
    protected void inject(ObjectGraph dagger) {
        this.settings = dagger.get(IStoredSettings.class);
        this.gitblit = dagger.get(IGitblit.class);
    @Inject
    public RpcServlet(IStoredSettings settings, IGitblit gitblit) {
        this.settings = settings;
        this.gitblit = gitblit;
    }
    /**
src/main/java/com/gitblit/servlet/SparkleShareInviteServlet.java
@@ -19,13 +19,15 @@
import java.net.URL;
import java.text.MessageFormat;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.gitblit.IStoredSettings;
import com.gitblit.Keys;
import com.gitblit.dagger.DaggerServlet;
import com.gitblit.manager.IAuthenticationManager;
import com.gitblit.manager.IRepositoryManager;
import com.gitblit.manager.IUserManager;
@@ -33,15 +35,14 @@
import com.gitblit.models.UserModel;
import com.gitblit.utils.StringUtils;
import dagger.ObjectGraph;
/**
 * Handles requests for Sparkleshare Invites
 *
 * @author James Moger
 *
 */
public class SparkleShareInviteServlet extends DaggerServlet {
@Singleton
public class SparkleShareInviteServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
@@ -53,12 +54,17 @@
    private IRepositoryManager repositoryManager;
    @Override
    protected void inject(ObjectGraph dagger) {
        this.settings = dagger.get(IStoredSettings.class);
        this.userManager = dagger.get(IUserManager.class);
        this.authenticationManager = dagger.get(IAuthenticationManager.class);
        this.repositoryManager = dagger.get(IRepositoryManager.class);
    @Inject
    public SparkleShareInviteServlet(
            IStoredSettings settings,
            IUserManager userManager,
            IAuthenticationManager authenticationManager,
            IRepositoryManager repositoryManager) {
        this.settings = settings;
        this.userManager = userManager;
        this.authenticationManager = authenticationManager;
        this.repositoryManager = repositoryManager;
    }
    @Override
src/main/java/com/gitblit/servlet/SyndicationFilter.java
@@ -18,8 +18,9 @@
import java.io.IOException;
import java.text.MessageFormat;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
@@ -27,14 +28,13 @@
import javax.servlet.http.HttpServletResponse;
import com.gitblit.Constants.AccessRestrictionType;
import com.gitblit.manager.IAuthenticationManager;
import com.gitblit.manager.IProjectManager;
import com.gitblit.manager.IRepositoryManager;
import com.gitblit.manager.IRuntimeManager;
import com.gitblit.models.ProjectModel;
import com.gitblit.models.RepositoryModel;
import com.gitblit.models.UserModel;
import dagger.ObjectGraph;
/**
 * The SyndicationFilter is an AuthenticationFilter which ensures that feed
@@ -44,18 +44,24 @@
 * @author James Moger
 *
 */
@Singleton
public class SyndicationFilter extends AuthenticationFilter {
    private IRuntimeManager runtimeManager;
    private IRepositoryManager repositoryManager;
    private IProjectManager projectManager;
    @Override
    protected void inject(ObjectGraph dagger, FilterConfig filterConfig) {
        super.inject(dagger, filterConfig);
        this.runtimeManager = dagger.get(IRuntimeManager.class);
        this.repositoryManager = dagger.get(IRepositoryManager.class);
        this.projectManager = dagger.get(IProjectManager.class);
    @Inject
    public SyndicationFilter(
            IRuntimeManager runtimeManager,
            IAuthenticationManager authenticationManager,
            IRepositoryManager repositoryManager,
            IProjectManager projectManager) {
        super(authenticationManager);
        this.runtimeManager = runtimeManager;
        this.repositoryManager = repositoryManager;
        this.projectManager = projectManager;
    }
    /**
src/main/java/com/gitblit/servlet/SyndicationServlet.java
@@ -22,6 +22,10 @@
import java.util.List;
import java.util.Map;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.servlet.http.HttpServlet;
import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.revwalk.RevCommit;
@@ -31,7 +35,6 @@
import com.gitblit.Constants;
import com.gitblit.IStoredSettings;
import com.gitblit.Keys;
import com.gitblit.dagger.DaggerServlet;
import com.gitblit.manager.IProjectManager;
import com.gitblit.manager.IRepositoryManager;
import com.gitblit.models.FeedEntryModel;
@@ -46,8 +49,6 @@
import com.gitblit.utils.StringUtils;
import com.gitblit.utils.SyndicationUtils;
import dagger.ObjectGraph;
/**
 * SyndicationServlet generates RSS 2.0 feeds and feed links.
 *
@@ -56,7 +57,8 @@
 * @author James Moger
 *
 */
public class SyndicationServlet extends DaggerServlet {
@Singleton
public class SyndicationServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
@@ -68,11 +70,15 @@
    private IProjectManager projectManager;
    @Override
    protected void inject(ObjectGraph dagger) {
        this.settings = dagger.get(IStoredSettings.class);
        this.repositoryManager = dagger.get(IRepositoryManager.class);
        this.projectManager = dagger.get(IProjectManager.class);
    @Inject
    public SyndicationServlet(
            IStoredSettings settings,
            IRepositoryManager repositoryManager,
            IProjectManager projectManager) {
        this.settings = settings;
        this.repositoryManager = repositoryManager;
        this.projectManager = projectManager;
    }
    /**
src/main/java/com/gitblit/wicket/GitBlitWebApp.java
@@ -21,6 +21,9 @@
import java.util.Map;
import java.util.TimeZone;
import javax.inject.Inject;
import javax.inject.Singleton;
import org.apache.wicket.Application;
import org.apache.wicket.Request;
import org.apache.wicket.Response;
@@ -90,6 +93,7 @@
import com.gitblit.wicket.pages.UserPage;
import com.gitblit.wicket.pages.UsersPage;
@Singleton
public class GitBlitWebApp extends WebApplication implements GitblitWicketApp {
    private final Class<? extends WebPage> homePageClass = MyDashboardPage.class;
@@ -120,6 +124,7 @@
    private final IGitblit gitblit;
    @Inject
    public GitBlitWebApp(
            IRuntimeManager runtimeManager,
            IPluginManager pluginManager,
src/main/java/com/gitblit/wicket/GitblitWicketFilter.java
@@ -17,6 +17,8 @@
import java.util.Date;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.servlet.http.HttpServletRequest;
import org.apache.wicket.protocol.http.IWebApplicationFactory;
@@ -28,7 +30,6 @@
import com.gitblit.IStoredSettings;
import com.gitblit.Keys;
import com.gitblit.dagger.DaggerWicketFilter;
import com.gitblit.manager.IProjectManager;
import com.gitblit.manager.IRepositoryManager;
import com.gitblit.manager.IRuntimeManager;
@@ -36,8 +37,6 @@
import com.gitblit.models.RepositoryModel;
import com.gitblit.utils.JGitUtils;
import com.gitblit.utils.StringUtils;
import dagger.ObjectGraph;
/**
 *
@@ -47,7 +46,8 @@
 * @author James Moger
 *
 */
public class GitblitWicketFilter extends DaggerWicketFilter {
@Singleton
public class GitblitWicketFilter extends WicketFilter {
    private IStoredSettings settings;
@@ -59,13 +59,19 @@
    private GitBlitWebApp webapp;
    @Override
    protected void inject(ObjectGraph dagger) {
        this.settings = dagger.get(IStoredSettings.class);
        this.runtimeManager = dagger.get(IRuntimeManager.class);
        this.repositoryManager = dagger.get(IRepositoryManager.class);
        this.projectManager = dagger.get(IProjectManager.class);
        this.webapp = dagger.get(GitBlitWebApp.class);
    @Inject
    public GitblitWicketFilter(
            IStoredSettings settings,
            IRuntimeManager runtimeManager,
            IRepositoryManager repositoryManager,
            IProjectManager projectManager,
            GitBlitWebApp webapp) {
        this.settings = settings;
        this.runtimeManager = runtimeManager;
        this.repositoryManager = repositoryManager;
        this.projectManager = projectManager;
        this.webapp = webapp;
    }
    @Override