mirror of
				https://github.com/scm-manager/scm-manager.git
				synced 2025-10-31 10:35:56 +01:00 
			
		
		
		
	Add servlet decorators for hg and svn
This commit is contained in:
		| @@ -0,0 +1,14 @@ | ||||
| package sonia.scm.web; | ||||
|  | ||||
| import com.google.inject.BindingAnnotation; | ||||
|  | ||||
| import java.lang.annotation.ElementType; | ||||
| import java.lang.annotation.Retention; | ||||
| import java.lang.annotation.RetentionPolicy; | ||||
| import java.lang.annotation.Target; | ||||
|  | ||||
| @BindingAnnotation | ||||
| @Target({ ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER }) | ||||
| @Retention(RetentionPolicy.RUNTIME) | ||||
| @interface Svn { | ||||
| } | ||||
| @@ -0,0 +1,22 @@ | ||||
| package sonia.scm.web; | ||||
|  | ||||
| import com.google.inject.Inject; | ||||
| import sonia.scm.repository.spi.ScmProviderHttpServlet; | ||||
| import sonia.scm.repository.spi.ScmProviderHttpServletProvider; | ||||
|  | ||||
| import javax.inject.Provider; | ||||
|  | ||||
| public class SvnDAVServletProvider extends ScmProviderHttpServletProvider { | ||||
|  | ||||
|   @Inject | ||||
|   private Provider<SvnDAVServlet> servletProvider; | ||||
|  | ||||
|   public SvnDAVServletProvider() { | ||||
|     super("svn"); | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   protected ScmProviderHttpServlet getRootServlet() { | ||||
|     return servletProvider.get(); | ||||
|   } | ||||
| } | ||||
| @@ -26,7 +26,7 @@ public class SvnScmProtocolProviderWrapper extends InitializingHttpScmProtocolWr | ||||
|   } | ||||
|  | ||||
|   @Inject | ||||
|   public SvnScmProtocolProviderWrapper(Provider<SvnDAVServlet> servletProvider, Provider<SvnPermissionFilter> permissionFilter, Provider<ScmPathInfoStore> uriInfoStore, ScmConfiguration scmConfiguration) { | ||||
|   public SvnScmProtocolProviderWrapper(@Svn Provider<ScmProviderHttpServlet> servletProvider, Provider<SvnPermissionFilter> permissionFilter, Provider<ScmPathInfoStore> uriInfoStore, ScmConfiguration scmConfiguration) { | ||||
|     super(servletProvider, permissionFilter, uriInfoStore, scmConfiguration); | ||||
|   } | ||||
|  | ||||
|   | ||||
| @@ -38,6 +38,7 @@ import org.mapstruct.factory.Mappers; | ||||
| import sonia.scm.api.v2.resources.SvnConfigDtoToSvnConfigMapper; | ||||
| import sonia.scm.api.v2.resources.SvnConfigToSvnConfigDtoMapper; | ||||
| import sonia.scm.plugin.Extension; | ||||
| import sonia.scm.repository.spi.ScmProviderHttpServlet; | ||||
|  | ||||
| /** | ||||
|  * | ||||
| @@ -50,5 +51,7 @@ public class SvnServletModule extends ServletModule { | ||||
|   protected void configureServlets() { | ||||
|     bind(SvnConfigDtoToSvnConfigMapper.class).to(Mappers.getMapper(SvnConfigDtoToSvnConfigMapper.class).getClass()); | ||||
|     bind(SvnConfigToSvnConfigDtoMapper.class).to(Mappers.getMapper(SvnConfigToSvnConfigDtoMapper.class).getClass()); | ||||
|  | ||||
|     bind(ScmProviderHttpServlet.class).annotatedWith(Svn.class).toProvider(SvnDAVServletProvider.class); | ||||
|   } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user