mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-02 11:35:57 +01:00
Reduce dependency to RepositoryProvider in provider servlets
This commit is contained in:
@@ -45,10 +45,10 @@ import sonia.scm.repository.Repository;
|
||||
import sonia.scm.repository.RepositoryProvider;
|
||||
import sonia.scm.repository.RepositoryRequestListenerUtil;
|
||||
import sonia.scm.repository.SvnRepositoryHandler;
|
||||
import sonia.scm.repository.spi.ScmProviderHttpServlet;
|
||||
import sonia.scm.util.AssertUtil;
|
||||
import sonia.scm.util.HttpUtil;
|
||||
|
||||
import javax.servlet.ServletConfig;
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletRequestWrapper;
|
||||
@@ -62,7 +62,7 @@ import java.io.IOException;
|
||||
* @author Sebastian Sdorra
|
||||
*/
|
||||
@Singleton
|
||||
public class SvnDAVServlet extends DAVServlet
|
||||
public class SvnDAVServlet extends DAVServlet implements ScmProviderHttpServlet
|
||||
{
|
||||
|
||||
/** Field description */
|
||||
@@ -111,28 +111,18 @@ public class SvnDAVServlet extends DAVServlet
|
||||
* @throws ServletException
|
||||
*/
|
||||
@Override
|
||||
public void service(HttpServletRequest request, HttpServletResponse response)
|
||||
public void service(HttpServletRequest request, HttpServletResponse response, Repository repository)
|
||||
throws ServletException, IOException
|
||||
{
|
||||
Repository repository = repositoryProvider.get();
|
||||
|
||||
if (repository != null)
|
||||
{
|
||||
if (repositoryRequestListenerUtil.callListeners(request, response,
|
||||
repository))
|
||||
{
|
||||
super.service(new SvnHttpServletRequestWrapper(request,
|
||||
repositoryProvider), response);
|
||||
}
|
||||
else if (logger.isDebugEnabled())
|
||||
{
|
||||
logger.debug("request aborted by repository request listener");
|
||||
}
|
||||
}
|
||||
else
|
||||
if (repositoryRequestListenerUtil.callListeners(request, response,
|
||||
repository))
|
||||
{
|
||||
super.service(new SvnHttpServletRequestWrapper(request,
|
||||
repositoryProvider), response);
|
||||
repository), response);
|
||||
}
|
||||
else if (logger.isDebugEnabled())
|
||||
{
|
||||
logger.debug("request aborted by repository request listener");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -164,18 +154,11 @@ public class SvnDAVServlet extends DAVServlet
|
||||
extends HttpServletRequestWrapper
|
||||
{
|
||||
|
||||
/**
|
||||
* Constructs ...
|
||||
*
|
||||
*
|
||||
* @param request
|
||||
* @param repositoryProvider
|
||||
*/
|
||||
public SvnHttpServletRequestWrapper(HttpServletRequest request,
|
||||
RepositoryProvider repositoryProvider)
|
||||
Repository repository)
|
||||
{
|
||||
super(request);
|
||||
this.repositoryProvider = repositoryProvider;
|
||||
this.repository = repository;
|
||||
}
|
||||
|
||||
//~--- get methods --------------------------------------------------------
|
||||
@@ -212,8 +195,6 @@ public class SvnDAVServlet extends DAVServlet
|
||||
|
||||
AssertUtil.assertIsNotEmpty(pathInfo);
|
||||
|
||||
Repository repository = repositoryProvider.get();
|
||||
|
||||
if (repository != null)
|
||||
{
|
||||
if (pathInfo.startsWith(HttpUtil.SEPARATOR_PATH))
|
||||
@@ -237,7 +218,6 @@ public class SvnDAVServlet extends DAVServlet
|
||||
public String getServletPath()
|
||||
{
|
||||
String servletPath = super.getServletPath();
|
||||
Repository repository = repositoryProvider.get();
|
||||
|
||||
if (repository != null)
|
||||
{
|
||||
@@ -281,12 +261,7 @@ public class SvnDAVServlet extends DAVServlet
|
||||
//~--- fields -------------------------------------------------------------
|
||||
|
||||
/** Field description */
|
||||
private final RepositoryProvider repositoryProvider;
|
||||
}
|
||||
|
||||
// @Override
|
||||
public void serve(HttpServletRequest request, HttpServletResponse response, ServletConfig config) throws ServletException, IOException {
|
||||
service(request, response);
|
||||
private final Repository repository;
|
||||
}
|
||||
|
||||
//~--- fields ---------------------------------------------------------------
|
||||
|
||||
@@ -2,6 +2,7 @@ package sonia.scm.web;
|
||||
|
||||
import sonia.scm.api.v2.resources.UriInfoStore;
|
||||
import sonia.scm.repository.spi.InitializingHttpScmProtocolWrapper;
|
||||
import sonia.scm.repository.spi.ScmProviderHttpServlet;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Provider;
|
||||
@@ -9,7 +10,6 @@ import javax.inject.Singleton;
|
||||
import javax.servlet.ServletConfig;
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServlet;
|
||||
import java.util.Enumeration;
|
||||
|
||||
import static sonia.scm.web.SvnServletModule.PARAMETER_SVN_PARENTPATH;
|
||||
@@ -22,7 +22,7 @@ public class SvnScmProtocolProviderWrapper extends InitializingHttpScmProtocolWr
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initializeServlet(ServletConfig config, HttpServlet httpServlet) throws ServletException {
|
||||
protected void initializeServlet(ServletConfig config, ScmProviderHttpServlet httpServlet) throws ServletException {
|
||||
|
||||
super.initializeServlet(new X(config), httpServlet);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user