hi,
im using your plugin with:
Version: 3.1.0
Build id: 200412070800
and this is the stack trace i get while trying to open a folder in explorer:
!ENTRY org.eclipse.ui 4 0 2004-12-08 10:46:58.303
!MESSAGE
!STACK 0
java.lang.IllegalArgumentException:
at org.eclipse.core.internal.runtime.Assert.isLegal(Assert.java:58)
at org.eclipse.core.internal.runtime.Assert.isLegal(Assert.java:42)
at org.eclipse.core.internal.jobs.JobManager.validateRule(JobManager.java:1050)
at org.eclipse.core.internal.jobs.JobManager.setRule(JobManager.java:913)
at org.eclipse.core.internal.jobs.InternalJob.setRule(InternalJob.java:450)
at org.eclipse.core.runtime.jobs.Job.setRule(Job.java:502)
at net.trajano.eclipse.platform.actions.AbstractOpenFolderAction3.run(AbstractOpenFolderAction3.java:39)
at net.trajano.eclipse.platform.actions.AbstractOpenFolderAction.run(AbstractOpenFolderAction.java:143)
at org.eclipse.ui.actions.ActionDelegate.runWithEvent(ActionDelegate.java:70)
at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:233)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:555)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:505)
at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:419)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:814)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2803)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2448)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1578)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1549)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:281)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:144)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:102)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:220)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129)
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.basicRun(Main.java:185)
at org.eclipse.core.launcher.Main.run(Main.java:710)
at org.eclipse.core.launcher.Main.main(Main.java:694)
This is because BackgroundFolderOpenSchedulingRule.contains(...) returns false. Instead it should return true if the tested rule is the same as 'this'.
Copied from eclipse documentation:
'[...] implementations must be reflexive (a.contains(a) is always true) [...]'
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
hi,
im using your plugin with:
Version: 3.1.0
Build id: 200412070800
and this is the stack trace i get while trying to open a folder in explorer:
!ENTRY org.eclipse.ui 4 0 2004-12-08 10:46:58.303
!MESSAGE
!STACK 0
java.lang.IllegalArgumentException:
at org.eclipse.core.internal.runtime.Assert.isLegal(Assert.java:58)
at org.eclipse.core.internal.runtime.Assert.isLegal(Assert.java:42)
at org.eclipse.core.internal.jobs.JobManager.validateRule(JobManager.java:1050)
at org.eclipse.core.internal.jobs.JobManager.setRule(JobManager.java:913)
at org.eclipse.core.internal.jobs.InternalJob.setRule(InternalJob.java:450)
at org.eclipse.core.runtime.jobs.Job.setRule(Job.java:502)
at net.trajano.eclipse.platform.actions.AbstractOpenFolderAction3.run(AbstractOpenFolderAction3.java:39)
at net.trajano.eclipse.platform.actions.AbstractOpenFolderAction.run(AbstractOpenFolderAction.java:143)
at org.eclipse.ui.actions.ActionDelegate.runWithEvent(ActionDelegate.java:70)
at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:233)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:555)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:505)
at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:419)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:814)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2803)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2448)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1578)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1549)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:281)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:144)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:102)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:220)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129)
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.basicRun(Main.java:185)
at org.eclipse.core.launcher.Main.run(Main.java:710)
at org.eclipse.core.launcher.Main.main(Main.java:694)
!ENTRY org.eclipse.ui 4 4 2004-12-08 10:47:16.143
!MESSAGE Unhandled event loop exception
I am getting a similar stack trace if i try to open a command prompt as well.
This is because BackgroundFolderOpenSchedulingRule.contains(...) returns false. Instead it should return true if the tested rule is the same as 'this'.
Copied from eclipse documentation:
'[...] implementations must be reflexive (a.contains(a) is always true) [...]'
fixed now