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/GitFilter.java | 21 +++++++++++++++------ 1 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/gitblit/GitFilter.java b/src/main/java/com/gitblit/GitFilter.java index a06c7e5..ba8443d 100644 --- a/src/main/java/com/gitblit/GitFilter.java +++ b/src/main/java/com/gitblit/GitFilter.java @@ -17,10 +17,14 @@ import java.text.MessageFormat; +import javax.inject.Inject; +import javax.inject.Singleton; + import com.gitblit.Constants.AccessRestrictionType; import com.gitblit.Constants.AuthorizationControl; import com.gitblit.manager.IRepositoryManager; import com.gitblit.manager.IRuntimeManager; +import com.gitblit.manager.ISessionManager; import com.gitblit.models.RepositoryModel; import com.gitblit.models.UserModel; import com.gitblit.utils.StringUtils; @@ -33,6 +37,7 @@ * @author James Moger * */ +@Singleton public class GitFilter extends AccessRestrictionFilter { protected static final String gitReceivePack = "/git-receive-pack"; @@ -42,7 +47,16 @@ protected static final String[] suffixes = { gitReceivePack, gitUploadPack, "/info/refs", "/HEAD", "/objects" }; - public GitFilter() { + private final IStoredSettings settings; + + @Inject + public GitFilter( + IRuntimeManager runtimeManager, + ISessionManager sessionManager, + IRepositoryManager repositoryManager) { + + super(runtimeManager, sessionManager, repositoryManager); + this.settings = runtimeManager.getSettings(); } /** @@ -105,7 +119,6 @@ */ @Override protected boolean isCreationAllowed() { - IStoredSettings settings = GitBlit.getManager(IRuntimeManager.class).getSettings(); return settings.getBoolean(Keys.git.allowCreateOnPush, true); } @@ -125,7 +138,6 @@ @Override protected boolean requiresClientCertificate() { - IStoredSettings settings = GitBlit.getManager(IRuntimeManager.class).getSettings(); return settings.getBoolean(Keys.git.requiresClientCertificate, false); } @@ -159,7 +171,6 @@ */ @Override protected boolean canAccess(RepositoryModel repository, UserModel user, String action) { - IStoredSettings settings = GitBlit.getManager(IRuntimeManager.class).getSettings(); if (!settings.getBoolean(Keys.git.enableGitServlet, true)) { // Git Servlet disabled return false; @@ -231,14 +242,12 @@ model.accessRestriction = AccessRestrictionType.VIEW; } else { // common repository, user default server settings - IStoredSettings settings = GitBlit.getManager(IRuntimeManager.class).getSettings(); model.authorizationControl = AuthorizationControl.fromName(settings.getString(Keys.git.defaultAuthorizationControl, "")); model.accessRestriction = AccessRestrictionType.fromName(settings.getString(Keys.git.defaultAccessRestriction, "PUSH")); } // create the repository try { - IRepositoryManager repositoryManager = GitBlit.getManager(IRepositoryManager.class); repositoryManager.updateRepositoryModel(model.name, model, true); logger.info(MessageFormat.format("{0} created {1} ON-PUSH", user.username, model.name)); return repositoryManager.getRepositoryModel(model.name); -- Gitblit v1.9.1