Bug 578360 - MarkerSupportView should allow custom open method for
markers

Makes the openSelectedMarkers method protected instead of package
private.

Updated java doc with @since annotation.

Added a new test MarkerSupportViewTest

Change-Id: Ie428a5e1c81aa3db293fc62f7bf12f4426aa2e06
Signed-off-by: Enda O Brien <E.OBrien@pilz.ie>
Reviewed-on: https://git.eclipse.org/r/c/platform/eclipse.platform.ui/+/189994
Tested-by: Platform Bot <platform-bot@eclipse.org>
Reviewed-by: Jörg Kubitz <jkubitz-eclipse@gmx.de>
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/ExtendedMarkersView.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/ExtendedMarkersView.java
index 65a5518..ee86669 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/ExtendedMarkersView.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/ExtendedMarkersView.java
@@ -1143,8 +1143,11 @@
 
 	/**
 	 * Open the selected markers
+	 *
+	 * @since 3.18
 	 */
-	void openSelectedMarkers() {
+
+	protected void openSelectedMarkers() {
 		IMarker[] markers = getOpenableMarkers();
 		for (IMarker marker : markers) {
 			IWorkbenchPage page = getSite().getPage();
diff --git a/tests/org.eclipse.ui.ide.application.tests/src/org/eclipse/ui/views/markers/MarkerSupportViewTest.java b/tests/org.eclipse.ui.ide.application.tests/src/org/eclipse/ui/views/markers/MarkerSupportViewTest.java
new file mode 100644
index 0000000..f68f2e0
--- /dev/null
+++ b/tests/org.eclipse.ui.ide.application.tests/src/org/eclipse/ui/views/markers/MarkerSupportViewTest.java
@@ -0,0 +1,21 @@
+package org.eclipse.ui.views.markers;
+
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+public class MarkerSupportViewTest {
+
+	@Test
+	public void canOverrideOpenSelectedMarkers() {
+		Boolean[] canOverride = new Boolean[] { false };
+		new MarkerSupportView("") {
+			@Override
+			protected void openSelectedMarkers() {
+				canOverride[0] = true;
+			}
+		}.openSelectedMarkers();
+
+		assertTrue(canOverride[0]);
+	}
+}