From b8dcc55884c6b7b0ab66fbd9f6684668ada1fc9a Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Mon, 28 Nov 2011 11:22:20 +0100 Subject: [PATCH] call repository request listeners before the git servlet is executed --- .../main/java/sonia/scm/web/ScmGitServlet.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/ScmGitServlet.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/ScmGitServlet.java index 5eb1c1b0c5..898dac38e8 100644 --- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/ScmGitServlet.java +++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/ScmGitServlet.java @@ -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 repositoryProvider) + Provider 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 repositoryProvider; + /** Field description */ + private RepositoryRequestListenerUtil repositoryRequestListenerUtil; + /** Field description */ private RepositoryResolver resolver; }