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