List of usage examples for org.eclipse.jgit.transport.resolver RepositoryResolver RepositoryResolver
RepositoryResolver
From source file:co.bledo.gitmin.servlet.Git.java
License:Apache License
@Override public void init(final ServletConfig config) throws ServletException { log.entry(config);//w w w .j a v a 2s . com setRepositoryResolver(new RepositoryResolver<HttpServletRequest>() { protected RepositoryBuilder builder = new RepositoryBuilder(); @Override public Repository open(HttpServletRequest arg0, String arg1) throws RepositoryNotFoundException, ServiceNotAuthorizedException, ServiceNotEnabledException, ServiceMayNotContinueException { log.debug("RESOLVING REPO: {}", arg1); File path = new File(GitminConfig.getGitRepositoriesPath() + "/" + arg1); Repository repo; try { repo = builder.setGitDir(path).readEnvironment().findGitDir().build(); } catch (IOException e) { log.catching(e); throw log.throwing(new RepositoryNotFoundException(path)); } return log.exit(repo); } }); super.init(new ServletConfig() { @Override public String getServletName() { return config.getServletName(); } @Override public ServletContext getServletContext() { return config.getServletContext(); } @Override public Enumeration<String> getInitParameterNames() { return config.getInitParameterNames(); } @Override public String getInitParameter(String arg0) { if ("base-path".equals(arg0)) { return GitminConfig.getGitRepositoriesPath(); } else if ("eport-all".equals(arg0)) { return GitminConfig.getGitExportAll(); } return config.getInitParameter(arg0); } }); log.exit(); }
From source file:com.google.gitiles.GitilesFilter.java
License:Open Source License
private static RepositoryResolver<HttpServletRequest> wrapResolver( final RepositoryResolver<HttpServletRequest> resolver) { checkNotNull(resolver, "resolver"); return new RepositoryResolver<HttpServletRequest>() { @Override//from ww w . j a v a2s.c o m public Repository open(HttpServletRequest req, String name) throws RepositoryNotFoundException, ServiceNotAuthorizedException, ServiceNotEnabledException, ServiceMayNotContinueException { return resolver.open(req, ViewFilter.trimLeadingSlash(getRegexGroup(req, 1))); } }; }
From source file:com.google.gitiles.TestGitilesServlet.java
License:Open Source License
/** * Create a servlet backed by a single test repository. * <p>/*from w w w . j ava 2s. c o m*/ * The servlet uses the same filter lists as a real servlet, but only knows * about a single repo, having the name returned by * {@link org.eclipse.jgit.internal.storage.dfs.DfsRepositoryDescription#getRepositoryName()}. * Pass a {@link FakeHttpServletRequest} and {@link FakeHttpServletResponse} * to the servlet's {@code service} method to test. * * @param repo the test repo backing the servlet. * @param gitwebRedirect optional redirect filter for gitweb URLs. * @return a servlet. */ public static GitilesServlet create(final TestRepository<DfsRepository> repo, GitwebRedirectFilter gitwebRedirect) throws ServletException { final String repoName = repo.getRepository().getDescription().getRepositoryName(); GitilesServlet servlet = new GitilesServlet(new Config(), new DefaultRenderer(GitilesServlet.STATIC_PREFIX, ImmutableList.<URL>of(), repoName + " test site"), TestGitilesUrls.URLS, new TestGitilesAccess(repo.getRepository()), new RepositoryResolver<HttpServletRequest>() { @Override public Repository open(HttpServletRequest req, String name) throws RepositoryNotFoundException { if (!repoName.equals(name)) { throw new RepositoryNotFoundException(name); } return repo.getRepository(); } }, null, null, null, gitwebRedirect); servlet.init(new ServletConfig() { @Override public String getInitParameter(String name) { return null; } @Override public Enumeration<String> getInitParameterNames() { return Collections.enumeration(ImmutableList.<String>of()); } @Override public ServletContext getServletContext() { return null; } @Override public String getServletName() { return TestGitilesServlet.class.getName(); } }); return servlet; }
From source file:com.sap.poc.jgit.storage.jdbc.pgm.JdbcDaemon.java
License:Eclipse Distribution License
@Override protected void run() throws Exception { final PackConfig packConfig = new PackConfig(); if (configFile != null) { if (!configFile.exists()) throw die(MessageFormat.format(CLIText.get().configFileNotFound, configFile.getAbsolutePath())); final FileBasedConfig cfg = new FileBasedConfig(configFile, FS.DETECTED); cfg.load();//from w w w . j av a 2 s . c o m packConfig.fromConfig(cfg); } int threads = packConfig.getThreads(); if (threads <= 0) threads = Runtime.getRuntime().availableProcessors(); if (1 < threads) packConfig.setExecutor(Executors.newFixedThreadPool(threads)); final org.eclipse.jgit.transport.Daemon d; d = new org.eclipse.jgit.transport.Daemon( host != null ? new InetSocketAddress(host, port) : new InetSocketAddress(port)); final JdbcDatabase db = new JdbcDatabaseBuilder().setURI(uri).build(); final RepositoryResolver<DaemonClient> resolver = new RepositoryResolver<DaemonClient>() { @Override public Repository open(DaemonClient req, String name) throws RepositoryNotFoundException { try { return new JdbcRepositoryBuilder().setDatabase(db).setRepositoryName(name).build(); } catch (DhtException e) { throw new RepositoryNotFoundException(name, e); } } }; d.setPackConfig(packConfig); d.setRepositoryResolver(resolver); if (0 <= timeout) d.setTimeout(timeout); for (final String n : enable) service(d, n).setEnabled(true); for (final String n : disable) service(d, n).setEnabled(false); for (final String n : canOverride) service(d, n).setOverridable(true); for (final String n : forbidOverride) service(d, n).setOverridable(false); d.start(); out.println(MessageFormat.format(CLIText.get().listeningOn, d.getAddress())); }