@@ -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; | |||
} | |||
} |
@@ -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, |
@@ -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); | |||
} |
@@ -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<String, String> legacyRedirects; | |||
@Inject | |||
public AuthenticationManager( | |||
IRuntimeManager runtimeManager, | |||
IUserManager userManager) { |
@@ -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, |
@@ -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); |
@@ -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(); |
@@ -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, |
@@ -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, |
@@ -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); | |||
} |
@@ -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; |
@@ -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; | |||
} | |||
/** |
@@ -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() { | |||
} | |||
/** |
@@ -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. | |||
* |
@@ -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. | |||
* |
@@ -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; | |||
} | |||
/** |
@@ -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() { | |||
} | |||
} |
@@ -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; | |||
} | |||
/** |
@@ -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; | |||
} | |||
/** |
@@ -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<HttpServletRequest>(gitblit)); | |||
gitFilter.setUploadPackFactory(new GitblitUploadPackFactory<HttpServletRequest>(gitblit)); | |||
gitFilter.setReceivePackFactory(new GitblitReceivePackFactory<HttpServletRequest>(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<HttpServletRequest>(gitblit)); | |||
gitFilter.setUploadPackFactory(new GitblitUploadPackFactory<HttpServletRequest>(gitblit)); | |||
gitFilter.setReceivePackFactory(new GitblitReceivePackFactory<HttpServletRequest>(gitblit)); | |||
gitFilter.init(new FilterConfig() { | |||
@Override |
@@ -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; | |||
@@ -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 |
@@ -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); | |||
} | |||
} |
@@ -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"; |
@@ -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<HttpRequestFilter> filters; | |||
@Singleton | |||
public class ProxyFilter implements Filter { | |||
private final IRuntimeManager runtimeManager; | |||
private final IPluginManager pluginManager; | |||
private final List<HttpRequestFilter> 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()); |
@@ -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 |
@@ -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. | |||
* |
@@ -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; | |||
} | |||
/** |
@@ -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 |
@@ -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; | |||
} | |||
/** |
@@ -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; | |||
} | |||
/** |
@@ -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 |
@@ -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; | |||
} | |||
/** |
@@ -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; | |||
} | |||
/** |
@@ -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<? extends WebPage> 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, |
@@ -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 |