/** * Returns whether the specified marker delta should be filter out * or not. * * @param markerDelta the marker delta to test * @return * true=the marker delta should not be filtered out * false=the marker delta should be filtered out */ private boolean selectByWorkingSet(IMarkerDelta markerDelta) { if (workingSet == null || onResource != ON_WORKING_SET) { return true; } IResource resource = markerDelta.getResource(); if (resource != null) { return isEnclosed(resource); } return false; }
public void resourceChanged(IResourceChangeEvent event) { Set<IResource> resources = new HashSet<IResource>(); IMarkerDelta[] markerDeltas = event.findMarkerDeltas(IMarker.PROBLEM, true); for (IMarkerDelta delta : markerDeltas) resources.add(delta.getResource()); if (!resources.isEmpty()) updateLabels(resources); }
public void resourceChanged(final IResourceChangeEvent event) { String[] markerTypes = getMarkerTypes(); Set handledResources = new HashSet(); Set changes = new HashSet(); // Accumulate all distinct resources that have had problem marker // changes for (int idx = 0; idx < markerTypes.length; idx++) { IMarkerDelta[] markerDeltas = event.findMarkerDeltas(markerTypes[idx], true); for (int i = 0; i < markerDeltas.length; i++) { IMarkerDelta delta = markerDeltas[i]; IResource resource = delta.getResource(); if (!handledResources.contains(resource)) { handledResources.add(resource); ISynchronizeModelElement[] elements = provider.getClosestExistingParents(delta.getResource()); if(elements != null && elements.length > 0) { for (int j = 0; j < elements.length; j++) { ISynchronizeModelElement element = elements[j]; changes.add(element); } } } } } if (!changes.isEmpty()) { updateMarkersFor((ISynchronizeModelElement[]) changes.toArray(new ISynchronizeModelElement[changes.size()])); } }
@Override public void resourceChanged(final IResourceChangeEvent event) { String[] markerTypes = getMarkerTypes(); Set<IResource> handledResources = new HashSet<>(); Set<ISynchronizeModelElement> changes = new HashSet<>(); // Accumulate all distinct resources that have had problem marker // changes for (int idx = 0; idx < markerTypes.length; idx++) { IMarkerDelta[] markerDeltas = event.findMarkerDeltas(markerTypes[idx], true); for (int i = 0; i < markerDeltas.length; i++) { IMarkerDelta delta = markerDeltas[i]; IResource resource = delta.getResource(); if (!handledResources.contains(resource)) { handledResources.add(resource); ISynchronizeModelElement[] elements = provider.getClosestExistingParents(delta.getResource()); if(elements != null && elements.length > 0) { for (int j = 0; j < elements.length; j++) { ISynchronizeModelElement element = elements[j]; changes.add(element); } } } } } if (!changes.isEmpty()) { updateMarkersFor(changes.toArray(new ISynchronizeModelElement[changes.size()])); } }
public void resourceChanged(IResourceChangeEvent event) { String[] markerTypes = new String[] {IMarker.PROBLEM}; final Set handledResources = new HashSet(); // Accumulate all distinct resources that have had problem marker // changes for (int idx = 0; idx < markerTypes.length; idx++) { IMarkerDelta[] markerDeltas = event.findMarkerDeltas(markerTypes[idx], true); for (int i = 0; i < markerDeltas.length; i++) { IMarkerDelta delta = markerDeltas[i]; IResource resource = delta.getResource(); while (resource != null && resource.getType() != IResource.ROOT && !handledResources.contains(resource)) { handledResources.add(resource); resource = resource.getParent(); } } } if (!handledResources.isEmpty()) { final IResource[] resources = (IResource[]) handledResources.toArray(new IResource[handledResources.size()]); updateLabels(resources); } }
@Override public void resourceChanged(IResourceChangeEvent event) { String[] markerTypes = new String[] {IMarker.PROBLEM}; final Set<IResource> handledResources = new HashSet<>(); // Accumulate all distinct resources that have had problem marker // changes for (int idx = 0; idx < markerTypes.length; idx++) { IMarkerDelta[] markerDeltas = event.findMarkerDeltas(markerTypes[idx], true); for (int i = 0; i < markerDeltas.length; i++) { IMarkerDelta delta = markerDeltas[i]; IResource resource = delta.getResource(); while (resource != null && resource.getType() != IResource.ROOT && !handledResources.contains(resource)) { handledResources.add(resource); resource = resource.getParent(); } } } if (!handledResources.isEmpty()) { final IResource[] resources = handledResources.toArray(new IResource[handledResources.size()]); updateLabels(resources); } }
@Override public String getPath() { String folder = getAttributeValue(MarkerViewUtil.PATH_ATTRIBUTE, null); if (folder != null) { return folder; } IPath path = markerDelta.getResource().getFullPath(); int n = path.segmentCount() - 1; // n is the number of segments // in container, not path if (n <= 0) { return super.getPath(); } folder = path.removeLastSegments(1).removeTrailingSeparator() .toString(); getCache().put(MarkerViewUtil.PATH_ATTRIBUTE, folder); return folder; }
return false; dirtyResources.add(markerDelta.getResource());
IResource resource = markerDelta.getResource();