mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-10 15:35:49 +01:00
improve mercurial command handling
This commit is contained in:
@@ -36,11 +36,13 @@ package sonia.scm.web;
|
||||
//~--- non-JDK imports --------------------------------------------------------
|
||||
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Provider;
|
||||
import com.google.inject.Singleton;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import sonia.scm.repository.HgContext;
|
||||
import sonia.scm.repository.HgHookManager;
|
||||
import sonia.scm.repository.HgRepositoryHandler;
|
||||
import sonia.scm.repository.HgRepositoryHookEvent;
|
||||
@@ -99,15 +101,18 @@ public class HgHookCallbackServlet extends HttpServlet
|
||||
* @param repositoryManager
|
||||
* @param handler
|
||||
* @param hookManager
|
||||
* @param contextProvider
|
||||
*/
|
||||
@Inject
|
||||
public HgHookCallbackServlet(RepositoryManager repositoryManager,
|
||||
HgRepositoryHandler handler,
|
||||
HgHookManager hookManager)
|
||||
HgHookManager hookManager,
|
||||
Provider<HgContext> contextProvider)
|
||||
{
|
||||
this.repositoryManager = repositoryManager;
|
||||
this.handler = handler;
|
||||
this.hookManager = hookManager;
|
||||
this.contextProvider = contextProvider;
|
||||
}
|
||||
|
||||
//~--- methods --------------------------------------------------------------
|
||||
@@ -182,6 +187,11 @@ public class HgHookCallbackServlet extends HttpServlet
|
||||
{
|
||||
try
|
||||
{
|
||||
if (type == RepositoryHookType.PRE_RECEIVE)
|
||||
{
|
||||
contextProvider.get().setPending(true);
|
||||
}
|
||||
|
||||
repositoryManager.fireHookEvent(HgRepositoryHandler.TYPE_NAME,
|
||||
repositoryName,
|
||||
new HgRepositoryHookEvent(handler,
|
||||
@@ -260,6 +270,9 @@ public class HgHookCallbackServlet extends HttpServlet
|
||||
|
||||
//~--- fields ---------------------------------------------------------------
|
||||
|
||||
/** Field description */
|
||||
private Provider<HgContext> contextProvider;
|
||||
|
||||
/** Field description */
|
||||
private HgRepositoryHandler handler;
|
||||
|
||||
|
||||
@@ -38,6 +38,7 @@ package sonia.scm.web;
|
||||
import com.google.inject.servlet.ServletModule;
|
||||
|
||||
import sonia.scm.plugin.ext.Extension;
|
||||
import sonia.scm.repository.HgContext;
|
||||
import sonia.scm.repository.HgHookManager;
|
||||
import sonia.scm.web.filter.BasicAuthenticationFilter;
|
||||
|
||||
@@ -64,6 +65,7 @@ public class HgServletModule extends ServletModule
|
||||
@Override
|
||||
protected void configureServlets()
|
||||
{
|
||||
bind(HgContext.class);
|
||||
bind(HgHookManager.class);
|
||||
serve(MAPPING_HOOK).with(HgHookCallbackServlet.class);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user