Menu

#787 CoreException: No property tester contributes a property raised repeatedly for EMF editors

3.6
closed-fixed
None
1
2021-03-03
2020-11-20
Colin Snook
No

When using emf editors other than the Event-B one, many exceptions are repeatedly generated because org.eventb.ui.property.isEditable is not available.

There seems to be a bug in org.eventb.ui plugin.xml as the property tester "org.eventb.ui.isEditableTester" does not match all IEditorInput.

This following was suggested by Son...
Changing the type field in the property tester "org.eventb.ui.isEditableTester"
from "org.eclipse.ui.part.FileEditorInput"
to "org.eclipse.ui.IEditorInput"
seems to fix the problem as the property tester then runs and returns false when the input is not a FileEditorInput.

org.eclipse.core.runtime.CoreException: No property tester contributes a property org.eventb.ui.property.isEditable to type class org.eclipse.emf.common.ui.URIEditorInput
at org.eclipse.core.internal.expressions.TypeExtensionManager.getProperty(TypeExtensionManager.java:130)
at org.eclipse.core.internal.expressions.TestExpression.evaluate(TestExpression.java:100)
at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:55)
at org.eclipse.core.internal.expressions.WithExpression.evaluate(WithExpression.java:81)
at org.eclipse.core.internal.expressions.ReferenceExpression.evaluate(ReferenceExpression.java:74)
at org.eclipse.ui.internal.services.EvaluationReference.evaluate(EvaluationReference.java:74)
at org.eclipse.ui.internal.services.EvaluationReference.evaluate(EvaluationReference.java:100)
at org.eclipse.ui.internal.services.EvaluationReference.changed(EvaluationReference.java:94)
at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:108)
at org.eclipse.e4.core.internal.contexts.EclipseContext.processScheduled(EclipseContext.java:364)
at org.eclipse.e4.core.internal.contexts.EclipseContext.set(EclipseContext.java:379)
at org.eclipse.ui.internal.services.EvaluationService$1.changed(EvaluationService.java:79)
at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:108)
at org.eclipse.e4.core.internal.contexts.EclipseContext.processScheduled(EclipseContext.java:364)
at org.eclipse.e4.core.internal.contexts.EclipseContext.set(EclipseContext.java:379)
at org.eclipse.e4.core.internal.contexts.EclipseContext.activate(EclipseContext.java:683)
at org.eclipse.e4.core.internal.contexts.EclipseContext.activateBranch(EclipseContext.java:692)
at org.eclipse.e4.ui.internal.workbench.swt.ShellActivationListener$1.run(ShellActivationListener.java:99)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.e4.ui.internal.workbench.swt.ShellActivationListener.processWindow(ShellActivationListener.java:95)
at org.eclipse.e4.ui.internal.workbench.swt.ShellActivationListener.handleEvent(ShellActivationListener.java:65)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1111)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4380)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1512)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1535)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1516)
at org.eclipse.swt.widgets.Shell.windowDidBecomeKey(Shell.java:2228)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:6104)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:228)
at org.eclipse.swt.widgets.Widget.becomeKeyWindow(Widget.java:389)
at org.eclipse.swt.widgets.Shell.becomeKeyWindow(Shell.java:533)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5823)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
at org.eclipse.swt.internal.cocoa.NSWindow.close(NSWindow.java:57)
at org.eclipse.swt.widgets.Shell.destroyWidget(Shell.java:819)
at org.eclipse.swt.widgets.Widget.release(Widget.java:1363)
at org.eclipse.swt.widgets.Control.release(Control.java:2966)
at org.eclipse.swt.widgets.Widget.dispose(Widget.java:694)
at org.eclipse.jface.window.Window.close(Window.java:335)
at org.eclipse.jface.dialogs.Dialog.close(Dialog.java:988)
at org.eclipse.ui.internal.views.log.EventDetailsDialog.close(EventDetailsDialog.java:203)
at org.eclipse.jface.dialogs.Dialog.okPressed(Dialog.java:948)
at org.eclipse.ui.internal.views.log.EventDetailsDialog.buttonPressed(EventDetailsDialog.java:228)
at org.eclipse.jface.dialogs.Dialog.lambda$0(Dialog.java:619)
at org.eclipse.swt.events.SelectionListener$1.widgetSelected(SelectionListener.java:84)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4385)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1512)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1535)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1520)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1324)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3789)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:823)
at org.eclipse.jface.window.Window.open(Window.java:799)
at org.eclipse.ui.internal.views.log.EventDetailsDialog.open(EventDetailsDialog.java:191)
at org.eclipse.ui.internal.views.log.EventDetailsDialogAction.run(EventDetailsDialogAction.java:102)
at org.eclipse.ui.internal.views.log.LogView.lambda$2(LogView.java:591)
at org.eclipse.jface.viewers.StructuredViewer$1.run(StructuredViewer.java:782)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174)
at org.eclipse.jface.viewers.StructuredViewer.fireDoubleClick(StructuredViewer.java:779)
at org.eclipse.jface.viewers.AbstractTreeViewer.handleDoubleSelect(AbstractTreeViewer.java:1526)
at org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(StructuredViewer.java:1213)
at org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(OpenStrategy.java:251)
at org.eclipse.jface.util.OpenStrategy.access$0(OpenStrategy.java:249)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:308)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4385)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1512)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1535)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1520)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1324)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3789)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1158)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1047)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:658)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:557)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:154)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:150)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
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:657)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594)
at org.eclipse.equinox.launcher.Main.run(Main.java:1447)
at org.eclipse.equinox.launcher.Main.main(Main.java:1420)

Discussion

  • Colin Snook

    Colin Snook - 2021-02-09
    • assigned_to: Laurent Voisin
     
  • Guillaume Verdier

    • assigned_to: Laurent Voisin --> Guillaume Verdier
     
  • Guillaume Verdier

    • status: open --> closed-fixed
     
  • Guillaume Verdier

    The suggested fix has been integrated in commit [a0c99e] and will be included in Rodin 3.6.

     

    Related

    Commit: [a0c99e]


Log in to post a comment.