List of usage examples for org.eclipse.jgit.transport Daemon setRepositoryResolver
public void setRepositoryResolver(RepositoryResolver<DaemonClient> resolver)
From source file:com.benhumphreys.jgitcassandra.Server.java
License:Apache License
public static void main(String[] args) { // Create the Cassandra Store Connection if (args.length < 1) { System.err.println("Must specify one or more Cassandra nodes"); return;/*from w w w.j a v a2 s. c om*/ } StoreConnection conn = new StoreConnection(Arrays.asList(args)); // Start the Git server Daemon server = new Daemon(new InetSocketAddress(9418)); boolean uploadsEnabled = true; server.getService("git-receive-pack").setEnabled(uploadsEnabled); //server.setRepositoryResolver(new InMemoryRepositoryResolver()); // For testing server.setRepositoryResolver(new CassandraRepositoryResolver(conn)); try { server.start(); } catch (IOException e) { System.out.println("Failed to start server: " + e.getMessage()); e.printStackTrace(); } }
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();/*ww w . j a v a 2 s . com*/ 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())); }