From: James Moger Date: Fri, 16 May 2014 17:50:59 +0000 (-0400) Subject: Embrace @Inject for Managers, Servlets, and Filters X-Git-Tag: v1.7.0~1^2~202^2~19 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=1b34b05f5b8d2d0fd51819b286e22d7ddd27cb27;p=gitblit.git Embrace @Inject for Managers, Servlets, and Filters --- diff --git a/src/main/java/com/gitblit/DaggerModule.java b/src/main/java/com/gitblit/DaggerModule.java index aa10198c..662ca033 100644 --- a/src/main/java/com/gitblit/DaggerModule.java +++ b/src/main/java/com/gitblit/DaggerModule.java @@ -72,7 +72,6 @@ import dagger.Provides; * */ @Module( - library = true, injects = { IStoredSettings.class, @@ -123,32 +122,24 @@ public class DaggerModule { return new FileSettings(); } - @Provides @Singleton IRuntimeManager provideRuntimeManager(IStoredSettings settings) { - return new RuntimeManager(settings); + @Provides @Singleton IRuntimeManager provideRuntimeManager(RuntimeManager manager) { + return manager; } - @Provides @Singleton IPluginManager providePluginManager(IRuntimeManager runtimeManager) { - return new PluginManager(runtimeManager); + @Provides @Singleton IPluginManager providePluginManager(PluginManager manager) { + return manager; } - @Provides @Singleton INotificationManager provideNotificationManager(IStoredSettings settings) { - return new NotificationManager(settings); + @Provides @Singleton INotificationManager provideNotificationManager(NotificationManager manager) { + return manager; } - @Provides @Singleton IUserManager provideUserManager( - IRuntimeManager runtimeManager, - IPluginManager pluginManager) { - - return new UserManager(runtimeManager, pluginManager); + @Provides @Singleton IUserManager provideUserManager(UserManager manager) { + return manager; } - @Provides @Singleton IAuthenticationManager provideAuthenticationManager( - IRuntimeManager runtimeManager, - IUserManager userManager) { - - return new AuthenticationManager( - runtimeManager, - userManager); + @Provides @Singleton IAuthenticationManager provideAuthenticationManager(AuthenticationManager manager) { + return manager; } @Provides @Singleton IPublicKeyManager providePublicKeyManager( @@ -176,369 +167,19 @@ public class DaggerModule { } } - @Provides @Singleton IRepositoryManager provideRepositoryManager( - IRuntimeManager runtimeManager, - IPluginManager pluginManager, - IUserManager userManager) { - - return new RepositoryManager( - runtimeManager, - pluginManager, - userManager); - } - - @Provides @Singleton IProjectManager provideProjectManager( - IRuntimeManager runtimeManager, - IUserManager userManager, - IRepositoryManager repositoryManager) { - - return new ProjectManager( - runtimeManager, - userManager, - repositoryManager); - } - - @Provides @Singleton IFederationManager provideFederationManager( - IRuntimeManager runtimeManager, - INotificationManager notificationManager, - IRepositoryManager repositoryManager) { - - return new FederationManager( - runtimeManager, - notificationManager, - repositoryManager); - } - - @Provides @Singleton IGitblit provideGitblit( - IRuntimeManager runtimeManager, - IPluginManager pluginManager, - INotificationManager notificationManager, - IUserManager userManager, - IAuthenticationManager authenticationManager, - IPublicKeyManager publicKeyManager, - IRepositoryManager repositoryManager, - IProjectManager projectManager, - IFederationManager federationManager) { - - return new GitBlit( - runtimeManager, - pluginManager, - notificationManager, - userManager, - authenticationManager, - publicKeyManager, - repositoryManager, - projectManager, - federationManager); - } - - @Provides @Singleton GitBlitWebApp provideWebApplication( - IRuntimeManager runtimeManager, - IPluginManager pluginManager, - INotificationManager notificationManager, - IUserManager userManager, - IAuthenticationManager authenticationManager, - IPublicKeyManager publicKeyManager, - IRepositoryManager repositoryManager, - IProjectManager projectManager, - IFederationManager federationManager, - IGitblit gitblit) { - - return new GitBlitWebApp( - runtimeManager, - pluginManager, - notificationManager, - userManager, - authenticationManager, - publicKeyManager, - repositoryManager, - projectManager, - 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); -// } - - - @Provides @Singleton GitblitWicketFilter provideGitblitWicketFilter(GitBlitWebApp webapp) { - return new GitblitWicketFilter(); + @Provides @Singleton IRepositoryManager provideRepositoryManager(RepositoryManager manager) { + return manager; } - @Provides GitServlet provideGitServlet(IGitblit gitblit) { - return new GitServlet(); + @Provides @Singleton IProjectManager provideProjectManager(ProjectManager manager) { + return manager; } - @Provides GitFilter provideGitFilter( - IRuntimeManager runtimeManager, - IUserManager userManager, - IAuthenticationManager authenticationManager, - IRepositoryManager repositoryManager, - IFederationManager federationManager) { - - return new GitFilter(); - } - - @Provides @Singleton RawServlet provideRawServlet( - IRuntimeManager runtimeManager, - IRepositoryManager repositoryManager) { - - return new RawServlet(); + @Provides @Singleton IFederationManager provideFederationManager(FederationManager manager) { + return manager; } - @Provides @Singleton RawFilter provideRawFilter( - IRuntimeManager runtimeManager, - IAuthenticationManager authenticationManager, - IRepositoryManager repositoryManager) { - - return new RawFilter(); - } - - @Provides @Singleton PagesServlet providePagesServlet( - IRuntimeManager runtimeManager, - IRepositoryManager repositoryManager) { - - return new PagesServlet(); - } - - @Provides @Singleton PagesFilter providePagesFilter( - IRuntimeManager runtimeManager, - IAuthenticationManager authenticationManager, - IRepositoryManager repositoryManager) { - - return new PagesFilter(); - } - - @Provides @Singleton RpcServlet provideRpcServlet(IGitblit gitblit) { - return new RpcServlet(); - } - - @Provides @Singleton RpcFilter provideRpcFilter( - IRuntimeManager runtimeManager, - IAuthenticationManager authenticationManager) { - - return new RpcFilter(); - } - - @Provides @Singleton DownloadZipServlet provideDownloadZipServlet( - IRuntimeManager runtimeManager, - IRepositoryManager repositoryManager) { - - return new DownloadZipServlet(); - } - - @Provides @Singleton DownloadZipFilter provideDownloadZipFilter( - IRuntimeManager runtimeManager, - IAuthenticationManager authenticationManager, - IRepositoryManager repositoryManager) { - - return new DownloadZipFilter(); - } - - @Provides @Singleton SyndicationServlet provideSyndicationServlet( - IRuntimeManager runtimeManager, - IRepositoryManager repositoryManager, - IProjectManager projectManager) { - - return new SyndicationServlet(); - } - - @Provides @Singleton SyndicationFilter provideSyndicationFilter( - IRuntimeManager runtimeManager, - IAuthenticationManager authenticationManager, - IRepositoryManager repositoryManager, - IProjectManager projectManager) { - - return new SyndicationFilter(); - } - - @Provides @Singleton FederationServlet provideFederationServlet( - IRuntimeManager runtimeManager, - IUserManager userManager, - IRepositoryManager repositoryManager, - IFederationManager federationManager) { - - return new FederationServlet(); - } - - @Provides @Singleton SparkleShareInviteServlet provideSparkleshareInviteServlet( - IRuntimeManager runtimeManager, - IUserManager userManager, - IAuthenticationManager authenticationManager, - IRepositoryManager repositoryManager) { - - return new SparkleShareInviteServlet(); - } - - @Provides @Singleton BranchGraphServlet provideBranchGraphServlet( - IRuntimeManager runtimeManager, - IRepositoryManager repositoryManager) { - - return new BranchGraphServlet(); - } - - @Provides @Singleton RobotsTxtServlet provideRobotsTxtServlet(IRuntimeManager runtimeManager) { - return new RobotsTxtServlet(); - } - - @Provides @Singleton LogoServlet provideLogoServlet(IRuntimeManager runtimeManager) { - return new LogoServlet(); - } - - @Provides @Singleton PtServlet providePtServlet(IRuntimeManager runtimeManager) { - return new PtServlet(); - } - - @Provides @Singleton ProxyFilter provideProxyFilter( - IRuntimeManager runtimeManager, - IAuthenticationManager authenticationManager) { - - return new ProxyFilter(); - } - - @Provides @Singleton EnforceAuthenticationFilter provideEnforceAuthenticationFilter( - IRuntimeManager runtimeManager, - IAuthenticationManager authenticationManager) { - - return new EnforceAuthenticationFilter(); + @Provides @Singleton IGitblit provideGitblit(GitBlit gitblit) { + return gitblit; } } \ No newline at end of file diff --git a/src/main/java/com/gitblit/GitBlit.java b/src/main/java/com/gitblit/GitBlit.java index f9d9be9f..8bfa043a 100644 --- a/src/main/java/com/gitblit/GitBlit.java +++ b/src/main/java/com/gitblit/GitBlit.java @@ -24,6 +24,7 @@ import java.util.Iterator; import java.util.List; import java.util.Set; +import javax.inject.Inject; import javax.inject.Singleton; import javax.servlet.http.HttpServletRequest; @@ -70,6 +71,7 @@ public class GitBlit extends GitblitManager { private ITicketService ticketService; + @Inject public GitBlit( IRuntimeManager runtimeManager, IPluginManager pluginManager, diff --git a/src/main/java/com/gitblit/dagger/DaggerWicketFilter.java b/src/main/java/com/gitblit/dagger/DaggerWicketFilter.java deleted file mode 100644 index c2fd4d67..00000000 --- a/src/main/java/com/gitblit/dagger/DaggerWicketFilter.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright 2013 gitblit.com. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.gitblit.dagger; - -import javax.servlet.FilterConfig; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; - -import org.apache.wicket.protocol.http.WicketFilter; - -import dagger.ObjectGraph; - -/** - * Uses Dagger to manually inject dependencies into a Wicket filter. - * This class is useful for servlet containers that offer CDI and are - * confused by Dagger. - * - * @author James Moger - * - */ -public abstract class DaggerWicketFilter extends WicketFilter { - - @Override - public final void init(FilterConfig filterConfig) throws ServletException { - ServletContext context = filterConfig.getServletContext(); - ObjectGraph objectGraph = (ObjectGraph) context.getAttribute(DaggerContext.INJECTOR_NAME); - inject(objectGraph); - super.init(filterConfig); - } - - protected abstract void inject(ObjectGraph dagger); -} diff --git a/src/main/java/com/gitblit/manager/AuthenticationManager.java b/src/main/java/com/gitblit/manager/AuthenticationManager.java index d1b1af0a..2aa2d197 100644 --- a/src/main/java/com/gitblit/manager/AuthenticationManager.java +++ b/src/main/java/com/gitblit/manager/AuthenticationManager.java @@ -24,6 +24,7 @@ import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; +import javax.inject.Inject; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -76,6 +77,7 @@ public class AuthenticationManager implements IAuthenticationManager { private final Map legacyRedirects; + @Inject public AuthenticationManager( IRuntimeManager runtimeManager, IUserManager userManager) { diff --git a/src/main/java/com/gitblit/manager/FederationManager.java b/src/main/java/com/gitblit/manager/FederationManager.java index 95d38af1..32193525 100644 --- a/src/main/java/com/gitblit/manager/FederationManager.java +++ b/src/main/java/com/gitblit/manager/FederationManager.java @@ -26,6 +26,7 @@ import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; +import javax.inject.Inject; import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; @@ -70,6 +71,7 @@ public class FederationManager implements IFederationManager { private final IRepositoryManager repositoryManager; + @Inject public FederationManager( IRuntimeManager runtimeManager, INotificationManager notificationManager, diff --git a/src/main/java/com/gitblit/manager/NotificationManager.java b/src/main/java/com/gitblit/manager/NotificationManager.java index 69a611bb..63f064e5 100644 --- a/src/main/java/com/gitblit/manager/NotificationManager.java +++ b/src/main/java/com/gitblit/manager/NotificationManager.java @@ -20,6 +20,7 @@ import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; +import javax.inject.Inject; import javax.mail.Message; import org.slf4j.Logger; @@ -48,6 +49,7 @@ public class NotificationManager implements INotificationManager { private final MailService mailService; + @Inject public NotificationManager(IStoredSettings settings) { this.settings = settings; this.mailService = new MailService(settings); diff --git a/src/main/java/com/gitblit/manager/PluginManager.java b/src/main/java/com/gitblit/manager/PluginManager.java index 2ee48558..a0c873e8 100644 --- a/src/main/java/com/gitblit/manager/PluginManager.java +++ b/src/main/java/com/gitblit/manager/PluginManager.java @@ -34,6 +34,8 @@ import java.util.List; import java.util.Map; import java.util.TreeMap; +import javax.inject.Inject; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -81,6 +83,7 @@ public class PluginManager implements IPluginManager, PluginStateListener { private int readTimeout = 12800; + @Inject public PluginManager(IRuntimeManager runtimeManager) { File dir = runtimeManager.getFileOrFolder(Keys.plugins.folder, "${baseFolder}/plugins"); dir.mkdirs(); diff --git a/src/main/java/com/gitblit/manager/ProjectManager.java b/src/main/java/com/gitblit/manager/ProjectManager.java index 666f5210..4da7f801 100644 --- a/src/main/java/com/gitblit/manager/ProjectManager.java +++ b/src/main/java/com/gitblit/manager/ProjectManager.java @@ -27,6 +27,8 @@ import java.util.Map; import java.util.TreeMap; import java.util.concurrent.ConcurrentHashMap; +import javax.inject.Inject; + import org.eclipse.jgit.storage.file.FileBasedConfig; import org.eclipse.jgit.util.FS; import org.slf4j.Logger; @@ -68,6 +70,7 @@ public class ProjectManager implements IProjectManager { private FileBasedConfig projectConfigs; + @Inject public ProjectManager( IRuntimeManager runtimeManager, IUserManager userManager, diff --git a/src/main/java/com/gitblit/manager/RepositoryManager.java b/src/main/java/com/gitblit/manager/RepositoryManager.java index 0160363e..a82cd016 100644 --- a/src/main/java/com/gitblit/manager/RepositoryManager.java +++ b/src/main/java/com/gitblit/manager/RepositoryManager.java @@ -44,6 +44,8 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; +import javax.inject.Inject; + import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.lib.RepositoryCache; import org.eclipse.jgit.lib.RepositoryCache.FileKey; @@ -127,6 +129,7 @@ public class RepositoryManager implements IRepositoryManager { private MirrorService mirrorExecutor; + @Inject public RepositoryManager( IRuntimeManager runtimeManager, IPluginManager pluginManager, diff --git a/src/main/java/com/gitblit/manager/RuntimeManager.java b/src/main/java/com/gitblit/manager/RuntimeManager.java index 9cdc64eb..00fe1c91 100644 --- a/src/main/java/com/gitblit/manager/RuntimeManager.java +++ b/src/main/java/com/gitblit/manager/RuntimeManager.java @@ -22,6 +22,8 @@ import java.util.Locale; import java.util.Map; import java.util.TimeZone; +import javax.inject.Inject; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -47,6 +49,7 @@ public class RuntimeManager implements IRuntimeManager { private TimeZone timezone; + @Inject public RuntimeManager(IStoredSettings settings) { this(settings, null); } diff --git a/src/main/java/com/gitblit/manager/UserManager.java b/src/main/java/com/gitblit/manager/UserManager.java index 2b82ffb6..fe21b063 100644 --- a/src/main/java/com/gitblit/manager/UserManager.java +++ b/src/main/java/com/gitblit/manager/UserManager.java @@ -24,6 +24,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import javax.inject.Inject; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -57,6 +59,7 @@ public class UserManager implements IUserManager { private IUserService userService; + @Inject public UserManager(IRuntimeManager runtimeManager, IPluginManager pluginManager) { this.settings = runtimeManager.getSettings(); this.runtimeManager = runtimeManager; diff --git a/src/main/java/com/gitblit/servlet/AccessRestrictionFilter.java b/src/main/java/com/gitblit/servlet/AccessRestrictionFilter.java index 0e6d323d..6d2efa4f 100644 --- a/src/main/java/com/gitblit/servlet/AccessRestrictionFilter.java +++ b/src/main/java/com/gitblit/servlet/AccessRestrictionFilter.java @@ -19,21 +19,19 @@ import java.io.IOException; import java.text.MessageFormat; import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import com.gitblit.manager.IAuthenticationManager; import com.gitblit.manager.IRepositoryManager; import com.gitblit.manager.IRuntimeManager; import com.gitblit.models.RepositoryModel; import com.gitblit.models.UserModel; import com.gitblit.utils.StringUtils; -import dagger.ObjectGraph; - /** * The AccessRestrictionFilter is an AuthenticationFilter that confirms that the * requested repository can be accessed by the anonymous or named user. @@ -54,11 +52,15 @@ public abstract class AccessRestrictionFilter extends AuthenticationFilter { protected IRepositoryManager repositoryManager; - @Override - protected void inject(ObjectGraph dagger, FilterConfig filterConfig) { - super.inject(dagger, filterConfig); - this.runtimeManager = dagger.get(IRuntimeManager.class); - this.repositoryManager = dagger.get(IRepositoryManager.class); + protected AccessRestrictionFilter( + IRuntimeManager runtimeManager, + IAuthenticationManager authenticationManager, + IRepositoryManager repositoryManager) { + + super(authenticationManager); + + this.runtimeManager = runtimeManager; + this.repositoryManager = repositoryManager; } /** diff --git a/src/main/java/com/gitblit/servlet/AuthenticationFilter.java b/src/main/java/com/gitblit/servlet/AuthenticationFilter.java index c21f8692..6f13252a 100644 --- a/src/main/java/com/gitblit/servlet/AuthenticationFilter.java +++ b/src/main/java/com/gitblit/servlet/AuthenticationFilter.java @@ -21,6 +21,7 @@ import java.util.Enumeration; import java.util.HashMap; import java.util.Map; +import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; @@ -35,14 +36,11 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.gitblit.Constants; -import com.gitblit.dagger.DaggerFilter; import com.gitblit.manager.IAuthenticationManager; import com.gitblit.models.UserModel; import com.gitblit.utils.DeepCopier; import com.gitblit.utils.StringUtils; -import dagger.ObjectGraph; - /** * The AuthenticationFilter is a servlet filter that preprocesses requests that * match its url pattern definition in the web.xml file. @@ -52,7 +50,7 @@ import dagger.ObjectGraph; * @author James Moger * */ -public abstract class AuthenticationFilter extends DaggerFilter { +public abstract class AuthenticationFilter implements Filter { protected static final String CHALLENGE = "Basic realm=\"" + Constants.NAME + "\""; @@ -62,9 +60,16 @@ public abstract class AuthenticationFilter extends DaggerFilter { protected IAuthenticationManager authenticationManager; + protected AuthenticationFilter(IAuthenticationManager authenticationManager) { + this.authenticationManager = authenticationManager; + } + + @Override + public void init(FilterConfig filterConfig) throws ServletException { + } + @Override - protected void inject(ObjectGraph dagger, FilterConfig filterConfig) { - this.authenticationManager = dagger.get(IAuthenticationManager.class); + public void destroy() { } /** diff --git a/src/main/java/com/gitblit/servlet/BranchGraphServlet.java b/src/main/java/com/gitblit/servlet/BranchGraphServlet.java index 0abe347f..c1ad0806 100644 --- a/src/main/java/com/gitblit/servlet/BranchGraphServlet.java +++ b/src/main/java/com/gitblit/servlet/BranchGraphServlet.java @@ -36,7 +36,10 @@ import java.util.Set; import java.util.TreeSet; import javax.imageio.ImageIO; +import javax.inject.Inject; +import javax.inject.Singleton; import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -52,20 +55,18 @@ import org.eclipse.jgit.revwalk.RevCommit; import com.gitblit.Constants; import com.gitblit.IStoredSettings; import com.gitblit.Keys; -import com.gitblit.dagger.DaggerServlet; import com.gitblit.manager.IRepositoryManager; import com.gitblit.utils.JGitUtils; import com.gitblit.utils.StringUtils; -import dagger.ObjectGraph; - /** * Handles requests for branch graphs * * @author James Moger * */ -public class BranchGraphServlet extends DaggerServlet { +@Singleton +public class BranchGraphServlet extends HttpServlet { private static final long serialVersionUID = 1L; @@ -82,20 +83,20 @@ public class BranchGraphServlet extends DaggerServlet { private IRepositoryManager repositoryManager; - public BranchGraphServlet() { - super(); + @Inject + public BranchGraphServlet( + IStoredSettings settings, + IRepositoryManager repositoryManager) { + + this.settings = settings; + this.repositoryManager = repositoryManager; + strokeCache = new Stroke[4]; for (int i = 1; i < strokeCache.length; i++) { strokeCache[i] = new BasicStroke(i); } } - @Override - protected void inject(ObjectGraph dagger) { - this.settings = dagger.get(IStoredSettings.class); - this.repositoryManager = dagger.get(IRepositoryManager.class); - } - /** * Returns an url to this servlet for the specified parameters. * diff --git a/src/main/java/com/gitblit/servlet/DownloadZipFilter.java b/src/main/java/com/gitblit/servlet/DownloadZipFilter.java index 0c7b3e56..3f20c2b7 100644 --- a/src/main/java/com/gitblit/servlet/DownloadZipFilter.java +++ b/src/main/java/com/gitblit/servlet/DownloadZipFilter.java @@ -15,7 +15,13 @@ */ package com.gitblit.servlet; +import javax.inject.Inject; +import javax.inject.Singleton; + import com.gitblit.Constants.AccessRestrictionType; +import com.gitblit.manager.IAuthenticationManager; +import com.gitblit.manager.IRepositoryManager; +import com.gitblit.manager.IRuntimeManager; import com.gitblit.models.RepositoryModel; import com.gitblit.models.UserModel; @@ -27,8 +33,18 @@ import com.gitblit.models.UserModel; * @author James Moger * */ +@Singleton public class DownloadZipFilter extends AccessRestrictionFilter { + @Inject + public DownloadZipFilter( + IRuntimeManager runtimeManager, + IAuthenticationManager authenticationManager, + IRepositoryManager repositoryManager) { + + super(runtimeManager, authenticationManager, repositoryManager); + } + /** * Extract the repository name from the url. * diff --git a/src/main/java/com/gitblit/servlet/DownloadZipServlet.java b/src/main/java/com/gitblit/servlet/DownloadZipServlet.java index 6a64778c..4b0e3bf5 100644 --- a/src/main/java/com/gitblit/servlet/DownloadZipServlet.java +++ b/src/main/java/com/gitblit/servlet/DownloadZipServlet.java @@ -20,7 +20,10 @@ import java.text.MessageFormat; import java.text.ParseException; import java.util.Date; +import javax.inject.Inject; +import javax.inject.Singleton; import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletResponse; import org.eclipse.jgit.lib.Repository; @@ -31,15 +34,12 @@ import org.slf4j.LoggerFactory; import com.gitblit.Constants; import com.gitblit.IStoredSettings; import com.gitblit.Keys; -import com.gitblit.dagger.DaggerServlet; import com.gitblit.manager.IRepositoryManager; import com.gitblit.utils.CompressionUtils; import com.gitblit.utils.JGitUtils; import com.gitblit.utils.MarkdownUtils; import com.gitblit.utils.StringUtils; -import dagger.ObjectGraph; - /** * Streams out a zip file from the specified repository for any tree path at any * revision. @@ -47,7 +47,8 @@ import dagger.ObjectGraph; * @author James Moger * */ -public class DownloadZipServlet extends DaggerServlet { +@Singleton +public class DownloadZipServlet extends HttpServlet { private static final long serialVersionUID = 1L; @@ -76,10 +77,10 @@ public class DownloadZipServlet extends DaggerServlet { } } - @Override - protected void inject(ObjectGraph dagger) { - this.settings = dagger.get(IStoredSettings.class); - this.repositoryManager = dagger.get(IRepositoryManager.class); + @Inject + public DownloadZipServlet(IStoredSettings settings, IRepositoryManager repositoryManager) { + this.settings = settings; + this.repositoryManager = repositoryManager; } /** diff --git a/src/main/java/com/gitblit/servlet/EnforceAuthenticationFilter.java b/src/main/java/com/gitblit/servlet/EnforceAuthenticationFilter.java index c015021d..a9e6554e 100644 --- a/src/main/java/com/gitblit/servlet/EnforceAuthenticationFilter.java +++ b/src/main/java/com/gitblit/servlet/EnforceAuthenticationFilter.java @@ -18,6 +18,9 @@ import java.io.IOException; import java.text.MessageFormat; +import javax.inject.Inject; +import javax.inject.Singleton; +import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; @@ -31,12 +34,9 @@ import org.slf4j.LoggerFactory; import com.gitblit.IStoredSettings; import com.gitblit.Keys; -import com.gitblit.dagger.DaggerFilter; import com.gitblit.manager.IAuthenticationManager; import com.gitblit.models.UserModel; -import dagger.ObjectGraph; - /** * This filter enforces authentication via HTTP Basic Authentication, if the settings indicate so. * It looks at the settings "web.authenticateViewPages" and "web.enforceHttpBasicAuthentication"; if @@ -45,7 +45,8 @@ import dagger.ObjectGraph; * @author Laurens Vrijnsen * */ -public class EnforceAuthenticationFilter extends DaggerFilter { +@Singleton +public class EnforceAuthenticationFilter implements Filter { protected transient Logger logger = LoggerFactory.getLogger(getClass()); @@ -53,10 +54,21 @@ public class EnforceAuthenticationFilter extends DaggerFilter { private IAuthenticationManager authenticationManager; + @Inject + public EnforceAuthenticationFilter( + IStoredSettings settings, + IAuthenticationManager authenticationManager) { + + this.settings = settings; + this.authenticationManager = authenticationManager; + } + @Override - protected void inject(ObjectGraph dagger, FilterConfig filterConfig) { - this.settings = dagger.get(IStoredSettings.class); - this.authenticationManager = dagger.get(IAuthenticationManager.class); + public void init(FilterConfig config) { + } + + @Override + public void destroy() { } /* @@ -87,12 +99,4 @@ public class EnforceAuthenticationFilter extends DaggerFilter { chain.doFilter(request, response); } } - - - /* - * @see javax.servlet.Filter#destroy() - */ - @Override - public void destroy() { - } } diff --git a/src/main/java/com/gitblit/servlet/FederationServlet.java b/src/main/java/com/gitblit/servlet/FederationServlet.java index 8dbf0e16..8a03f089 100644 --- a/src/main/java/com/gitblit/servlet/FederationServlet.java +++ b/src/main/java/com/gitblit/servlet/FederationServlet.java @@ -25,6 +25,8 @@ import java.util.List; import java.util.Map; import java.util.Set; +import javax.inject.Inject; +import javax.inject.Singleton; import javax.servlet.http.HttpServletResponse; import com.gitblit.Constants.FederationRequest; @@ -43,14 +45,13 @@ import com.gitblit.utils.HttpUtils; import com.gitblit.utils.StringUtils; import com.gitblit.utils.TimeUtils; -import dagger.ObjectGraph; - /** * Handles federation requests. * * @author James Moger * */ +@Singleton public class FederationServlet extends JsonServlet { private static final long serialVersionUID = 1L; @@ -63,12 +64,17 @@ public class FederationServlet extends JsonServlet { private IFederationManager federationManager; - @Override - protected void inject(ObjectGraph dagger) { - this.settings = dagger.get(IStoredSettings.class); - this.userManager = dagger.get(IUserManager.class); - this.repositoryManager = dagger.get(IRepositoryManager.class); - this.federationManager = dagger.get(IFederationManager.class); + @Inject + public FederationServlet( + IStoredSettings settings, + IUserManager userManager, + IRepositoryManager repositoryManager, + IFederationManager federationManager) { + + this.settings = settings; + this.userManager = userManager; + this.repositoryManager = repositoryManager; + this.federationManager = federationManager; } /** diff --git a/src/main/java/com/gitblit/servlet/GitFilter.java b/src/main/java/com/gitblit/servlet/GitFilter.java index bb3d3216..e2c45898 100644 --- a/src/main/java/com/gitblit/servlet/GitFilter.java +++ b/src/main/java/com/gitblit/servlet/GitFilter.java @@ -17,7 +17,8 @@ package com.gitblit.servlet; import java.text.MessageFormat; -import javax.servlet.FilterConfig; +import javax.inject.Inject; +import javax.inject.Singleton; import javax.servlet.http.HttpServletRequest; import com.gitblit.Constants.AccessRestrictionType; @@ -25,13 +26,14 @@ import com.gitblit.Constants.AuthorizationControl; import com.gitblit.GitBlitException; import com.gitblit.IStoredSettings; import com.gitblit.Keys; +import com.gitblit.manager.IAuthenticationManager; import com.gitblit.manager.IFederationManager; +import com.gitblit.manager.IRepositoryManager; +import com.gitblit.manager.IRuntimeManager; import com.gitblit.models.RepositoryModel; import com.gitblit.models.UserModel; import com.gitblit.utils.StringUtils; -import dagger.ObjectGraph; - /** * The GitFilter is an AccessRestrictionFilter which ensures that Git client * requests for push, clone, or view restricted repositories are authenticated @@ -40,6 +42,7 @@ import dagger.ObjectGraph; * @author James Moger * */ +@Singleton public class GitFilter extends AccessRestrictionFilter { protected static final String gitReceivePack = "/git-receive-pack"; @@ -53,11 +56,18 @@ public class GitFilter extends AccessRestrictionFilter { private IFederationManager federationManager; - @Override - protected void inject(ObjectGraph dagger, FilterConfig filterConfig) { - super.inject(dagger, filterConfig); - this.settings = dagger.get(IStoredSettings.class); - this.federationManager = dagger.get(IFederationManager.class); + @Inject + public GitFilter( + IStoredSettings settings, + IRuntimeManager runtimeManager, + IAuthenticationManager authenticationManager, + IRepositoryManager repositoryManager, + IFederationManager federationManager) { + + super(runtimeManager, authenticationManager, repositoryManager); + + this.settings = settings; + this.federationManager = federationManager; } /** diff --git a/src/main/java/com/gitblit/servlet/GitServlet.java b/src/main/java/com/gitblit/servlet/GitServlet.java index 93fe31d0..e9c5242f 100644 --- a/src/main/java/com/gitblit/servlet/GitServlet.java +++ b/src/main/java/com/gitblit/servlet/GitServlet.java @@ -20,6 +20,8 @@ import static javax.servlet.http.HttpServletResponse.SC_NOT_FOUND; import java.io.IOException; import java.util.Enumeration; +import javax.inject.Inject; +import javax.inject.Singleton; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletConfig; @@ -33,14 +35,11 @@ import javax.servlet.http.HttpServletResponse; import org.eclipse.jgit.http.server.GitFilter; -import com.gitblit.dagger.DaggerContext; import com.gitblit.git.GitblitReceivePackFactory; import com.gitblit.git.GitblitUploadPackFactory; import com.gitblit.git.RepositoryResolver; import com.gitblit.manager.IGitblit; -import dagger.ObjectGraph; - /** * The GitServlet provides http/https access to Git repositories. * Access to this servlet is protected by the GitFilter. @@ -48,24 +47,23 @@ import dagger.ObjectGraph; * @author James Moger * */ +@Singleton public class GitServlet extends HttpServlet { private static final long serialVersionUID = 1L; private final GitFilter gitFilter; - public GitServlet() { + @Inject + public GitServlet(IGitblit gitblit) { gitFilter = new GitFilter(); + gitFilter.setRepositoryResolver(new RepositoryResolver(gitblit)); + gitFilter.setUploadPackFactory(new GitblitUploadPackFactory(gitblit)); + gitFilter.setReceivePackFactory(new GitblitReceivePackFactory(gitblit)); } @Override public void init(final ServletConfig config) throws ServletException { - ServletContext context = config.getServletContext(); - ObjectGraph dagger = (ObjectGraph) context.getAttribute(DaggerContext.INJECTOR_NAME); - IGitblit gitblit = dagger.get(IGitblit.class); - gitFilter.setRepositoryResolver(new RepositoryResolver(gitblit)); - gitFilter.setUploadPackFactory(new GitblitUploadPackFactory(gitblit)); - gitFilter.setReceivePackFactory(new GitblitReceivePackFactory(gitblit)); gitFilter.init(new FilterConfig() { @Override diff --git a/src/main/java/com/gitblit/servlet/JsonServlet.java b/src/main/java/com/gitblit/servlet/JsonServlet.java index 4378c8a6..abc0f292 100644 --- a/src/main/java/com/gitblit/servlet/JsonServlet.java +++ b/src/main/java/com/gitblit/servlet/JsonServlet.java @@ -21,6 +21,7 @@ import java.lang.reflect.Type; import java.text.MessageFormat; import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -28,7 +29,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.gitblit.Constants; -import com.gitblit.dagger.DaggerServlet; import com.gitblit.utils.JsonUtils; import com.gitblit.utils.StringUtils; @@ -38,7 +38,7 @@ import com.gitblit.utils.StringUtils; * @author James Moger * */ -public abstract class JsonServlet extends DaggerServlet { +public abstract class JsonServlet extends HttpServlet { private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/gitblit/servlet/LogoServlet.java b/src/main/java/com/gitblit/servlet/LogoServlet.java index 96f34afd..489e98b2 100644 --- a/src/main/java/com/gitblit/servlet/LogoServlet.java +++ b/src/main/java/com/gitblit/servlet/LogoServlet.java @@ -21,24 +21,25 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import javax.inject.Inject; +import javax.inject.Singleton; import javax.servlet.ServletContext; import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.gitblit.Keys; -import com.gitblit.dagger.DaggerServlet; import com.gitblit.manager.IRuntimeManager; -import dagger.ObjectGraph; - /** * Handles requests for logo.png * * @author James Moger * */ -public class LogoServlet extends DaggerServlet { +@Singleton +public class LogoServlet extends HttpServlet { private static final long serialVersionUID = 1L; @@ -46,9 +47,9 @@ public class LogoServlet extends DaggerServlet { private IRuntimeManager runtimeManager; - @Override - protected void inject(ObjectGraph dagger) { - this.runtimeManager = dagger.get(IRuntimeManager.class); + @Inject + public LogoServlet(IRuntimeManager runtimeManager) { + this.runtimeManager = runtimeManager; } @Override diff --git a/src/main/java/com/gitblit/servlet/PagesFilter.java b/src/main/java/com/gitblit/servlet/PagesFilter.java index e07d9b3b..fa8c9abe 100644 --- a/src/main/java/com/gitblit/servlet/PagesFilter.java +++ b/src/main/java/com/gitblit/servlet/PagesFilter.java @@ -15,6 +15,13 @@ */ package com.gitblit.servlet; +import javax.inject.Inject; +import javax.inject.Singleton; + +import com.gitblit.manager.IAuthenticationManager; +import com.gitblit.manager.IRepositoryManager; +import com.gitblit.manager.IRuntimeManager; + /** * The PagesFilter is an AccessRestrictionFilter which ensures the gh-pages @@ -23,7 +30,17 @@ package com.gitblit.servlet; * @author James Moger * */ + +@Singleton public class PagesFilter extends RawFilter { + @Inject + public PagesFilter( + IRuntimeManager runtimeManager, + IAuthenticationManager authenticationManager, + IRepositoryManager repositoryManager) { + + super(runtimeManager, authenticationManager, repositoryManager); + } } diff --git a/src/main/java/com/gitblit/servlet/PagesServlet.java b/src/main/java/com/gitblit/servlet/PagesServlet.java index f578f86f..4cf43024 100644 --- a/src/main/java/com/gitblit/servlet/PagesServlet.java +++ b/src/main/java/com/gitblit/servlet/PagesServlet.java @@ -15,10 +15,14 @@ */ package com.gitblit.servlet; +import javax.inject.Inject; +import javax.inject.Singleton; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.gitblit.Constants; +import com.gitblit.manager.IRepositoryManager; +import com.gitblit.manager.IRuntimeManager; /** * Serves the content of a gh-pages branch. @@ -26,6 +30,7 @@ import com.gitblit.Constants; * @author James Moger * */ +@Singleton public class PagesServlet extends RawServlet { private static final long serialVersionUID = 1L; @@ -46,6 +51,14 @@ public class PagesServlet extends RawServlet { return baseURL + Constants.PAGES + repository + "/" + (path == null ? "" : ("/" + path)); } + @Inject + public PagesServlet( + IRuntimeManager runtimeManager, + IRepositoryManager repositoryManager) { + + super(runtimeManager, repositoryManager); + } + @Override protected String getBranch(String repository, HttpServletRequest request) { return "gh-pages"; diff --git a/src/main/java/com/gitblit/servlet/ProxyFilter.java b/src/main/java/com/gitblit/servlet/ProxyFilter.java index 46f59de9..778c8187 100644 --- a/src/main/java/com/gitblit/servlet/ProxyFilter.java +++ b/src/main/java/com/gitblit/servlet/ProxyFilter.java @@ -16,9 +16,13 @@ package com.gitblit.servlet; import java.io.IOException; +import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import javax.inject.Inject; +import javax.inject.Singleton; +import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; @@ -27,13 +31,10 @@ import javax.servlet.ServletResponse; import ro.fortsoft.pf4j.PluginWrapper; -import com.gitblit.dagger.DaggerFilter; import com.gitblit.extensions.HttpRequestFilter; import com.gitblit.manager.IPluginManager; import com.gitblit.manager.IRuntimeManager; -import dagger.ObjectGraph; - /** * A request filter than allows registered extension request filters to access * request data. The intended purpose is for server monitoring plugins. @@ -41,15 +42,29 @@ import dagger.ObjectGraph; * @author David Ostrovsky * @since 1.6.0 */ -public class ProxyFilter extends DaggerFilter { - private List filters; +@Singleton +public class ProxyFilter implements Filter { + private final IRuntimeManager runtimeManager; + + private final IPluginManager pluginManager; + + private final List filters; + + @Inject + public ProxyFilter( + IRuntimeManager runtimeManager, + IPluginManager pluginManager) { + + this.runtimeManager = runtimeManager; + this.pluginManager = pluginManager; + this.filters = new ArrayList<>(); + + } @Override - protected void inject(ObjectGraph dagger, FilterConfig filterConfig) throws ServletException { - IRuntimeManager runtimeManager = dagger.get(IRuntimeManager.class); - IPluginManager pluginManager = dagger.get(IPluginManager.class); + public void init(FilterConfig filterConfig) throws ServletException { - filters = pluginManager.getExtensions(HttpRequestFilter.class); + filters.addAll(pluginManager.getExtensions(HttpRequestFilter.class)); for (HttpRequestFilter f : filters) { // wrap the filter config for Gitblit settings retrieval PluginWrapper pluginWrapper = pluginManager.whichPlugin(f.getClass()); diff --git a/src/main/java/com/gitblit/servlet/PtServlet.java b/src/main/java/com/gitblit/servlet/PtServlet.java index e9cbaa5b..65d3de17 100644 --- a/src/main/java/com/gitblit/servlet/PtServlet.java +++ b/src/main/java/com/gitblit/servlet/PtServlet.java @@ -21,7 +21,10 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import javax.inject.Inject; +import javax.inject.Singleton; import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -34,11 +37,8 @@ import org.apache.commons.compress.compressors.CompressorStreamFactory; import org.apache.wicket.util.io.ByteArrayOutputStream; import org.eclipse.jgit.lib.FileMode; -import com.gitblit.dagger.DaggerServlet; import com.gitblit.manager.IRuntimeManager; -import dagger.ObjectGraph; - /** * Handles requests for the Barnum pt (patchset tool). * @@ -47,7 +47,8 @@ import dagger.ObjectGraph; * @author James Moger * */ -public class PtServlet extends DaggerServlet { +@Singleton +public class PtServlet extends HttpServlet { private static final long serialVersionUID = 1L; @@ -55,9 +56,9 @@ public class PtServlet extends DaggerServlet { private IRuntimeManager runtimeManager; - @Override - protected void inject(ObjectGraph dagger) { - this.runtimeManager = dagger.get(IRuntimeManager.class); + @Inject + public PtServlet(IRuntimeManager runtimeManager) { + this.runtimeManager = runtimeManager; } @Override diff --git a/src/main/java/com/gitblit/servlet/RawFilter.java b/src/main/java/com/gitblit/servlet/RawFilter.java index 34989c98..7dddd9b7 100644 --- a/src/main/java/com/gitblit/servlet/RawFilter.java +++ b/src/main/java/com/gitblit/servlet/RawFilter.java @@ -15,9 +15,15 @@ */ package com.gitblit.servlet; +import javax.inject.Inject; +import javax.inject.Singleton; + import org.eclipse.jgit.lib.Repository; import com.gitblit.Constants.AccessRestrictionType; +import com.gitblit.manager.IAuthenticationManager; +import com.gitblit.manager.IRepositoryManager; +import com.gitblit.manager.IRuntimeManager; import com.gitblit.models.RepositoryModel; import com.gitblit.models.UserModel; @@ -28,8 +34,18 @@ import com.gitblit.models.UserModel; * @author James Moger * */ +@Singleton public class RawFilter extends AccessRestrictionFilter { + @Inject + public RawFilter( + IRuntimeManager runtimeManager, + IAuthenticationManager authenticationManager, + IRepositoryManager repositoryManager) { + + super(runtimeManager, authenticationManager, repositoryManager); + } + /** * Extract the repository name from the url. * diff --git a/src/main/java/com/gitblit/servlet/RawServlet.java b/src/main/java/com/gitblit/servlet/RawServlet.java index 0def062a..d856ef89 100644 --- a/src/main/java/com/gitblit/servlet/RawServlet.java +++ b/src/main/java/com/gitblit/servlet/RawServlet.java @@ -28,8 +28,11 @@ import java.util.List; import java.util.Map; import java.util.TreeMap; +import javax.inject.Inject; +import javax.inject.Singleton; import javax.servlet.ServletContext; import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -48,7 +51,6 @@ import org.slf4j.LoggerFactory; import com.gitblit.Constants; import com.gitblit.Keys; -import com.gitblit.dagger.DaggerServlet; import com.gitblit.manager.IRepositoryManager; import com.gitblit.manager.IRuntimeManager; import com.gitblit.models.PathModel; @@ -57,28 +59,30 @@ import com.gitblit.utils.JGitUtils; import com.gitblit.utils.MarkdownUtils; import com.gitblit.utils.StringUtils; -import dagger.ObjectGraph; - /** * Serves the content of a branch. * * @author James Moger * */ -public class RawServlet extends DaggerServlet { +@Singleton +public class RawServlet extends HttpServlet { private static final long serialVersionUID = 1L; private transient Logger logger = LoggerFactory.getLogger(RawServlet.class); - private IRuntimeManager runtimeManager; + private final IRuntimeManager runtimeManager; - private IRepositoryManager repositoryManager; + private final IRepositoryManager repositoryManager; - @Override - protected void inject(ObjectGraph dagger) { - this.runtimeManager = dagger.get(IRuntimeManager.class); - this.repositoryManager = dagger.get(IRepositoryManager.class); + @Inject + public RawServlet( + IRuntimeManager runtimeManager, + IRepositoryManager repositoryManager) { + + this.runtimeManager = runtimeManager; + this.repositoryManager = repositoryManager; } /** diff --git a/src/main/java/com/gitblit/servlet/RobotsTxtServlet.java b/src/main/java/com/gitblit/servlet/RobotsTxtServlet.java index 9bd3b3c3..e08c6bbd 100644 --- a/src/main/java/com/gitblit/servlet/RobotsTxtServlet.java +++ b/src/main/java/com/gitblit/servlet/RobotsTxtServlet.java @@ -18,32 +18,33 @@ package com.gitblit.servlet; import java.io.File; import java.io.IOException; +import javax.inject.Inject; +import javax.inject.Singleton; import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.gitblit.Keys; -import com.gitblit.dagger.DaggerServlet; import com.gitblit.manager.IRuntimeManager; import com.gitblit.utils.FileUtils; -import dagger.ObjectGraph; - /** * Handles requests for robots.txt * * @author James Moger * */ -public class RobotsTxtServlet extends DaggerServlet { +@Singleton +public class RobotsTxtServlet extends HttpServlet { private static final long serialVersionUID = 1L; private IRuntimeManager runtimeManager; - @Override - protected void inject(ObjectGraph dagger) { - this.runtimeManager = dagger.get(IRuntimeManager.class); + @Inject + public RobotsTxtServlet(IRuntimeManager runtimeManager) { + this.runtimeManager = runtimeManager; } @Override diff --git a/src/main/java/com/gitblit/servlet/RpcFilter.java b/src/main/java/com/gitblit/servlet/RpcFilter.java index 23bf956e..73f9dcb3 100644 --- a/src/main/java/com/gitblit/servlet/RpcFilter.java +++ b/src/main/java/com/gitblit/servlet/RpcFilter.java @@ -18,8 +18,9 @@ package com.gitblit.servlet; import java.io.IOException; import java.text.MessageFormat; +import javax.inject.Inject; +import javax.inject.Singleton; import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; @@ -29,11 +30,10 @@ import javax.servlet.http.HttpServletResponse; import com.gitblit.Constants.RpcRequest; import com.gitblit.IStoredSettings; import com.gitblit.Keys; +import com.gitblit.manager.IAuthenticationManager; import com.gitblit.manager.IRuntimeManager; import com.gitblit.models.UserModel; -import dagger.ObjectGraph; - /** * The RpcFilter is a servlet filter that secures the RpcServlet. * @@ -47,17 +47,23 @@ import dagger.ObjectGraph; * @author James Moger * */ +@Singleton public class RpcFilter extends AuthenticationFilter { private IStoredSettings settings; private IRuntimeManager runtimeManager; - @Override - protected void inject(ObjectGraph dagger, FilterConfig filterConfig) { - super.inject(dagger, filterConfig); - this.settings = dagger.get(IStoredSettings.class); - this.runtimeManager = dagger.get(IRuntimeManager.class); + @Inject + public RpcFilter( + IStoredSettings settings, + IRuntimeManager runtimeManager, + IAuthenticationManager authenticationManager) { + + super(authenticationManager); + + this.settings = settings; + this.runtimeManager = runtimeManager; } /** diff --git a/src/main/java/com/gitblit/servlet/RpcServlet.java b/src/main/java/com/gitblit/servlet/RpcServlet.java index b8cdfb04..aaf7d5fb 100644 --- a/src/main/java/com/gitblit/servlet/RpcServlet.java +++ b/src/main/java/com/gitblit/servlet/RpcServlet.java @@ -23,6 +23,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import javax.inject.Inject; +import javax.inject.Singleton; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -47,13 +49,12 @@ import com.gitblit.utils.JGitUtils; import com.gitblit.utils.RpcUtils; import com.gitblit.utils.StringUtils; -import dagger.ObjectGraph; - /** * Handles remote procedure calls. * * @author James Moger */ +@Singleton public class RpcServlet extends JsonServlet { private static final long serialVersionUID = 1L; @@ -64,10 +65,10 @@ public class RpcServlet extends JsonServlet { private IGitblit gitblit; - @Override - protected void inject(ObjectGraph dagger) { - this.settings = dagger.get(IStoredSettings.class); - this.gitblit = dagger.get(IGitblit.class); + @Inject + public RpcServlet(IStoredSettings settings, IGitblit gitblit) { + this.settings = settings; + this.gitblit = gitblit; } /** diff --git a/src/main/java/com/gitblit/servlet/SparkleShareInviteServlet.java b/src/main/java/com/gitblit/servlet/SparkleShareInviteServlet.java index 150dd68a..e596cfd3 100644 --- a/src/main/java/com/gitblit/servlet/SparkleShareInviteServlet.java +++ b/src/main/java/com/gitblit/servlet/SparkleShareInviteServlet.java @@ -19,13 +19,15 @@ import java.io.IOException; import java.net.URL; import java.text.MessageFormat; +import javax.inject.Inject; +import javax.inject.Singleton; import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.gitblit.IStoredSettings; import com.gitblit.Keys; -import com.gitblit.dagger.DaggerServlet; import com.gitblit.manager.IAuthenticationManager; import com.gitblit.manager.IRepositoryManager; import com.gitblit.manager.IUserManager; @@ -33,15 +35,14 @@ import com.gitblit.models.RepositoryModel; import com.gitblit.models.UserModel; import com.gitblit.utils.StringUtils; -import dagger.ObjectGraph; - /** * Handles requests for Sparkleshare Invites * * @author James Moger * */ -public class SparkleShareInviteServlet extends DaggerServlet { +@Singleton +public class SparkleShareInviteServlet extends HttpServlet { private static final long serialVersionUID = 1L; @@ -53,12 +54,17 @@ public class SparkleShareInviteServlet extends DaggerServlet { private IRepositoryManager repositoryManager; - @Override - protected void inject(ObjectGraph dagger) { - this.settings = dagger.get(IStoredSettings.class); - this.userManager = dagger.get(IUserManager.class); - this.authenticationManager = dagger.get(IAuthenticationManager.class); - this.repositoryManager = dagger.get(IRepositoryManager.class); + @Inject + public SparkleShareInviteServlet( + IStoredSettings settings, + IUserManager userManager, + IAuthenticationManager authenticationManager, + IRepositoryManager repositoryManager) { + + this.settings = settings; + this.userManager = userManager; + this.authenticationManager = authenticationManager; + this.repositoryManager = repositoryManager; } @Override diff --git a/src/main/java/com/gitblit/servlet/SyndicationFilter.java b/src/main/java/com/gitblit/servlet/SyndicationFilter.java index 78da47e9..3b9753fa 100644 --- a/src/main/java/com/gitblit/servlet/SyndicationFilter.java +++ b/src/main/java/com/gitblit/servlet/SyndicationFilter.java @@ -18,8 +18,9 @@ package com.gitblit.servlet; import java.io.IOException; import java.text.MessageFormat; +import javax.inject.Inject; +import javax.inject.Singleton; import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; @@ -27,6 +28,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.gitblit.Constants.AccessRestrictionType; +import com.gitblit.manager.IAuthenticationManager; import com.gitblit.manager.IProjectManager; import com.gitblit.manager.IRepositoryManager; import com.gitblit.manager.IRuntimeManager; @@ -34,8 +36,6 @@ import com.gitblit.models.ProjectModel; import com.gitblit.models.RepositoryModel; import com.gitblit.models.UserModel; -import dagger.ObjectGraph; - /** * The SyndicationFilter is an AuthenticationFilter which ensures that feed * requests for projects or view-restricted repositories have proper authentication @@ -44,18 +44,24 @@ import dagger.ObjectGraph; * @author James Moger * */ +@Singleton public class SyndicationFilter extends AuthenticationFilter { private IRuntimeManager runtimeManager; private IRepositoryManager repositoryManager; private IProjectManager projectManager; - @Override - protected void inject(ObjectGraph dagger, FilterConfig filterConfig) { - super.inject(dagger, filterConfig); - this.runtimeManager = dagger.get(IRuntimeManager.class); - this.repositoryManager = dagger.get(IRepositoryManager.class); - this.projectManager = dagger.get(IProjectManager.class); + @Inject + public SyndicationFilter( + IRuntimeManager runtimeManager, + IAuthenticationManager authenticationManager, + IRepositoryManager repositoryManager, + IProjectManager projectManager) { + super(authenticationManager); + + this.runtimeManager = runtimeManager; + this.repositoryManager = repositoryManager; + this.projectManager = projectManager; } /** diff --git a/src/main/java/com/gitblit/servlet/SyndicationServlet.java b/src/main/java/com/gitblit/servlet/SyndicationServlet.java index 631df781..c48f25f9 100644 --- a/src/main/java/com/gitblit/servlet/SyndicationServlet.java +++ b/src/main/java/com/gitblit/servlet/SyndicationServlet.java @@ -22,6 +22,10 @@ import java.util.Collections; import java.util.List; import java.util.Map; +import javax.inject.Inject; +import javax.inject.Singleton; +import javax.servlet.http.HttpServlet; + import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.revwalk.RevCommit; @@ -31,7 +35,6 @@ import org.slf4j.LoggerFactory; import com.gitblit.Constants; import com.gitblit.IStoredSettings; import com.gitblit.Keys; -import com.gitblit.dagger.DaggerServlet; import com.gitblit.manager.IProjectManager; import com.gitblit.manager.IRepositoryManager; import com.gitblit.models.FeedEntryModel; @@ -46,8 +49,6 @@ import com.gitblit.utils.JGitUtils; import com.gitblit.utils.StringUtils; import com.gitblit.utils.SyndicationUtils; -import dagger.ObjectGraph; - /** * SyndicationServlet generates RSS 2.0 feeds and feed links. * @@ -56,7 +57,8 @@ import dagger.ObjectGraph; * @author James Moger * */ -public class SyndicationServlet extends DaggerServlet { +@Singleton +public class SyndicationServlet extends HttpServlet { private static final long serialVersionUID = 1L; @@ -68,11 +70,15 @@ public class SyndicationServlet extends DaggerServlet { private IProjectManager projectManager; - @Override - protected void inject(ObjectGraph dagger) { - this.settings = dagger.get(IStoredSettings.class); - this.repositoryManager = dagger.get(IRepositoryManager.class); - this.projectManager = dagger.get(IProjectManager.class); + @Inject + public SyndicationServlet( + IStoredSettings settings, + IRepositoryManager repositoryManager, + IProjectManager projectManager) { + + this.settings = settings; + this.repositoryManager = repositoryManager; + this.projectManager = projectManager; } /** diff --git a/src/main/java/com/gitblit/wicket/GitBlitWebApp.java b/src/main/java/com/gitblit/wicket/GitBlitWebApp.java index f63ff3d9..e5b65508 100644 --- a/src/main/java/com/gitblit/wicket/GitBlitWebApp.java +++ b/src/main/java/com/gitblit/wicket/GitBlitWebApp.java @@ -21,6 +21,9 @@ import java.util.Locale; import java.util.Map; import java.util.TimeZone; +import javax.inject.Inject; +import javax.inject.Singleton; + import org.apache.wicket.Application; import org.apache.wicket.Request; import org.apache.wicket.Response; @@ -90,6 +93,7 @@ import com.gitblit.wicket.pages.TreePage; import com.gitblit.wicket.pages.UserPage; import com.gitblit.wicket.pages.UsersPage; +@Singleton public class GitBlitWebApp extends WebApplication implements GitblitWicketApp { private final Class homePageClass = MyDashboardPage.class; @@ -120,6 +124,7 @@ public class GitBlitWebApp extends WebApplication implements GitblitWicketApp { private final IGitblit gitblit; + @Inject public GitBlitWebApp( IRuntimeManager runtimeManager, IPluginManager pluginManager, diff --git a/src/main/java/com/gitblit/wicket/GitblitWicketFilter.java b/src/main/java/com/gitblit/wicket/GitblitWicketFilter.java index 7865fb3b..72adbf51 100644 --- a/src/main/java/com/gitblit/wicket/GitblitWicketFilter.java +++ b/src/main/java/com/gitblit/wicket/GitblitWicketFilter.java @@ -17,6 +17,8 @@ package com.gitblit.wicket; import java.util.Date; +import javax.inject.Inject; +import javax.inject.Singleton; import javax.servlet.http.HttpServletRequest; import org.apache.wicket.protocol.http.IWebApplicationFactory; @@ -28,7 +30,6 @@ import org.eclipse.jgit.revwalk.RevCommit; 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; @@ -37,8 +38,6 @@ import com.gitblit.models.RepositoryModel; import com.gitblit.utils.JGitUtils; import com.gitblit.utils.StringUtils; -import dagger.ObjectGraph; - /** * * Customization of the WicketFilter to allow smart browser-side caching of @@ -47,7 +46,8 @@ import dagger.ObjectGraph; * @author James Moger * */ -public class GitblitWicketFilter extends DaggerWicketFilter { +@Singleton +public class GitblitWicketFilter extends WicketFilter { private IStoredSettings settings; @@ -59,13 +59,19 @@ public class GitblitWicketFilter extends DaggerWicketFilter { private GitBlitWebApp webapp; - @Override - protected void inject(ObjectGraph dagger) { - this.settings = dagger.get(IStoredSettings.class); - this.runtimeManager = dagger.get(IRuntimeManager.class); - this.repositoryManager = dagger.get(IRepositoryManager.class); - this.projectManager = dagger.get(IProjectManager.class); - this.webapp = dagger.get(GitBlitWebApp.class); + @Inject + public GitblitWicketFilter( + IStoredSettings settings, + IRuntimeManager runtimeManager, + IRepositoryManager repositoryManager, + IProjectManager projectManager, + GitBlitWebApp webapp) { + + this.settings = settings; + this.runtimeManager = runtimeManager; + this.repositoryManager = repositoryManager; + this.projectManager = projectManager; + this.webapp = webapp; } @Override