001/** 002 * 003 */ 004 005package org.nuxeo.drive.operations; 006 007import java.util.ArrayList; 008import java.util.Collections; 009import java.util.List; 010 011import org.nuxeo.ecm.automation.core.Constants; 012import org.nuxeo.ecm.automation.core.annotations.Context; 013import org.nuxeo.ecm.automation.core.annotations.Operation; 014import org.nuxeo.ecm.automation.core.annotations.OperationMethod; 015import org.nuxeo.ecm.core.api.repository.RepositoryManager; 016 017/** 018 * Fetch the list of the repositories registered on the server. TODO: move this to the list of default operations in 019 * 5.7. 020 */ 021@Operation(id = GetRepositoriesOperation.ID, category = Constants.CAT_FETCH, label = "List repository names on the server") 022public class GetRepositoriesOperation { 023 024 public static final String ID = "GetRepositories"; 025 026 @Context 027 protected RepositoryManager repositoryManager; 028 029 @OperationMethod 030 public List<String> run() { 031 List<String> repositoryNames = new ArrayList<String>(repositoryManager.getRepositoryNames()); 032 // Make order deterministic to make it simpler to write tests. 033 Collections.sort(repositoryNames); 034 return repositoryNames; 035 } 036 037}