Bug 241849 [Markers] Need a property tester to test the marker type of a MarkerEntry
Build ID: I20080617-2000 Steps To Reproduce: There is no property tester defined in org.eclipse.ui.ide for testing the marker type of a MarkerEntry in a marker view. Such a tester would be very useful for clients who are trying to add popup menu items to a marker view. I could define a property tester in my own plug-in for testing the marker type, but then I run in to plug-in activation issues. It would be better for the tester to be defined in a lower-level plug-in. More information: In 3.4, the marker views no longer support using object contributions to add to the popup menu. This means that existing object contributions need to be migrated to the command/handler infrastructure. However, with object contributions, it was possible to control visibility and enablement using the filters defined in IMarkerActionFilter. The command/handler infrastructure uses property testers to accomplish this sort of filtering instead; it would be nice for the platform to define property testers equivalent to these filters to make migration easier.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchMarker.java
return testIntegerAttribute(marker, IMarker.SEVERITY, value);
        } else if (name.equals(MESSAGE)) {
            try {
                String msg = (String) marker.getAttribute(IMarker.MESSAGE);
                if (msg == null) {
					return false;
				}
                return SimpleWildcardTester.testWildcardIgnoreCase(value, msg);
            } catch (CoreException e) {
                return false;
            }
        } else if (name.equals(DONE)) {
            try {
                value = value.toLowerCase();
                Boolean done = (Boolean) marker.getAttribute(IMarker.DONE);
                if (done == null) {
					return false;
				}
                return (done.booleanValue() == value.equals("true"));
            } catch (CoreException e) {
                return false;
            }
        } else if (name.equals(RESOURCE_TYPE)) {
            int desiredType = 0;
            try {
                desiredType = Integer.parseInt(value);
            } catch (NumberFormatException eNumberFormat) {
            }
            if (!(desiredType == IResource.FILE
                    || desiredType == IResource.FOLDER