001package co.codewizards.cloudstore.client; 002 003import java.io.File; 004import java.util.Collection; 005import java.util.UUID; 006 007import co.codewizards.cloudstore.core.repo.local.LocalRepoRegistry; 008 009/** 010 * {@link SubCommand} implementation for listing all repositories in the local file system 011 * (known to the {@link LocalRepoRegistry}). 012 * 013 * @author Marco หงุ่ยตระกูล-Schulze - marco at nightlabs dot de 014 */ 015public class RepoListSubCommand extends SubCommand 016{ 017 public RepoListSubCommand() { } 018 019 @Override 020 public String getSubCommandDescription() { 021 return "List all local repositories known to the registry."; 022 } 023 024 @Override 025 public void run() throws Exception { 026 LocalRepoRegistry localRepoRegistry = LocalRepoRegistry.getInstance(); 027 System.out.println("Local repositories:"); 028 for (UUID repositoryId : localRepoRegistry.getRepositoryIds()) { 029 File localRoot = localRepoRegistry.getLocalRoot(repositoryId); 030 Collection<String> repositoryAliases = localRepoRegistry.getRepositoryAliasesOrFail(repositoryId.toString()); 031 System.out.println(String.format(" * repository.repositoryId = %s", repositoryId)); 032 System.out.println(String.format(" repository.localRoot = %s", localRoot)); 033 System.out.println(String.format(" repository.aliases = %s", repositoryAliases)); 034 System.out.println(); 035 } 036 } 037}