for (RemoteRepository r : m_remoteRepos) {
naming.put(r.getId(), r);
r.setProxy(m_proxySelector.getProxy(r));
RemoteRepository mirror = m_mirrorSelector.getMirror(r);
if (mirror != null) {
String key = mirror.getId();
naming.put(key, mirror);
if (!map.containsKey(key)) {
map.put(key, new ArrayList<String>());
}
List<String> mirrored = map.get(key);
mirrored.add(r.getId());
}
}
for (String mirrorId : map.keySet()) {
RemoteRepository mirror = naming.get(mirrorId);
List<RemoteRepository> mirroedRepos = new ArrayList<RemoteRepository>();
for (String rep : map.get(mirrorId)) {
mirroedRepos.add(naming.get(rep));
}
mirror.setMirroredRepositories(mirroedRepos);
m_remoteRepos.removeAll(mirroedRepos);
m_remoteRepos.add(0, mirror);
}
}