List of usage examples for org.eclipse.jgit.http.server.resolver DefaultReceivePackFactory DefaultReceivePackFactory
DefaultReceivePackFactory
From source file:com.gitblit.GitServlet.java
License:Apache License
@Override public void init(ServletConfig config) throws ServletException { groovyDir = GitBlit.getGroovyScriptsFolder(); try {//ww w. jav a 2s . c o m // set Grape root File grapeRoot = new File(GitBlit.getString(Keys.groovy.grapeFolder, "groovy/grape")).getAbsoluteFile(); grapeRoot.mkdirs(); System.setProperty("grape.root", grapeRoot.getAbsolutePath()); gse = new GroovyScriptEngine(groovyDir.getAbsolutePath()); } catch (IOException e) { throw new ServletException("Failed to instantiate Groovy Script Engine!", e); } // set the Gitblit receive hook setReceivePackFactory(new DefaultReceivePackFactory() { @Override public ReceivePack create(HttpServletRequest req, Repository db) throws ServiceNotEnabledException, ServiceNotAuthorizedException { // determine repository name from request String repositoryName = req.getPathInfo().substring(1); repositoryName = GitFilter.getRepositoryName(repositoryName); GitblitReceiveHook hook = new GitblitReceiveHook(); hook.repositoryName = repositoryName; hook.gitblitUrl = HttpUtils.getGitblitURL(req); ReceivePack rp = super.create(req, db); rp.setPreReceiveHook(hook); rp.setPostReceiveHook(hook); return rp; } }); super.init(new GitblitServletConfig(config)); }
From source file:com.tasktop.c2c.server.scm.web.GitSmartHttpServlet.java
License:Open Source License
public void setPostRecieveHook(final PostReceiveHook hook) { ReceivePackFactory<HttpServletRequest> rpf = new DefaultReceivePackFactory() { public ReceivePack create(final HttpServletRequest req, final Repository db) throws ServiceNotEnabledException, ServiceNotAuthorizedException { ReceivePack result = super.create(req, db); if (!result.getPostReceiveHook().equals(PostReceiveHook.NULL)) { throw new IllegalStateException(); }// ww w .ja va 2 s .co m result.setPostReceiveHook(hook); return result; } }; setReceivePackFactory(rpf); }