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/wicket/GitblitWicketFilter.java | 43 +++++++++++++++++++++++-------------------- 1 files changed, 23 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/gitblit/wicket/GitblitWicketFilter.java b/src/main/java/com/gitblit/wicket/GitblitWicketFilter.java index bc65d77..87b0a08 100644 --- a/src/main/java/com/gitblit/wicket/GitblitWicketFilter.java +++ b/src/main/java/com/gitblit/wicket/GitblitWicketFilter.java @@ -17,18 +17,17 @@ import java.util.Date; +import javax.inject.Inject; +import javax.inject.Singleton; import javax.servlet.http.HttpServletRequest; -import org.apache.wicket.protocol.http.IWebApplicationFactory; -import org.apache.wicket.protocol.http.WebApplication; -import org.apache.wicket.protocol.http.WicketFilter; import org.apache.wicket.util.string.Strings; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.revwalk.RevCommit; -import com.gitblit.GitBlit; 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; @@ -45,19 +44,28 @@ * @author James Moger * */ -public class GitblitWicketFilter extends WicketFilter { +@Singleton +public class GitblitWicketFilter extends DaggerWicketFilter { - public GitblitWicketFilter() { - } + private final IStoredSettings settings; - @Override - protected IWebApplicationFactory getApplicationFactory() { - return new IWebApplicationFactory() { - @Override - public WebApplication createApplication(WicketFilter filter) { - return new GitBlitWebApp(); - } - }; + private final IRuntimeManager runtimeManager; + + private final IRepositoryManager repositoryManager; + + private final IProjectManager projectManager; + + @Inject + public GitblitWicketFilter( + IRuntimeManager runtimeManager, + IRepositoryManager repositoryManager, + IProjectManager projectManager) { + + super(); + this.settings = runtimeManager.getSettings(); + this.runtimeManager = runtimeManager; + this.repositoryManager = repositoryManager; + this.projectManager = projectManager; } /** @@ -96,11 +104,6 @@ if (!StringUtils.isEmpty(servletRequest.getParameter("h"))) { commitId = servletRequest.getParameter("h"); } - - IRuntimeManager runtimeManager = GitBlit.getManager(IRuntimeManager.class); - IStoredSettings settings = runtimeManager.getSettings(); - IRepositoryManager repositoryManager = GitBlit.getManager(IRepositoryManager.class); - IProjectManager projectManager = GitBlit.getManager(IProjectManager.class); repo = repo.replace("%2f", "/").replace("%2F", "/").replace(settings.getChar(Keys.web.forwardSlashCharacter, '/'), '/'); -- Gitblit v1.9.1