Bug 125200 Problem view: NPE after access on non existing attribute
I20060124-1115 Maybe you can consider this a bug of the extension point implementor, but when accessing an undefined attribute, an NPE is the result in the problem view: (marker.getMarker().getAttribute(markerAttribute) is null here) FieldMarkerGroup.findGroupValue(ConcreteMarker) line: 172 FieldMarkerGroup.getMapping(ConcreteMarker) line: 150 FieldMarkerGroup.compare(Object, Object) line: 201 CategorySorter.compare(Object, Object, int, boolean) line: 57 CategorySorter.compare(Viewer, Object, Object) line: 70 ViewerSorter$1.compare(Object, Object) line: 177 Arrays.mergeSort(Object[], Object[], int, int, int, Comparator) line: 1292 Arrays.mergeSort(Object[], Object[], int, int, int, Comparator) line: 1304 Arrays.mergeSort(Object[], Object[], int, int, int, Comparator) line: 1304 Arrays.mergeSort(Object[], Object[], int, int, int, Comparator) line: 1304 Arrays.mergeSort(Object[], Object[], int, int, int, Comparator) line: 1303 Arrays.sort(Object[], Comparator) line: 1233 CategorySorter(ViewerSorter).sort(Viewer, Object[]) line: 175 MarkerAdapter.buildAllMarkers(IProgressMonitor) line: 199 ProblemView(MarkerView).updateForContentsRefresh(IProgressMonitor) line: 525 MarkerView$MarkerProcessJob.run(IProgressMonitor) line: 172
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldMarkerGroup.java
}
	}
	private AttributeMapping undefinedMapping = new AttributeMapping(
			MarkerMessages.FieldCategory_Uncategorized, 100000);
	private String title;
	private String markerAttribute;
	private Map valueMapping = new HashMap();
	private Collection types;
	private boolean showing;
	/**
	 * Create a new instance of the receiver called name. attribute is the
	 * attribute to be checked and whose value is looked up in providers. Apply
	 * to markerTypes[].
	 * 
	 * @param name
	 * @param attribute
	 * @param markerTypes
	 */
	public FieldMarkerGroup(String name, String attribute, String[] markerTypes) {
		title = name;
		markerAttribute = attribute;
		types = new HashSet();
		MarkerTypesModel model = MarkerTypesModel.getInstance();
		for (int i = 0; i < markerTypes.length; i++) {
			MarkerType type = model.getType(markerTypes[i]);
			if (type != null) {
				types.add(markerTypes[i]);
				MarkerType[] subs = type.getAllSubTypes();
				for (int j = 0; j < subs.length; j++) {
					types.add(subs[j].getId());