feature request #6911
closedfeature request #6565: [MASTER] Eclipse 4 Migration
Migrate concept view
100%
Updated by Patrick Plitzner about 6 years ago
- Status changed from New to Resolved
- Assignee changed from Patrick Plitzner to Andreas Müller
- Target version changed from Unassigned CDM tickets to Release 4.10
- % Done changed from 0 to 50
Updated by Andreas Müller about 6 years ago
- Status changed from Resolved to Feedback
- Assignee changed from Andreas Müller to Patrick Plitzner
When editing a concept relationship in the details view the concept view becomes empty. Also the save button is disabled.
Also when closing the according taxon in name editor an NPE is thrown (constantly, seems to be a loop):
Caused by: java.lang.NullPointerException at eu.etaxonomy.taxeditor.ui.section.taxon.TaxonRelationshipDetailElement.getSourceTaxon(TaxonRelationshipDetailElement.java:133) at eu.etaxonomy.taxeditor.ui.section.taxon.TaxonRelationshipDetailElement.getTaxonRelationshipTypeInverseContainer(TaxonRelationshipDetailElement.java:128) at eu.etaxonomy.taxeditor.ui.section.taxon.TaxonRelationshipDetailElement.createControls(TaxonRelationshipDetailElement.java:80) at eu.etaxonomy.taxeditor.ui.section.taxon.TaxonRelationshipDetailElement.createControls(TaxonRelationshipDetailElement.java:1) at eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement.updateContent(AbstractCdmDetailElement.java:107) at eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement.setEntity(AbstractCdmDetailElement.java:94) at eu.etaxonomy.taxeditor.ui.section.taxon.TaxonRelationshipDetailElement.setEntity(TaxonRelationshipDetailElement.java:189) at eu.etaxonomy.taxeditor.ui.section.taxon.TaxonRelationshipDetailElement.setEntity(TaxonRelationshipDetailElement.java:1) at eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection.setEntity(AbstractCdmDetailSection.java:125) at eu.etaxonomy.taxeditor.view.detail.CdmSectionPart.setFormInput(CdmSectionPart.java:147) at org.eclipse.ui.forms.ManagedForm.setInput(ManagedForm.java:210) at eu.etaxonomy.taxeditor.view.e4.AbstractCdmDataViewerE4.refresh(AbstractCdmDataViewerE4.java:139) at eu.etaxonomy.taxeditor.view.e4.AbstractCdmDataViewerE4.setInput(AbstractCdmDataViewerE4.java:124) at eu.etaxonomy.taxeditor.view.e4.details.DetailsViewerE4.setInput(DetailsViewerE4.java:163) at eu.etaxonomy.taxeditor.view.e4.AbstractCdmEditorPartE4.showViewer(AbstractCdmEditorPartE4.java:170) at eu.etaxonomy.taxeditor.view.e4.details.DetailsPartE4.selectionChanged_internal(DetailsPartE4.java:85) at eu.etaxonomy.taxeditor.view.e4.AbstractCdmEditorPartE4$DelaySelection.run(AbstractCdmEditorPartE4.java:77) ... 1007 more at eu.etaxonomy.taxeditor.model.MessagingUtils$1.run(MessagingUtils.java:286) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4211) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3827) at org.eclipse.jface.window.Window.runEventLoop(Window.java:818) at org.eclipse.jface.window.Window.open(Window.java:794) at org.eclipse.jface.dialogs.ErrorDialog.open(ErrorDialog.java:346) at eu.etaxonomy.taxeditor.model.MessagingUtils$1.run(MessagingUtils.java:279) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4211) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3827) at org.eclipse.jface.window.Window.runEventLoop(Window.java:818) at org.eclipse.jface.window.Window.open(Window.java:794) at org.eclipse.jface.dialogs.ErrorDialog.open(ErrorDialog.java:346) at eu.etaxonomy.taxeditor.model.MessagingUtils$1.run(MessagingUtils.java:279) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4211) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3827) at org.eclipse.jface.window.Window.runEventLoop(Window.java:818) at org.eclipse.jface.window.Window.open(Window.java:794) at org.eclipse.jface.dialogs.ErrorDialog.open(ErrorDialog.java:346) at eu.etaxonomy.taxeditor.model.MessagingUtils$1.run(MessagingUtils.java:279) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4211) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3827) at org.eclipse.jface.window.Window.runEventLoop(Window.java:818) at org.eclipse.jface.window.Window.open(Window.java:794) at org.eclipse.jface.dialogs.ErrorDialog.open(ErrorDialog.java:346) at eu.etaxonomy.taxeditor.model.MessagingUtils$1.run(MessagingUtils.java:279) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4211) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3827) at org.eclipse.jface.window.Window.runEventLoop(Window.java:818) at org.eclipse.jface.window.Window.open(Window.java:794) at org.eclipse.jface.dialogs.ErrorDialog.open(ErrorDialog.java:346) at eu.etaxonomy.taxeditor.model.MessagingUtils$1.run(MessagingUtils.java:279) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4211) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3827) at org.eclipse.jface.window.Window.runEventLoop(Window.java:818) at org.eclipse.jface.window.Window.open(Window.java:794) at org.eclipse.jface.dialogs.ErrorDialog.open(ErrorDialog.java:346) at eu.etaxonomy.taxeditor.model.MessagingUtils$1.run(MessagingUtils.java:279) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4211) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3827) at org.eclipse.jface.window.Window.runEventLoop(Window.java:818) at org.eclipse.jface.window.Window.open(Window.java:794) at org.eclipse.jface.dialogs.ErrorDialog.open(ErrorDialog.java:346) at eu.etaxonomy.taxeditor.model.MessagingUtils$1.run(MessagingUtils.java:279) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4211) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3827) at org.eclipse.jface.window.Window.runEventLoop(Window.java:818) at org.eclipse.jface.window.Window.open(Window.java:794) at org.eclipse.jface.dialogs.ErrorDialog.open(ErrorDialog.java:346) at eu.etaxonomy.taxeditor.model.MessagingUtils$1.run(MessagingUtils.java:279) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4211) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3827) at org.eclipse.jface.window.Window.runEventLoop(Window.java:818) at org.eclipse.jface.window.Window.open(Window.java:794) at org.eclipse.jface.dialogs.ErrorDialog.open(ErrorDialog.java:346) at eu.etaxonomy.taxeditor.model.MessagingUtils$1.run(MessagingUtils.java:279) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4211) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3827) at org.eclipse.jface.window.Window.runEventLoop(Window.java:818) at org.eclipse.jface.window.Window.open(Window.java:794) at org.eclipse.jface.dialogs.ErrorDialog.open(ErrorDialog.java:346) at eu.etaxonomy.taxeditor.model.MessagingUtils$1.run(MessagingUtils.java:279) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4211) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3827) at org.eclipse.jface.window.Window.runEventLoop(Window.java:818) at org.eclipse.jface.window.Window.open(Window.java:794) at org.eclipse.jface.dialogs.ErrorDialog.open(ErrorDialog.java:346) at eu.etaxonomy.taxeditor.model.MessagingUtils$1.run(MessagingUtils.java:279) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4211) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3827) at org.eclipse.jface.window.Window.runEventLoop(Window.java:818) at org.eclipse.jface.window.Window.open(Window.java:794) at org.eclipse.jface.dialogs.ErrorDialog.open(ErrorDialog.java:346) at eu.etaxonomy.taxeditor.model.MessagingUtils$1.run(MessagingUtils.java:279) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4211) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3827) at org.eclipse.jface.window.Window.runEventLoop(Window.java:818) at org.eclipse.jface.window.Window.open(Window.java:794) at org.eclipse.jface.dialogs.ErrorDialog.open(ErrorDialog.java:346) at eu.etaxonomy.taxeditor.model.MessagingUtils$1.run(MessagingUtils.java:279) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4211) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3827) at org.eclipse.jface.window.Window.runEventLoop(Window.java:818) at org.eclipse.jface.window.Window.open(Window.java:794) at org.eclipse.jface.dialogs.ErrorDialog.open(ErrorDialog.java:346) at eu.etaxonomy.taxeditor.model.MessagingUtils$1.run(MessagingUtils.java:279) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4211) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3827) at org.eclipse.jface.window.Window.runEventLoop(Window.java:818) at org.eclipse.jface.window.Window.open(Window.java:794) at org.eclipse.jface.dialogs.ErrorDialog.open(ErrorDialog.java:346) at eu.etaxonomy.taxeditor.model.MessagingUtils$1.run(MessagingUtils.java:279) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182)
The NPE itself does not seem to be new. But the loop. Both need to be fixed.
Updated by Patrick Plitzner about 6 years ago
- Status changed from Feedback to Resolved
- Assignee changed from Patrick Plitzner to Andreas Müller
Updated by Andreas Müller about 6 years ago
- Status changed from Resolved to Feedback
- Assignee changed from Andreas Müller to Patrick Plitzner
All mentioned issues seem to be fixed (loss of focus, save button, closing taxon exception).
A new open issue is: when closing the taxon the concept view and the details view are not emptied but still keeping the data of the concept relationship(s).
Updated by Patrick Plitzner about 6 years ago
- Assignee changed from Patrick Plitzner to Andreas Müller
Updated by Patrick Plitzner about 6 years ago
- Assignee changed from Andreas Müller to Patrick Plitzner
Updated by Andreas Müller about 6 years ago
No taxon is open, I open a taxon with concept relations, the relations are shown in the concept view. When clicking on the first relation it is shown in the details view.
Now I close the taxon again => concept and details view are not empty (but should)
Updated by Patrick Plitzner about 6 years ago
- Status changed from Feedback to Resolved
- Assignee changed from Patrick Plitzner to Andreas Müller
- % Done changed from 80 to 90
Updated by Andreas Müller about 6 years ago
- Status changed from Resolved to Feedback
- Assignee changed from Andreas Müller to Patrick Plitzner
This is still not fully fixed. Both views are emptied but the details view immediately is refilled (looks like the empty concept view gets the focus again and remembers the invisible object that it represents.
Updated by Andreas Müller about 6 years ago
Also an exception may appear if you open the name editor, concept view and detail as above, and additionally you have the supplemental data view open.
After closing the supplemental data view (instead of the taxon) you get
login : admin editor version : 4.10.0.201709220905 server : test.e-taxonomy.eu (edit-test) / rem_conf_am schema version : 4.7.0.0.201710040000 os : Windows Server 2012 R2 6.3 amd64 java : 1.8.0_121 org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.NullPointerException) at org.eclipse.swt.SWT.error(SWT.java:4533) at org.eclipse.swt.SWT.error(SWT.java:4448) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4211) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3827) 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:693) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:610) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148) at eu.etaxonomy.taxeditor.Application.start(Application.java:24) 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(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:673) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610) at org.eclipse.equinox.launcher.Main.run(Main.java:1519) Caused by: java.lang.NullPointerException at eu.etaxonomy.taxeditor.view.e4.AbstractCdmEditorPartE4.showViewer(AbstractCdmEditorPartE4.java:148) at eu.etaxonomy.taxeditor.view.e4.supplementaldata.SupplementalDataPartE4.selectionChanged_internal(SupplementalDataPartE4.java:106) at eu.etaxonomy.taxeditor.view.e4.AbstractCdmEditorPartE4$DelaySelection.run(AbstractCdmEditorPartE4.java:77) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182) ... 23 more
Updated by Patrick Plitzner about 6 years ago
Andreas Müller wrote:
This is still not fully fixed. Both views are emptied but the details view immediately is refilled (looks like the empty concept view gets the focus again and remembers the invisible object that it represents.
But the view is emptied immediately when being clicked. The emptying of all views is a bit framework dependent because we cannot control (yet) the order in which the views get the information that the editor is closed. That's why your assumption is correct: The concept view gets the focus before being emptied and then the details view shows the information about the concept. This will be easier to fix in E4 and the current behavior does not allow editing an already closed object (just displaying it).
Updated by Patrick Plitzner about 6 years ago
- Assignee changed from Patrick Plitzner to Andreas Müller
Updated by Andreas Müller about 6 years ago
- Assignee changed from Andreas Müller to Patrick Plitzner
Ok, so we will handle later. But what is about the exception? Also later or can this be fixed?
Updated by Patrick Plitzner about 6 years ago
Andreas Müller wrote:
Ok, so we will handle later. But what is about the exception? Also later or can this be fixed?
has been fixed with taxeditor|8e734ea0746d8e08bf82ce595b18e1bce2c3b69a
Updated by Andreas Müller about 6 years ago
- Status changed from Feedback to Resolved
- Assignee changed from Patrick Plitzner to Andreas Müller
Updated by Andreas Müller almost 6 years ago
- Status changed from Resolved to Closed
- Assignee changed from Andreas Müller to Patrick Plitzner
Fix seems to work. So we can close the ticket I think.