Bug 136292 [Markers] problems view: NPE after delete
20060412-0010 Not sure if this is reproducable, but when I deleted a project, I got the following exception. The problem view was grouped by 'Type' at that moment. !ENTRY org.eclipse.ui.ide 4 4 2006-04-12 10:13:35.483 !MESSAGE Marker id: 4684521 not found. !STACK 1 org.eclipse.core.internal.resources.ResourceException: Marker id: 4684521 not found. at org.eclipse.core.internal.resources.Marker.checkInfo(Marker.java:56) at org.eclipse.core.internal.resources.Marker.getType(Marker.java:194) at org.eclipse.ui.views.markers.internal.Util.getMarkerTypeName(Util.java:380) at org.eclipse.ui.views.markers.internal.FieldCategory.getValue(FieldCategory.java:61) at org.eclipse.ui.views.markers.internal.FieldCategory.compare(FieldCategory.java:88) at org.eclipse.ui.views.markers.internal.CategorySorter.compare(CategorySorter.java:58) at org.eclipse.ui.views.markers.internal.CategorySorter.compare(CategorySorter.java:72) at org.eclipse.jface.viewers.ViewerComparator$1.compare(ViewerComparator.java:184) at java.util.Arrays.mergeSort(Arrays.java:1284) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1296) at java.util.Arrays.mergeSort(Arrays.java:1296) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1296) at java.util.Arrays.sort(Arrays.java:1223) at org.eclipse.jface.viewers.ViewerComparator.sort(ViewerComparator.java:182) at org.eclipse.ui.views.markers.internal.MarkerAdapter.buildAllMarkers(MarkerAdapter.java:251) at org.eclipse.ui.views.markers.internal.MarkerView.updateForContentsRefresh(MarkerView.java:544) at org.eclipse.ui.views.markers.internal.MarkerView$MarkerProcessJob.run(MarkerView.java:148) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58) !SUBENTRY 1 org.eclipse.core.resources 4 376 2006-04-12 10:13:35.483 !MESSAGE Marker id: 4684521 not found. !ENTRY org.eclipse.core.jobs 4 2 2006-04-12 10:13:35.573 !MESSAGE An internal error occurred during: "Process resource updates". !STACK 0 java.lang.NullPointerException at java.lang.String.compareTo(String.java) at org.eclipse.ui.views.markers.internal.FieldCategory.compare(FieldCategory.java:88) at org.eclipse.ui.views.markers.internal.CategorySorter.compare(CategorySorter.java:58) at org.eclipse.ui.views.markers.internal.CategorySorter.compare(CategorySorter.java:72) at org.eclipse.jface.viewers.ViewerComparator$1.compare(ViewerComparator.java:184) at java.util.Arrays.mergeSort(Arrays.java:1284) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1296) at java.util.Arrays.mergeSort(Arrays.java:1296) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1296) at java.util.Arrays.sort(Arrays.java:1223) at org.eclipse.jface.viewers.ViewerComparator.sort(ViewerComparator.java:182) at org.eclipse.ui.views.markers.internal.MarkerAdapter.buildAllMarkers(MarkerAdapter.java:251) at org.eclipse.ui.views.markers.internal.MarkerView.updateForContentsRefresh(MarkerView.java:544) at org.eclipse.ui.views.markers.internal.MarkerView$MarkerProcessJob.run(MarkerView.java:148) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Util.java
}
	/**
	 * Get the short name for the container
	 * 
	 * @param marker
	 * @return String
	 */
	public static String getShortContainerName(IMarker marker) {
		if (!marker.exists())
			return Util.EMPTY_STRING;
		try {
			Object pathAttribute = marker
					.getAttribute(MarkerViewUtil.PATH_ATTRIBUTE);
			if (pathAttribute != null) {
				return pathAttribute.toString();
			}
		} catch (CoreException exception) {
			
			log(exception);
		}
		IResource resource = marker.getResource();
		int type = resource.getType();
		
		if (type == IResource.PROJECT) {
			return resource.getName();
		}
		if (type == IResource.ROOT) {
			return MarkerMessages.Util_WorkspaceRoot;
		}
		String result = marker.getResource().getProjectRelativePath()