Merge "Add extension point to register JGit PreUploadHooks"

This commit is contained in:
Edwin Kempin
2014-06-30 11:02:50 +00:00
committed by Gerrit Code Review
4 changed files with 26 additions and 1 deletions

View File

@@ -51,6 +51,8 @@ import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.transport.PostReceiveHook;
import org.eclipse.jgit.transport.PostReceiveHookChain;
import org.eclipse.jgit.transport.PreUploadHook;
import org.eclipse.jgit.transport.PreUploadHookChain;
import org.eclipse.jgit.transport.ReceivePack;
import org.eclipse.jgit.transport.UploadPack;
import org.eclipse.jgit.transport.resolver.ReceivePackFactory;
@@ -188,10 +190,12 @@ public class GitOverHttpServlet extends GitServlet {
static class UploadFactory implements UploadPackFactory<HttpServletRequest> {
private final TransferConfig config;
private final DynamicSet<PreUploadHook> preUploadHooks;
@Inject
UploadFactory(TransferConfig tc) {
UploadFactory(TransferConfig tc, DynamicSet<PreUploadHook> preUploadHooks) {
this.config = tc;
this.preUploadHooks = preUploadHooks;
}
@Override
@@ -199,6 +203,8 @@ public class GitOverHttpServlet extends GitServlet {
UploadPack up = new UploadPack(repo);
up.setPackConfig(config.getPackConfig());
up.setTimeout(config.getTimeout());
up.setPreUploadHook(PreUploadHookChain.newChain(
Lists.newArrayList(preUploadHooks)));
return up;
}
}