@Override public Iterator<String> findRepositories() { return resolver.listRepoNamesUnderRootURI(rootRepoURI).iterator(); }
protected @Override void runInternal(GeogigCLI cli) throws IOException { checkParameter(!baseuri.isEmpty(), "Usage: geogig ls-repos <base URI> (e.g. geogig ls-repos postgresql://localhost:5432/geogig_db?user=...&password=...)"); URI baseURI = baseuri.get(0); RepositoryResolver resolver = RepositoryResolver.lookup(baseURI); List<String> repoNames = new ArrayList<>(resolver.listRepoNamesUnderRootURI(baseURI)); Collections.sort(repoNames); Console console = cli.getConsole(); if (verbose) { logVerbose(console, baseURI, repoNames, resolver); } else { for (String name : repoNames) { console.println(name); } } }
@VisibleForTesting Repository loadGeoGIG(final String repoName) { LOG.info( "Loading repository " + repoName + " using " + resolver.getClass().getSimpleName()); Hints hints = new Hints(); final URI repoURI = resolver.buildRepoURI(rootRepoURI, repoName); hints.set(Hints.REPOSITORY_URL, repoURI); hints.set(Hints.REPOSITORY_NAME, repoName); Context context = GlobalContextBuilder.builder().build(hints); Repository repository = context.repository(); if (!repository.isOpen()) { // Only open it if is was an existing repository. for (String existingRepo : resolver.listRepoNamesUnderRootURI(rootRepoURI)) { if (existingRepo.equals(repoName)) { try { repository.open(); } catch (RepositoryConnectionException e) { throw Throwables.propagate(e); } break; } } } return repository; }