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/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