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); } }
public RepositoryInfo getRepositoryInfo(){ RepositoryInfo info=new RepositoryInfo(txtRepoId.getText().trim(), (String)comType.getSelectedItem(), txtRepoName.getText().trim(), jraLocal.isSelected() ? txtRepoPath.getText().trim() : null, jraRemote.isSelected() ? txtRepoUrl.getText().trim() : null, jraRemote.isSelected() ? txtIndexUrl.getText().trim() : null); return info; }
public RepositoryInfo(String id, String type, String name, String repositoryPath, String repositoryUrl, String indexUpdateUrl) { this.id = id; this.type = type; this.name = name; this.repositoryPath = repositoryPath; this.repositoryUrl = repositoryUrl; this.indexUpdateUrl = indexUpdateUrl; assert (isLocal() == true && isRemoteDownloadable() == true) != true : "XXXCannot have both local and remote index fields filled in."; //NOI18N }
private void loadIndexingContext(final RepositoryInfo... repoids) throws IOException, UnsupportedExistingLuceneIndexException { assert MUTEX.isWriteAccess(); for (RepositoryInfo info : repoids) { LOGGER.finer("Loading Context :" + info.getId());//NOI18N if (info.isLocal() || info.isRemoteDownloadable()) { indexer.addIndexingContext( // info.getId(), // context id info.getId(), // repository id info.isLocal() ? new File(info.getRepositoryPath()) : null, // repository folder new File(getDefaultIndexLocation(), info.getId()), // index folder info.isRemoteDownloadable() ? info.getRepositoryUrl() : null, // repositoryUrl info.isRemoteDownloadable() ? info.getIndexUpdateUrl() : null, // index update url NB_INDEX); } } }
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; }
/** * * @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 }
@Override public String getShortDescription() { StringBuffer buffer = new StringBuffer(); buffer.append("<html>");//NOI18N buffer.append(NbBundle.getMessage(RepositoryNode.class, "LBL_REPO_ID", info.getId()));//NOI18N buffer.append(NbBundle.getMessage(RepositoryNode.class, "LBL_REPO_Name", info.getName()));//NOI18N //show repo url if available if (info.getRepositoryUrl() != null) { buffer.append(NbBundle.getMessage(RepositoryNode.class, "LBL_REPO_Url", info.getRepositoryUrl()));//NOI18N } //show index url if available if (info.getIndexUpdateUrl() != null) { buffer.append(NbBundle.getMessage(RepositoryNode.class, "LBL_REPO_Index_Url", info.getIndexUpdateUrl()));//NOI18N } buffer.append("</html>");//NOI18N return buffer.toString(); }
if (info != null && (info.isLocal() || info.isRemoteDownloadable())) { btnOK.setEnabled(false); lblValidate.setText(NbBundle.getMessage(RepositoryRegisterUI.class, "LBL_Repo_id_Error2")); return; } else if (info != null) { txtRepoUrl.setText(info.getRepositoryUrl()); txtRepoName.setText(info.getName()); jraRemote.setSelected(true); selectRemoteRepo(false);
for (final RepositoryInfo ri : ris) { if (!ri.isRemoteDownloadable() && !ri.isLocal()) { continue; boolean run = false; if (freq == RepositoryPreferences.FREQ_STARTUP) { LOGGER.finer("Index At Startup :"+ri.getId());//NOI18N run = true; } else if (freq == RepositoryPreferences.FREQ_ONCE_DAY && checkDiff(ri.getId(),86400000L)) { LOGGER.finer("Index Once a Day :"+ri.getId());//NOI18N run = true; } else if (freq == RepositoryPreferences.FREQ_ONCE_WEEK && checkDiff(ri.getId(),604800000L)) { LOGGER.finer("Index once a Week :"+ri.getId());//NOI18N run = true;
private List<String> getRepoIds() { List<String> repos = new ArrayList<String>(); List<RepositoryInfo> ris = RepositoryPreferences.getInstance().getRepositoryInfos(); for (RepositoryInfo ri : ris) { if (ri.getRepositoryUrl() != null) { repos.add(ri.getRepositoryUrl()); } } return repos; }
public List<Archetype> getArchetypes() { List<Archetype> lst = new ArrayList<Archetype>(); List<RepositoryInfo> infos = RepositoryPreferences.getInstance().getRepositoryInfos(); for (RepositoryInfo info : infos) { if (RepositoryPreferences.LOCAL_REPO_ID.equals(info.getId())) { continue; } List<NBVersionInfo> archs = RepositoryQueries.findArchetypes(info); if (archs == null) { continue; } for (NBVersionInfo art : archs) { //TODO FINDout how to get contain matadata // boolean ng = artifact.getFiles().contains("META-INF/maven/archetype-metadata.xml"); Archetype arch = ("maven-archetype".equalsIgnoreCase(art.getPackaging())) ? //NOI18N new Archetype(true, true) : new Archetype(); arch.setArtifactId(art.getArtifactId()); arch.setGroupId(art.getGroupId()); arch.setVersion(art.getVersion()); arch.setName(art.getProjectName()); arch.setDescription(art.getProjectDescription()); arch.setRepository(info.getRepositoryUrl()); lst.add(arch); } } return lst; } }
IndexingContext indexingContext = indexingContexts.get(repo.getId()); if (indexingContext == null) { LOGGER.warning("Indexing context chould not be created :"+repo.getId());//NOI18N return null; if (repo.isRemoteDownloadable()) { LOGGER.finer("Indexing Remote Repository :"+repo.getId());//NOI18N RemoteIndexTransferListener listener = new RemoteIndexTransferListener(repo); try { LOGGER.finer("Indexing Local Repository :"+repo.getId());//NOI18N indexer.scan(indexingContext, new RepositoryIndexerListener(indexer, indexingContext, false), true); unloadIndexingContext(repo); RepositoryPreferences.getInstance().setLastIndexUpdate(repo.getId(), new Date()); fireChangeIndex();
try { Map<String, IndexingContext> indexingContexts = indexer.getIndexingContexts(); IndexingContext indexingContext = indexingContexts.get(repo.getId()); if (indexingContext == null) { LOGGER.warning("Indexing context chould not be created :"+repo.getId());//NOI18N return null; } else { absolutePath = repo.getRepositoryPath() + File.separator + repository.pathOf(artifact);
public void removeRepositoryInfo(RepositoryInfo info) { if (getRepositoryInfoById(info.getId()) != null) { Preferences pref = getPreferences(); pref.remove(KEY_ID + "." + info.getId()); pref.remove(KEY_TYPE + "." + info.getId()); pref.remove(KEY_NAME + "." + info.getId()); pref.remove(KEY_PATH + "." + info.getId()); pref.remove(KEY_REPO_URL + "." + info.getId()); pref.remove(KEY_INDEX_URL + "." + info.getId()); pref.putBoolean(KEY_REMOVED + "." + info.getId(), true); } }
@Override public Image getIcon(int arg0) { if (info.isRemoteDownloadable()) { return Utilities.loadImage("org/codehaus/mevenide/repository/remoterepo.png", true); //NOI18N } return Utilities.loadImage("org/codehaus/mevenide/repository/localrepo.png", true); //NOI18N }
public RemoteIndexTransferListener(RepositoryInfo info) { this.info = info; if (debug) { io = IOProvider.getDefault().getIO(NbBundle.getMessage(RemoteIndexTransferListener.class, "LBL_Transfer_TAG")//NII18N + (info.getName()), true); writer = io.getOut(); } }
@Override public boolean canDestroy() { return !info.isLocal(); }
public void run() { if (ri.getIndexUpdateUrl() != null) { RepositoryIndexer.indexRepo(ri); } } }, MILIS_IN_MIN * 2);
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(); }