@Override public synchronized void addFiltersFor(IApiProblem[] problems) { if (problems == null) { if (ApiPlugin.DEBUG_FILTER_STORE) { System.out.println("null problems array: not addding filters"); //$NON-NLS-1$ } return; } if (problems.length < 1) { if (ApiPlugin.DEBUG_FILTER_STORE) { System.out.println("empty problem array: not addding filters"); //$NON-NLS-1$ } return; } initializeApiFilters(); internalAddFilters(problems, null); persistApiFilters(); }
@Override protected IApiFilterStore createApiFilterStore() throws CoreException { long time = System.currentTimeMillis(); IApiFilterStore store = new ApiFilterStore(getJavaProject()); if (ApiPlugin.DEBUG_PROJECT_COMPONENT) { System.out.println("Time to create api filter store for: [" + fProject.getElementName() + "] " + (System.currentTimeMillis() - time) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } return store; }
@Override public void dispose() { // if the store is about to be disposed and has pending changes save // them asynchronously // https://bugs.eclipse.org/bugs/show_bug.cgi?id=299319 persistApiFilters(); clearFilters(); if (fUnusedFilters != null) { fUnusedFilters.clear(); fUnusedFilters = null; } ResourcesPlugin.getWorkspace().removeResourceChangeListener(this); }
@Override public synchronized boolean isFiltered(IApiProblem problem) { initializeApiFilters(); String resourcePath = problem.getResourcePath(); if (resourcePath == null) { IApiProblemFilter[] filters = this.getFilters(resource); if (filters == null) { if (ApiPlugin.DEBUG_FILTER_STORE) { if (problemsMatch(filter.getUnderlyingProblem(), problem)) { if (ApiPlugin.DEBUG_FILTER_STORE) { System.out.println("recording filter used: [" + filter.toString() + "]"); //$NON-NLS-1$ //$NON-NLS-2$ recordFilterUsed(resource, filter); return true;
} else if (fEditSet.size() > 0) { ApiFilterStore store = (ApiFilterStore) getFilterStore(); store.needsSaving(); store.persistApiFilters();
initializeApiFilters(); for (IApiProblemFilter filter : filters) { IApiProblem problem = filter.getUnderlyingProblem(); persistApiFilters();
persistApiFilters(); return success;
IPath path = getFilterFilePath(true); IResourceDelta leafdelta = event.getDelta().findMember(path); if (leafdelta == null) { if (file.isAccessible()) { try { clearFilters(); initializeApiFilters(); } finally { needsbuild = fProject.getProject().isAccessible();
String xml = getStoreAsXml(filters); IFile file = project.getFile(getFilterFilePath(false)); if (xml == null) { if (ApiPlugin.DEBUG_FILTER_STORE) { String lineDelimiter = getLineDelimiterPreference(file); if (lineDelimiter == null) {
IPath filepath = getFilterFilePath(true); IResource file = ResourcesPlugin.getWorkspace().getRoot().findMember(filepath, true); if (file == null) { if (filterFile.exists()) { contents = filterFile.getContents(); readFilterFile(contents);
collectFilterFor(set, typeName, unused, categories); collectFilterFor(set, typeName, unused, categories);
} else if(fEditSet.size() > 0) { ApiFilterStore store = (ApiFilterStore) getFilterStore(); store.needsSaving(); store.persistApiFilters();