mirror of
				https://github.com/scm-manager/scm-manager.git
				synced 2025-10-31 10:35:56 +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