summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/gitblit/DaggerModule.java
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2013-12-11 23:12:12 -0500
committerJames Moger <james.moger@gitblit.com>2013-12-11 23:12:12 -0500
commit65d5bb3f1cbfb42be5a3c4aa077b7ab2504082af (patch)
tree4d4c709c499c0ed46c237a7e2cb04dec28acdea2 /src/main/java/com/gitblit/DaggerModule.java
parente55930b4a3c657eb71fad3aa3f2d276439fc4a8c (diff)
downloadgitblit-65d5bb3f1cbfb42be5a3c4aa077b7ab2504082af.tar.gz
gitblit-65d5bb3f1cbfb42be5a3c4aa077b7ab2504082af.zip
Rollback to Servlet 2.5
Combining Dagger and Servlet 3 works really well on stock Tomcat and Jetty but it is a troublesome combination on JEE containers with their own ideas on how to instantiate classes. JBoss AS 7 has been particularly nasty and it is just simpler to scaleback and stay with Servlet 2.5 than it is to fight all permuations of containers. Instead of using constructor DI, the servlets and filters each have an inject(ObjectGaph) method which is automatically called during initialization. Each servlet or filter is responsible for retrieving the required dependency from the graph. The Dagger object graph is created in the context listener and stuffed into the context as an attribute. Change-Id: Ib5714584fe73e2a6b9c6fda12af080a43356cbda
Diffstat (limited to 'src/main/java/com/gitblit/DaggerModule.java')
-rw-r--r--src/main/java/com/gitblit/DaggerModule.java179
1 files changed, 2 insertions, 177 deletions
diff --git a/src/main/java/com/gitblit/DaggerModule.java b/src/main/java/com/gitblit/DaggerModule.java
index b12510c9..5ae8b253 100644
--- a/src/main/java/com/gitblit/DaggerModule.java
+++ b/src/main/java/com/gitblit/DaggerModule.java
@@ -17,7 +17,6 @@ package com.gitblit;
import javax.inject.Singleton;
-import com.gitblit.git.GitServlet;
import com.gitblit.manager.AuthenticationManager;
import com.gitblit.manager.FederationManager;
import com.gitblit.manager.IAuthenticationManager;
@@ -33,23 +32,7 @@ import com.gitblit.manager.ProjectManager;
import com.gitblit.manager.RepositoryManager;
import com.gitblit.manager.RuntimeManager;
import com.gitblit.manager.UserManager;
-import com.gitblit.servlet.BranchGraphServlet;
-import com.gitblit.servlet.DownloadZipFilter;
-import com.gitblit.servlet.DownloadZipServlet;
-import com.gitblit.servlet.EnforceAuthenticationFilter;
-import com.gitblit.servlet.FederationServlet;
-import com.gitblit.servlet.GitFilter;
-import com.gitblit.servlet.LogoServlet;
-import com.gitblit.servlet.PagesFilter;
-import com.gitblit.servlet.PagesServlet;
-import com.gitblit.servlet.RobotsTxtServlet;
-import com.gitblit.servlet.RpcFilter;
-import com.gitblit.servlet.RpcServlet;
-import com.gitblit.servlet.SparkleShareInviteServlet;
-import com.gitblit.servlet.SyndicationFilter;
-import com.gitblit.servlet.SyndicationServlet;
import com.gitblit.wicket.GitBlitWebApp;
-import com.gitblit.wicket.GitblitWicketFilter;
import dagger.Module;
import dagger.Provides;
@@ -77,24 +60,8 @@ import dagger.Provides;
// the monolithic manager
IGitblit.class,
- // filters & servlets
- GitServlet.class,
- GitFilter.class,
- PagesServlet.class,
- PagesFilter.class,
- RpcServlet.class,
- RpcFilter.class,
- DownloadZipServlet.class,
- DownloadZipFilter.class,
- SyndicationServlet.class,
- SyndicationFilter.class,
- FederationServlet.class,
- SparkleShareInviteServlet.class,
- BranchGraphServlet.class,
- RobotsTxtServlet.class,
- LogoServlet.class,
- EnforceAuthenticationFilter.class,
- GitblitWicketFilter.class
+ // the Gitblit Wicket app
+ GitBlitWebApp.class
}
)
public class DaggerModule {
@@ -194,146 +161,4 @@ public class DaggerModule {
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);
- }
} \ No newline at end of file