Community
Participate
Working Groups
Build ID: I20090313-0100 Steps To Reproduce: I opened Plug-in Dependencies View and started typing to filter something. I've got following status: An internal error has occurred. org.eclipse.pde.internal.ui.views.dependencies.StateViewPage$StateLabelProvider cannot be cast to org.eclipse.jface.viewers.ILabelProvider Error log contained following stack trace: java.lang.ClassCastException: org.eclipse.pde.internal.ui.views.dependencies.StateViewPage$StateLabelProvider cannot be cast to org.eclipse.jface.viewers.ILabelProvider at org.eclipse.ui.dialogs.PatternFilter.isLeafMatch(PatternFilter.java:274) at org.eclipse.ui.dialogs.PatternFilter.isElementVisible(PatternFilter.java:239) at org.eclipse.ui.dialogs.PatternFilter.select(PatternFilter.java:145) at org.eclipse.jface.viewers.ViewerFilter.filter(ViewerFilter.java:51) at org.eclipse.ui.dialogs.PatternFilter.filter(PatternFilter.java:86) at org.eclipse.jface.viewers.AbstractTreeViewer.getFilteredChildren(AbstractTreeViewer.java:640) at org.eclipse.jface.viewers.AbstractTreeViewer.getSortedChildren(AbstractTreeViewer.java:602) at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:799) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:776) at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:639) at org.eclipse.jface.viewers.AbstractTreeViewer.internalInitializeTree(AbstractTreeViewer.java:1490) at org.eclipse.jface.viewers.TreeViewer.internalInitializeTree(TreeViewer.java:828) at org.eclipse.jface.viewers.AbstractTreeViewer$5.run(AbstractTreeViewer.java:1474) at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1392) at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:402) at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1353) at org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged(AbstractTreeViewer.java:1467) at org.eclipse.ui.dialogs.FilteredTree$NotifyingTreeViewer.inputChanged(FilteredTree.java:1184) at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:274) at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1634) at org.eclipse.pde.internal.ui.views.dependencies.StateViewPage.setActive(StateViewPage.java:322) at org.eclipse.pde.internal.ui.views.dependencies.DependenciesView.showPageRec(DependenciesView.java:576) at org.eclipse.ui.part.PageBookView.partActivated(PageBookView.java:748) at org.eclipse.pde.internal.ui.views.dependencies.DependenciesView.enableStateView(DependenciesView.java:681) at org.eclipse.pde.internal.ui.views.dependencies.DependenciesView$ShowStateAction.run(DependenciesView.java:191) at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501) at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:452) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3880) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3473) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2393) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2357) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2209) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:499) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:492) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:556) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:511) at org.eclipse.equinox.launcher.Main.run(Main.java:1284) More information: reproducible every time, fresh eclipse-3.5M6
Created attachment 129265 [details] patch FilteredTree can't guess which string it must base its filtering on if the label provider doesn't provide a gettext method... :) Here is a proposed patch, where the text returned by getText() corresponds to the "main" part of the styled label... One may want to also be able to filter on other "secondary elements" (e.g. " - supplied by the JRE" for all the import resolved against JRE packages, "c:\*.jar" for all the plug-ins of the target living somewhere under c:\... , etc...). If this is what you guys find more logical, I can propose an updated patch!
done. > 20090318 I'm happy with the way things are now.