Example usage for org.eclipse.jgit.http.server.glue MetaFilter serveRegex

List of usage examples for org.eclipse.jgit.http.server.glue MetaFilter serveRegex

Introduction

In this page you can find the example usage for org.eclipse.jgit.http.server.glue MetaFilter serveRegex.

Prototype

public ServletBinder serveRegex(Pattern pattern) 

Source Link

Document

Construct a binding for a regular expression.

Usage

From source file:com.google.gitiles.TestViewFilter.java

License:Open Source License

public static Result service(TestRepository<? extends DfsRepository> repo, String pathAndQuery)
        throws IOException, ServletException {
    TestServlet servlet = new TestServlet();
    ViewFilter vf = new ViewFilter(new TestGitilesAccess(repo.getRepository()), TestGitilesUrls.URLS,
            new VisibilityCache(false));
    MetaFilter mf = new MetaFilter();

    for (Pattern p : ImmutableList.of(ROOT_REGEX, REPO_REGEX, REPO_PATH_REGEX)) {
        mf.serveRegex(p).through(vf).with(servlet);
    }/*from   www  .ja v a 2s  . c om*/

    FakeHttpServletRequest req = newRequest(repo, pathAndQuery);
    req.setAttribute(ServletUtils.ATTRIBUTE_REPOSITORY, repo.getRepository());
    FakeHttpServletResponse res = new FakeHttpServletResponse();
    dummyServlet(mf).service(req, res);
    if (servlet.view != null) {
        ViewFilter.setView(req, servlet.view);
        if (servlet.view.getRepositoryName() != null) {
            assertEquals(repo.getRepository().getDescription().getRepositoryName(),
                    servlet.view.getRepositoryName());
        }
    }
    return new Result(servlet.view, req, res);
}

From source file:com.google.gitiles.ViewFilterTest.java

License:Open Source License

private GitilesView getView(String pathAndQuery) throws ServletException, IOException {
    final AtomicReference<GitilesView> view = Atomics.newReference();
    HttpServlet testServlet = new HttpServlet() {
        @Override// w  w w .ja v  a 2s.co  m
        protected void doGet(HttpServletRequest req, HttpServletResponse res) {
            view.set(ViewFilter.getView(req));
        }
    };

    ViewFilter vf = new ViewFilter(new TestGitilesAccess(repo.getRepository()), TestGitilesUrls.URLS,
            new VisibilityCache(false));
    MetaFilter mf = new MetaFilter();

    for (Pattern p : ImmutableList.of(ROOT_REGEX, REPO_REGEX, REPO_PATH_REGEX)) {
        mf.serveRegex(p).through(vf).with(testServlet);
    }

    FakeHttpServletRequest req = newRequest(repo.getRepository());
    int q = pathAndQuery.indexOf('?');
    if (q > 0) {
        req.setPathInfo(pathAndQuery.substring(0, q));
        req.setQueryString(pathAndQuery.substring(q + 1));
    } else {
        req.setPathInfo(pathAndQuery);
    }
    new MetaServlet(mf) {
    }.service(req, new FakeHttpServletResponse());

    return view.get();
}