call repository request listeners before the git servlet is executed

This commit is contained in:
Sebastian Sdorra
2011-11-28 11:22:20 +01:00
parent c2d3bd0b3c
commit b8dcc55884

View File

@@ -44,6 +44,7 @@ import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.transport.resolver.RepositoryResolver;
import sonia.scm.repository.GitUtil;
import sonia.scm.repository.RepositoryRequestListenerUtil;
import sonia.scm.util.HttpUtil;
//~--- JDK imports ------------------------------------------------------------
@@ -79,15 +80,18 @@ public class ScmGitServlet extends GitServlet
* @param repositoryResolver
* @param receivePackFactory
* @param repositoryProvider
* @param repositoryRequestListenerUtil
*/
@Inject
public ScmGitServlet(
GitRepositoryResolver repositoryResolver,
GitReceivePackFactory receivePackFactory,
Provider<sonia.scm.repository.Repository> repositoryProvider)
Provider<sonia.scm.repository.Repository> repositoryProvider,
RepositoryRequestListenerUtil repositoryRequestListenerUtil)
{
this.resolver = repositoryResolver;
this.repositoryProvider = repositoryProvider;
this.repositoryRequestListenerUtil = repositoryRequestListenerUtil;
setRepositoryResolver(repositoryResolver);
setReceivePackFactory(receivePackFactory);
}
@@ -113,6 +117,14 @@ public class ScmGitServlet extends GitServlet
if (uri.matches(REGEX_GITHTTPBACKEND))
{
sonia.scm.repository.Repository repository = repositoryProvider.get();
if (repository != null)
{
repositoryRequestListenerUtil.callListeners(request, response,
repository);
}
super.service(request, response);
}
else
@@ -168,6 +180,9 @@ public class ScmGitServlet extends GitServlet
/** Field description */
private Provider<sonia.scm.repository.Repository> repositoryProvider;
/** Field description */
private RepositoryRequestListenerUtil repositoryRequestListenerUtil;
/** Field description */
private RepositoryResolver<HttpServletRequest> resolver;
}