- labels: --> eclipse
- summary: ClassCastException at ProjectRecord.addToJavaProject --> [eclipse] ClassCastException at ProjectRecord.addToJavaProject
- Milestone: New Tickets --> Eclipse-Plugin
Hi, I just somehow hit the CCE shown below.. perhaps you'd like to harden the code?
Exception:java.lang.ClassCastException: org.eclipse.jdt.internal.core.JavaProject cannot be cast to org.eclipse.jdt.core.IPackageFragment
at net.sourceforge.pmd.eclipse.ui.model.ProjectRecord.addToJavaProject(ProjectRecord.java:405)
at net.sourceforge.pmd.eclipse.ui.model.ProjectRecord.addResource(ProjectRecord.java:286)
at net.sourceforge.pmd.eclipse.ui.views.ChangeEvaluator.searchProjectForModifications(ChangeEvaluator.java:182)
at net.sourceforge.pmd.eclipse.ui.views.ChangeEvaluator.updateFiles(ChangeEvaluator.java:121)
at net.sourceforge.pmd.eclipse.ui.views.ChangeEvaluator.changeRecordFor(ChangeEvaluator.java:81)
at net.sourceforge.pmd.eclipse.ui.views.ViolationOverviewContentProvider.resourceChanged(ViolationOverviewContentProvider.java:330)
at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:299)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:289)
at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:152)
at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:374)
at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1469)
at org.eclipse.core.internal.resources.Resource.deleteMarkers(Resource.java:828)
at net.sourceforge.pmd.eclipse.runtime.builder.MarkerUtil.deleteMarkersIn(MarkerUtil.java:210)
at net.sourceforge.pmd.eclipse.runtime.builder.MarkerUtil.deleteAllMarkersIn(MarkerUtil.java:201)
at net.sourceforge.pmd.eclipse.runtime.builder.PMDNature.removePMDNature(PMDNature.java:118)
at net.sourceforge.pmd.eclipse.runtime.properties.impl.ProjectPropertiesManagerImpl.storeProjectProperties(ProjectPropertiesManagerImpl.java:141)
at net.sourceforge.pmd.eclipse.runtime.properties.impl.ProjectPropertiesImpl.sync(ProjectPropertiesImpl.java:378)
at net.sourceforge.pmd.eclipse.ui.properties.UpdateProjectPropertiesCmd.execute(UpdateProjectPropertiesCmd.java:93)
at name.herlin.command.DefaultCommandProcessor.processCommand(DefaultCommandProcessor.java:47)
at name.herlin.command.AbstractProcessableCommand.performExecute(AbstractProcessableCommand.java:62)
at net.sourceforge.pmd.eclipse.ui.properties.PMDPropertyPageController.performOk(PMDPropertyPageController.java:161)
at net.sourceforge.pmd.eclipse.ui.properties.PMDProjectPropertyPage.performOk(PMDProjectPropertyPage.java:549)
at org.eclipse.jface.preference.PreferenceDialog$8.run(PreferenceDialog.java:905)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
at org.eclipse.jface.preference.PreferenceDialog.okPressed(PreferenceDialog.java:889)
at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.okPressed(FilteredPreferenceDialog.java:409)
at org.eclipse.jface.preference.PreferenceDialog.buttonPressed(PreferenceDialog.java:230)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:618)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:249)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5219)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1340)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4553)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4143)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:818)
at org.eclipse.jface.window.Window.open(Window.java:794)
at org.eclipse.ui.dialogs.PropertyDialogAction.run(PropertyDialogAction.java:157)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:473)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:565)
at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:397)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5219)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1340)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4553)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4143)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1121)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1022)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:150)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:687)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:604)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:138)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
at org.eclipse.equinox.launcher.Main.run(Main.java:1519)
at org.eclipse.equinox.launcher.Main.main(Main.java:1492)