private void assignProxyAndMirrors() { Map<String, List<String>> map = new HashMap<String, List<String>>(); Map<String, RemoteRepository> naming = new HashMap<String, RemoteRepository>(); 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); } }
RemoteRepository mirrorRepository = mirrorSelector.getMirror( recessiveRepository );
RemoteRepository mirrorRepository = mirrorSelector.getMirror( recessiveRepository );
/** * if the repository has a mirror, then create a repositoryinfo object for it.. */ private RepositoryInfo getMirrorInfo(RepositoryInfo info, MirrorSelector selector, Settings settings) { RemoteRepository original = new RemoteRepository(info.getId(), /* XXX do we even support any other layout?*/"default", info.getRepositoryUrl()); RemoteRepository mirror = selector.getMirror(original); if (mirror != null) { try { String name = mirror.getId(); //#213078 need to lookup name for mirror for (Mirror m : settings.getMirrors()) { if (m.getId() != null && m.getId().equals(mirror.getId())) { name = m.getName(); break; } } RepositoryInfo toret = new RepositoryInfo(mirror.getId(), name, null, mirror.getUrl()); toret.setMirrorStrategy(RepositoryInfo.MirrorStrategy.NONE); return toret; } catch (URISyntaxException ex) { Exceptions.printStackTrace(ex); } } return null; }