Bug 114541 [Markers] ClassCastException selecting element in problems tree
20051101 When you select the first element in a tree in the problems view hierarchal mode you get the following exception: !ENTRY org.eclipse.jface 4 2 2005-11-01 10:31:42.843 !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface". !STACK 0 java.lang.ClassCastException at org.eclipse.ui.views.markers.internal.MarkerSelectionProviderAction.getSelectedMarker(MarkerSelectionProviderAction.java:59) at org.eclipse.ui.views.markers.internal.ActionOpenMarker.run(ActionOpenMarker.java:59) at org.eclipse.ui.views.markers.internal.MarkerView.handleOpenEvent(MarkerView.java:809) at org.eclipse.ui.views.markers.internal.TableView$2.open(TableView.java:165) at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:741) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044) at org.eclipse.core.runtime.Platform.run(Platform.java:783) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:148) at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:739) at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:968) at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1067) at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:243) at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:238) at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:277) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at o rg.eclipse.swt.widgets.Widget.sendEvent(Widget.java:896) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3236) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2856) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1774) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1738) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:376) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:106) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:165) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:338) at org.eclipse.core.launcher.Main.basicRun(Main.java:282) at org.eclipse.core.launcher.Main.run(Main.java:977)
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerView.java
if (marker != null)
						selectionList
								.add(getCurrentMarkers().getMarker(marker));
				}
			} catch (CoreException e) {
			}
		}
		return new StructuredSelection(selectionList);
	}
	protected abstract String[] getRootTypes();
	/**
	 * @param part
	 * @param selection
	 */
	protected void focusSelectionChanged(IWorkbenchPart part,
			ISelection selection) {
		List selectedElements = new ArrayList();
		if (part instanceof IEditorPart) {
			IEditorPart editor = (IEditorPart) part;
			IFile file = ResourceUtil.getFile(editor.getEditorInput());
			if (file == null) {
				IEditorInput editorInput = editor.getEditorInput();
				if (editorInput != null) {
					Object mapping = editorInput
							.getAdapter(ResourceMapping.class);
					if (mapping != null)
						selectedElements.add(mapping);
				}
			} else {
				selectedElements.add(file);