Example usage for org.eclipse.jgit.http.server.resolver DefaultReceivePackFactory DefaultReceivePackFactory

List of usage examples for org.eclipse.jgit.http.server.resolver DefaultReceivePackFactory DefaultReceivePackFactory

Introduction

In this page you can find the example usage for org.eclipse.jgit.http.server.resolver DefaultReceivePackFactory DefaultReceivePackFactory.

Prototype

DefaultReceivePackFactory

Source Link

Usage

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);
}