// clean protected RepositoryListResourceResponse listRepositories( Request request, boolean allReposes, boolean includeGroups) throws ResourceException { RepositoryListResourceResponse result = new RepositoryListResourceResponse(); RepositoryListResource repoRes; Collection<Repository> repositories = getRepositoryRegistry().getRepositories(); for (Repository repository : repositories) { // To save UI changes at the moment, not including groups in repo call if ((allReposes || repository.isUserManaged()) && (includeGroups || !repository.getRepositoryKind().isFacetAvailable(GroupRepository.class))) { repoRes = new RepositoryListResource(); repoRes.setResourceURI(createRepositoryReference(request, repository.getId()).toString()); repoRes.setContentResourceURI( repositoryURLBuilder.getExposedRepositoryContentUrl(repository)); repoRes.setRepoType(getRestRepoType(repository)); repoRes.setProvider(NexusCompat.getRepositoryProviderHint(repository)); repoRes.setProviderRole(NexusCompat.getRepositoryProviderRole(repository)); repoRes.setFormat(repository.getRepositoryContentClass().getId()); repoRes.setId(repository.getId()); repoRes.setName(repository.getName()); repoRes.setUserManaged(repository.isUserManaged()); repoRes.setExposed(repository.isExposed()); repoRes.setEffectiveLocalStorageUrl(repository.getLocalUrl()); if (repository.getRepositoryKind().isFacetAvailable(MavenRepository.class)) { repoRes.setRepoPolicy( repository.adaptToFacet(MavenRepository.class).getRepositoryPolicy().toString()); } if (repository.getRepositoryKind().isFacetAvailable(ProxyRepository.class)) { repoRes.setRemoteUri(repository.adaptToFacet(ProxyRepository.class).getRemoteUrl()); } result.addData(repoRes); } } return result; }
/** * Retrieve a list of repository templates in nexus. Some default configurations for common * repository types. */ @Override @GET @ResourceMethodSignature(output = RepositoryListResourceResponse.class) public Object get(Context context, Request request, Response response, Variant variant) throws ResourceException { RepositoryListResourceResponse result = new RepositoryListResourceResponse(); RepositoryListResource repoRes; TemplateSet repoTemplates = getNexus().getRepositoryTemplates(); for (Template tmp : repoTemplates) { RepositoryTemplate template = (RepositoryTemplate) tmp; repoRes = new RepositoryListResource(); repoRes.setResourceURI(createChildReference(request, this, template.getId()).toString()); repoRes.setId(template.getId()); repoRes.setName(template.getDescription()); if (ProxyRepository.class.isAssignableFrom(template.getMainFacet())) { repoRes.setRepoType("proxy"); } else if (HostedRepository.class.isAssignableFrom(template.getMainFacet())) { repoRes.setRepoType("hosted"); } else if (ShadowRepository.class.isAssignableFrom(template.getMainFacet())) { repoRes.setRepoType("virtual"); } else if (GroupRepository.class.isAssignableFrom(template.getMainFacet())) { repoRes.setRepoType("group"); } else { // huh? repoRes.setRepoType(template.getMainFacet().getName()); } // policy // another hack if (template.getCoreConfiguration().getExternalConfiguration().getConfiguration(false) instanceof AbstractMavenRepositoryConfiguration) { repoRes.setRepoPolicy( ((AbstractMavenRepositoryConfiguration) template .getCoreConfiguration() .getExternalConfiguration() .getConfiguration(false)) .getRepositoryPolicy() .toString()); } // format repoRes.setFormat(template.getContentClass().getId()); // userManaged repoRes.setUserManaged(template.getConfigurableRepository().isUserManaged()); // exposed repoRes.setExposed(template.getConfigurableRepository().isExposed()); // == // below are not used for templates (and does not make any sense) // effectiveLocalStorageUrl // remoteUri result.addData(repoRes); } return result; }