static RepositoryIndexerImplementation findImplementation(RepositoryInfo repo) { Collection<? extends RepositoryIndexerImplementation> res = Lookup.getDefault().lookupAll(RepositoryIndexerImplementation.class); for (RepositoryIndexerImplementation impl : res) { if (impl.getType().equals(repo.getType())) { return impl; } } Logger.getLogger(RepositoryIndexer.class.getName()).info("Cannot find repository indexer type:" + repo.getType() + " for repository " + repo.getName()); return null; }
private static Collection<List<RepositoryInfo>> splitReposByType(RepositoryInfo[] repos) { if (repos == null || repos.length == 0) { repos = RepositoryPreferences.getInstance().getRepositoryInfos().toArray(new RepositoryInfo[0]); } Map<String, List<RepositoryInfo>> toRet = new HashMap<String, List<RepositoryInfo>>(); for (RepositoryInfo info : repos) { String type = info.getType(); List<RepositoryInfo> list = toRet.get(type); if (list == null) { list = new ArrayList<RepositoryInfo>(); toRet.put(type, list); } list.add(info); } return toRet.values(); }
public void modify(RepositoryInfo info) { modify = true; txtRepoId.setEditable(false); txtRepoId.setText(info.getId()); txtRepoName.setText(info.getName()); comType.setSelectedItem(info.getType()); if (info.isLocal()) { jraLocal.setSelected(true); txtRepoPath.setText(info.getRepositoryPath()); jraLocalActionPerformed(null); } else if (info.isRemoteDownloadable()) { jraRemote.setSelected(true); txtRepoUrl.setText(info.getRepositoryUrl()); txtIndexUrl.setText(info.getIndexUpdateUrl()); jraRemoteActionPerformed(null); } }
/** * * @param info */ public synchronized void addOrModifyRepositoryInfo(RepositoryInfo info) { Preferences pref = getPreferences(); pref.put(KEY_ID + "." + info.getId(), info.getId()); pref.put(KEY_TYPE + "." + info.getId(), info.getType()); pref.put(KEY_NAME + "." + info.getId(), info.getName()); if (info.getRepositoryPath() != null) { pref.put(KEY_PATH + "." + info.getId(), info.getRepositoryPath()); } else { pref.remove(KEY_PATH + "." + info.getId()); } if (info.getRepositoryUrl() != null) { pref.put(KEY_REPO_URL + "." + info.getId(), info.getRepositoryUrl()); } else { pref.remove(KEY_REPO_URL + "." + info.getId()); } if (info.getIndexUpdateUrl() != null) { pref.put(KEY_INDEX_URL + "." + info.getId(), info.getIndexUpdateUrl()); } else { pref.remove(KEY_INDEX_URL + "." + info.getId()); } pref.remove(KEY_REMOVED + "." + info.getId()); //todo fire repository added }