mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-02 19:45:51 +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