mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-01 02:55:56 +01:00
Initialize svn parent directory for servlet
This commit is contained in:
@@ -294,7 +294,7 @@ public class SvnDAVServlet extends DAVServlet implements HttpScmProtocol
|
||||
|
||||
@Override
|
||||
public String getUrl(Repository repository, UriInfo uriInfo) {
|
||||
return uriInfo.getBaseUri().resolve(URI.create("../../svn/" + repository.getNamespace() + "/" + repository.getName())).toASCIIString();
|
||||
return uriInfo.getBaseUri().resolve(URI.create("../../repo/" + repository.getNamespace() + "/" + repository.getName())).toASCIIString();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -5,6 +5,13 @@ import sonia.scm.repository.spi.InitializingHttpScmProtocolWrapper;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Provider;
|
||||
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;
|
||||
|
||||
@Singleton
|
||||
public class SvnScmProtocolProviderWrapper extends InitializingHttpScmProtocolWrapper {
|
||||
@@ -12,4 +19,42 @@ public class SvnScmProtocolProviderWrapper extends InitializingHttpScmProtocolWr
|
||||
public SvnScmProtocolProviderWrapper(Provider<SvnDAVServlet> servletProvider) {
|
||||
super(servletProvider);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initializeServlet(ServletConfig config, HttpServlet httpServlet) throws ServletException {
|
||||
|
||||
super.initializeServlet(new X(config), httpServlet);
|
||||
}
|
||||
|
||||
private static class X implements ServletConfig {
|
||||
|
||||
private final ServletConfig originalConfig;
|
||||
|
||||
private X(ServletConfig originalConfig) {
|
||||
this.originalConfig = originalConfig;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getServletName() {
|
||||
return originalConfig.getServletName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ServletContext getServletContext() {
|
||||
return originalConfig.getServletContext();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getInitParameter(String key) {
|
||||
if (PARAMETER_SVN_PARENTPATH.equals(key)) {
|
||||
return System.getProperty("java.io.tmpdir");
|
||||
}
|
||||
return originalConfig.getInitParameter(key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Enumeration getInitParameterNames() {
|
||||
return originalConfig.getInitParameterNames();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,9 +41,6 @@ import sonia.scm.api.v2.resources.SvnConfigDtoToSvnConfigMapper;
|
||||
import sonia.scm.api.v2.resources.SvnConfigToSvnConfigDtoMapper;
|
||||
import sonia.scm.plugin.Extension;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
//~--- JDK imports ------------------------------------------------------------
|
||||
|
||||
/**
|
||||
@@ -75,10 +72,5 @@ public class SvnServletModule extends ServletModule
|
||||
|
||||
bind(SvnConfigDtoToSvnConfigMapper.class).to(Mappers.getMapper(SvnConfigDtoToSvnConfigMapper.class).getClass());
|
||||
bind(SvnConfigToSvnConfigDtoMapper.class).to(Mappers.getMapper(SvnConfigToSvnConfigDtoMapper.class).getClass());
|
||||
|
||||
Map<String, String> parameters = new HashMap<String, String>();
|
||||
|
||||
parameters.put(PARAMETER_SVN_PARENTPATH,
|
||||
System.getProperty("java.io.tmpdir"));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user