@Override public boolean isSubFilter(ItemsFilter filter) { if (!super.isSubFilter(filter)) return false; if (filter instanceof ResourceFilter) { ResourceFilter resourceFilter = (ResourceFilter) filter; if (this.showDerived == resourceFilter.showDerived) { if (containerPattern == null) { return resourceFilter.containerPattern == null; } else if (resourceFilter.containerPattern == null) { return false; } else { return containerPattern.equals(resourceFilter.containerPattern); } } } return false; }
@Override public boolean equalsFilter(ItemsFilter iFilter) { if (!super.equalsFilter(iFilter)) return false; if (iFilter instanceof ResourceFilter) { ResourceFilter resourceFilter = (ResourceFilter) iFilter; if (this.showDerived == resourceFilter.showDerived) { if (containerPattern == null) { return resourceFilter.containerPattern == null; } else if (resourceFilter.containerPattern == null) { return false; } else { return containerPattern.equals(resourceFilter.containerPattern); } } } return false; }
if (filter != null && filter.getPattern().equals(getElementName(item))) { if (isHistoryElement(item)) { preparedElements.add(0, item);
String typePattern= itemsFilter.getPattern(); int matchRule= typeSearchFilter.getMatchRule(); if (matchRule == SearchPattern.RULE_CAMELCASE_MATCH) {
&& lastCompletedFilter.isSubFilter(this.itemsFilter)) {
protected void fillContentProvider(AbstractContentProvider contentProvider, ItemsFilter itemsFilter, IProgressMonitor progressMonitor) throws CoreException { String pattern = itemsFilter.getPattern(); Repository[] repositories = getRepositories(); progressMonitor.beginTask(UIText.CommitSelectionDialog_TaskSearching, repositories.length); for (Repository repository : repositories) { try { ObjectId commitId; if (ObjectId.isId(pattern)) commitId = ObjectId.fromString(pattern); else commitId = repository.resolve(itemsFilter.getPattern()); if (commitId != null) { RevWalk walk = new RevWalk(repository); walk.setRetainBody(true); RevCommit commit = walk.parseCommit(commitId); contentProvider.add( new RepositoryCommit(repository, commit), itemsFilter); } } catch (RevisionSyntaxException ignored) { // Ignore and advance } catch (IOException ignored) { // Ignore and advance } progressMonitor.worked(1); } }
/** * Add all history items to <code>contentProvider</code>. * * @param itemsFilter */ public void addHistoryItems(ItemsFilter itemsFilter) { if (this.selectionHistory != null) { Object[] items = this.selectionHistory.getHistoryItems(); for (Object item : items) { if (itemsFilter == filter) { if (itemsFilter != null) { if (itemsFilter.matchItem(item)) { if (itemsFilter.isConsistentItem(item)) { this.items.add(item); } else { this.selectionHistory.remove(item); } } } } } } }
/** * Removes items from history and refreshes the view. * * @param item * to remove * * @return removed item */ public Object removeHistoryElement(Object item) { if (this.selectionHistory != null) this.selectionHistory.remove(item); if (filter == null || filter.getPattern().length() == 0) { items.remove(item); duplicates.remove(item); this.lastSortedItems.remove(item); } synchronized (lastSortedItems) { Collections.sort(lastSortedItems, getHistoryComparator()); } return item; }
/** * Adds item to history and refresh view. * * @param item * to add */ public void addHistoryElement(Object item) { if (this.selectionHistory != null) this.selectionHistory.accessed(item); if (filter == null || !filter.matchItem(item)) { this.items.remove(item); this.duplicates.remove(item); this.lastSortedItems.remove(item); } synchronized (lastSortedItems) { Collections.sort(lastSortedItems, getHistoryComparator()); } this.refresh(); }
/** * Adds filtered item. * * @param item * @param itemsFilter */ @Override public void add(Object item, ItemsFilter itemsFilter) { if (itemsFilter == filter) { if (itemsFilter != null) { if (itemsFilter.matchItem(item)) { this.items.add(item); } } else { this.items.add(item); } } }
/** * Main method for the job. * * @param monitor * @throws CoreException */ private void internalRun(GranualProgressMonitor monitor) throws CoreException { try { if (monitor.isCanceled()) return; this.itemsFilter = filter; if (filter.getPattern().length() != 0) { filterContent(monitor); } if (monitor.isCanceled()) return; contentProvider.refresh(); } finally { monitor.done(); } }
/** * Applies the filter created by <code>createFilter()</code> method to the * items list. When new filter is different than previous one it will cause * refiltering. */ protected void applyFilter() { ItemsFilter newFilter = createFilter(); // don't apply filtering for patterns which mean the same, for example: // *a**b and ***a*b if (filter != null && filter.equalsFilter(newFilter)) { return; } filterHistoryJob.cancel(); filterJob.cancel(); this.filter = newFilter; if (this.filter != null) { filterHistoryJob.schedule(); } }
public boolean isSubFilter(ItemsFilter filter) { if (!super.isSubFilter(filter)) return false; TypeItemsFilter typeItemsFilter= (TypeItemsFilter) filter; if (fScope != typeItemsFilter.getSearchScope()) return false; if (fMyTypeFilterVersion != typeItemsFilter.getMyTypeFilterVersion()) return false; String packagePattern= getPackagePattern(); String filterPackagePattern= typeItemsFilter.getPackagePattern(); if (filterPackagePattern == null) return packagePattern == null; else if (packagePattern == null) return true; else return filterPackagePattern.startsWith(packagePattern) && filterPackagePattern.indexOf('.', packagePattern.length()) == -1; }
public boolean equalsFilter(ItemsFilter iFilter) { if (!super.equalsFilter(iFilter)) return false; if (!(iFilter instanceof TypeItemsFilter)) return false; TypeItemsFilter typeItemsFilter= (TypeItemsFilter) iFilter; if (fScope != typeItemsFilter.getSearchScope()) return false; if (fMyTypeFilterVersion != typeItemsFilter.getMyTypeFilterVersion()) return false; String packagePattern= getPackagePattern(); String filterPackagePattern= typeItemsFilter.getPackagePattern(); if (packagePattern == null) return filterPackagePattern == null; else return packagePattern.equals(filterPackagePattern); }
HistoryComparator(){ itemsComparator = getItemsComparator(); if (currentlyCompletingFilter != null) { filterPattern = currentlyCompletingFilter.getPattern(); } else { filterPattern = null; } }
@Override public boolean isSubFilter(ItemsFilter filter) { if (latest != ((IUItemsFilter) filter).latest) return false; return super.isSubFilter(filter); }
/** * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#fillContentProvider(org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.AbstractContentProvider, org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.ItemsFilter, org.eclipse.core.runtime.IProgressMonitor) */ protected void fillContentProvider(AbstractContentProvider contentProvider, ItemsFilter itemsFilter, IProgressMonitor progressMonitor) throws CoreException { if(fTypes != null && fTypes.length > 0) { for(int i = 0; i < fTypes.length; i++) { if(itemsFilter.isConsistentItem(fTypes[i])) { contentProvider.add(fTypes[i], itemsFilter); } } } }
@Override protected IStatus run(IProgressMonitor monitor) { this.itemsFilter = filter; contentProvider.reset(); refreshWithLastSelection = false; contentProvider.addHistoryItems(itemsFilter); if (!(lastCompletedFilter != null && lastCompletedFilter .isSubFilter(this.itemsFilter))) contentProvider.refresh(); filterJob.schedule(); return Status.OK_STATUS; }