From aa6d43e8b28ff73d69a920e9b3a7b284cfce00c3 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 SessionManager from GitBlit singleton --- src/main/java/com/gitblit/SyndicationFilter.java | 25 +++++++++++++++++++++---- 1 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/gitblit/SyndicationFilter.java b/src/main/java/com/gitblit/SyndicationFilter.java index ab854bb..10b8810 100644 --- a/src/main/java/com/gitblit/SyndicationFilter.java +++ b/src/main/java/com/gitblit/SyndicationFilter.java @@ -18,6 +18,8 @@ import java.io.IOException; import java.text.MessageFormat; +import javax.inject.Inject; +import javax.inject.Singleton; import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.ServletRequest; @@ -29,6 +31,7 @@ import com.gitblit.manager.IProjectManager; import com.gitblit.manager.IRepositoryManager; import com.gitblit.manager.IRuntimeManager; +import com.gitblit.manager.ISessionManager; import com.gitblit.models.ProjectModel; import com.gitblit.models.RepositoryModel; import com.gitblit.models.UserModel; @@ -41,7 +44,25 @@ * @author James Moger * */ +@Singleton public class SyndicationFilter extends AuthenticationFilter { + + private final IRuntimeManager runtimeManager; + private final IRepositoryManager repositoryManager; + private final IProjectManager projectManager; + + @Inject + public SyndicationFilter( + IRuntimeManager runtimeManager, + ISessionManager sessionManager, + IRepositoryManager repositoryManager, + IProjectManager projectManager) { + + super(sessionManager); + this.runtimeManager = runtimeManager; + this.repositoryManager = repositoryManager; + this.projectManager = projectManager; + } /** * Extract the repository name from the url. @@ -72,10 +93,6 @@ String fullUrl = getFullUrl(httpRequest); String name = extractRequestedName(fullUrl); - - IRuntimeManager runtimeManager = GitBlit.getManager(IRuntimeManager.class); - IRepositoryManager repositoryManager = GitBlit.getManager(IRepositoryManager.class); - IProjectManager projectManager = GitBlit.getManager(IProjectManager.class); ProjectModel project = projectManager.getProjectModel(name); RepositoryModel model = null; -- Gitblit v1.9.1