@Override public void removeRepository(URI repositoryUri) { List<String> toRemove = new ArrayList<>(); toRemove.add(repositoryUri.toString()); while (!toRemove.isEmpty()) { Repository rep = repositoryCache.remove(toRemove.remove(0)); if (rep != null) { for (URI u : rep.getRepositories()) { toRemove.add(u.toString()); } } } }
private void populateRepositories (String uri, Set<Repository> repos) throws Exception { Repository repository = repositories.get(uri); if (repository != null && !repos.contains(repository)) { repos.add(repository); for (URI u : repository.getRepositories()) { populateRepositories(u.toString(), repos); } } }
private void populateRepositories (String uri, Set<Repository> repos) throws Exception { Repository repository = repositories.get(uri); if (repository != null && !repos.contains(repository)) { repos.add(repository); for (URI u : repository.getRepositories()) { populateRepositories(u.toString(), repos); } } }
/** * Returns a set containing the given repository and all its dependencies recursively */ @Override public Set<Repository> getRepositoryClosure(Repository repo) { Set<Repository> closure = new HashSet<>(); Deque<Repository> remaining = new ArrayDeque<>(Collections.singleton(repo)); while (!remaining.isEmpty()) { Repository rep = remaining.removeFirst(); if (closure.add(rep)) { for (URI uri : rep.getRepositories()) { remaining.add(getRepository(uri.toString())); } } } return closure; }
public JmxRepository(Repository repository) { try { String[] itemNames = FeaturesServiceMBean.REPOSITORY; Object[] itemValues = new Object[itemNames.length]; itemValues[0] = repository.getName(); itemValues[1] = repository.getURI().toString(); itemValues[2] = toStringArray(repository.getRepositories()); itemValues[3] = getFeatureIdentifierTable(Arrays.asList(repository.getFeatures())); itemValues[4] = repository.isBlacklisted(); data = new CompositeDataSupport(REPOSITORY, itemNames, itemValues); } catch (Exception e) { throw new IllegalStateException("Cannot form repository open data", e); } }
for (URI u : repo.getRepositories()) { toLoad.add(u.toString());