Project

General

Profile

bug #6786

Remaining feature tree editor issues

Added by Andreas Müller over 1 year ago. Updated 10 months ago.

Status:
Closed
Priority:
Highest
Category:
taxeditor
Target version:
Start date:
07/12/2017
Due date:
% Done:

50%

Severity:
normal
Found in Version:

Description

  • Critical: selecting a new feature tree should require saving before

  • Critical: closing the editor without saving does not throw changes away. Reopening the editor sets the state to dirty and the data is still changed. E.g. if you move a feature to a new position, you close the feature tree editor without saving, you open it again, and open the same tree, the feature is at the new position and the state is dirty. This may be related to the above issue (#6785).
    Even after fully closing and reopening the TaxEditor the feature is still at the NEW position (also there was no request if something should be saved or not, this might be the reason and might be a separate ticket)

  • only 1 instance can be opened: #6785

  • Use right click menu for all commands. This is the standard for all editors we have, including tree editors like Term Editor or Specimen Editor. So we should try to be consistent: #6806

  • Make Term Editor and Feature Tree Editor consistent in terms of selecting the tree. In Term Editor ALL vocabularies are loaded at the beginning and shown as root nodes. In feature tree editor one needs to choose a tree via a selection dialog. Both has pros and cons. Loading all vocabularies has performance issues and maybe is even not wanted but in some cases is comfortable. Having to select the feature tree via selection box is not so comfortable (compared to simply clicking on the root). A third solution is implemented in the Polytomous Key Perspective where we have a selection list view on the left and view showing all nodes in the right. We need discussion which layout is the preferred one and try to implement consistently.

  • moving a feature does not always result in the correct position. Sometimes when moving a feature below an other feature it appears on top of this feature after drop. However, this does not always happen, so please try several times and with different trees

  • Make supplemental data visible for FeatureTree and FeatureNodes (solution maybe depend on above decisions): #6746

  • there should be 2 separators (not only 1) in the Term Editor menu before the Feature Tree Editor entry

  • Umbenennen: Änderung des Titels setzt das dirty Flag nicht. Auch das Enablen des dirty Flags durch Hinzufügen eines Features und anschließendes Save führte nicht dazu, dass anschließend der neue Titel in der Suche angezeigt wurde. Ich hab noch nicht gecheckt, ob er in der DB geändert wurde.

  • (Es wird auch kein Details View angezeigt, aber das vielleicht auch nicht gewollt.)

  • Außerdem könnten die Suchdialoge noch einen Titel/Label gebrauchen

  • Neuer Feature Tree: Die Features, die innerhalb eines Vokabulars angezeigt werden, sind nicht sortiert bei der Auswahl der Features. Sie sollten, wenn es sich um OrderedVoabularies handelt, natürlich sortiert sein, ansonsten alphabetisch. (Bin gerade offline + unsicher, ob Features ordered sein können).


Related issues

Related to Edit - bug #6785: Editors should be able to have multiple instances Closed 07/07/2017
Related to Edit - feature request #6746: Implement DetailsView and show SupplementalDataView for Feature Tree and FeatureNode Closed 06/21/2017
Follows Edit - feature request #6694: Migrate FeatureTreeEditor Closed 06/06/2017
Copied to Edit - feature request #6806: Add context menu to FeatureTreeEditor Resolved 07/12/2017
Copied to Edit - bug #7282: Still remaining feature tree editor issues Closed 02/21/2018

Associated revisions

Revision ad00b0fa (diff)
Added by Patrick Plitzner over 1 year ago

ref #6786 Show vocabularies as root element in feature selection

Revision 941b5341 (diff)
Added by Patrick Plitzner over 1 year ago

ref #6786 correctly set enable state of feature tree title text field

Revision 741938e7 (diff)
Added by Patrick Plitzner over 1 year ago

ref #6786 Allow multiple instances of FeatureTreeEditor

Revision fb9ff83a (diff)
Added by Patrick Plitzner over 1 year ago

ref #6786 Save before opening new feature tree

Revision df043e9b (diff)
Added by Patrick Plitzner about 1 year ago

ref #6786 Fix creating new tree

Revision b752be34 (diff)
Added by Patrick Plitzner 10 months ago

ref #6786 Fix dirty state when editing feature tree title cache

Revision 119de322 (diff)
Added by Patrick Plitzner 10 months ago

ref #6786 fix window title of selection dialogs

Revision b5920c8b (diff)
Added by Patrick Plitzner 10 months ago

ref #6786 Fix term sorting in feature tree editor

  • extracted term sorter to individual class file

Revision 7c23570f (diff)
Added by Patrick Plitzner 10 months ago

ref #6786 Fix ClassCastException in FeatureTreeEditor

History

#1 Updated by Andreas Müller over 1 year ago

  • Related to bug #6785: Editors should be able to have multiple instances added

#2 Updated by Andreas Müller over 1 year ago

  • Due date set to 06/07/2017
  • Start date changed from 07/07/2017 to 06/07/2017
  • Follows feature request #6694: Migrate FeatureTreeEditor added

#3 Updated by Andreas Müller over 1 year ago

  • Description updated (diff)
  • Due date deleted (06/07/2017)
  • Target version changed from Unassigned CDM tickets to Release 4.9
  • Start date changed from 06/07/2017 to 07/07/2017

#4 Updated by Andreas Müller over 1 year ago

  • Related to feature request #6746: Implement DetailsView and show SupplementalDataView for Feature Tree and FeatureNode added

#5 Updated by Andreas Müller over 1 year ago

  • Description updated (diff)
  • Severity changed from normal to critical

#6 Updated by Andreas Müller over 1 year ago

  • Found in Version set to Release 4.8

#7 Updated by Andreas Müller over 1 year ago

  • Priority changed from New to Highest

#8 Updated by Patrick Plitzner over 1 year ago

  • Description updated (diff)
  • Status changed from New to In Progress

#9 Updated by Patrick Plitzner over 1 year ago

  • Description updated (diff)

#10 Updated by Andreas Müller over 1 year ago

  • Target version changed from Release 4.9 to Release 4.10

#11 Updated by Andreas Müller about 1 year ago

  • Target version changed from Release 4.10 to Release 4.11

#12 Updated by Andreas Müller about 1 year ago

  • Target version changed from Release 4.11 to Release 4.12

#13 Updated by Patrick Plitzner about 1 year ago

  • Target version changed from Release 4.12 to Release 4.13

moving to next milestone. Critical issues have been solved.

#14 Updated by Patrick Plitzner 10 months ago

  • Description updated (diff)
  • Status changed from In Progress to Feedback
  • Assignee changed from Patrick Plitzner to Andreas Müller

#15 Updated by Patrick Plitzner 10 months ago

  • Description updated (diff)

Andreas M.: Could you review the last three committs?

#16 Updated by Patrick Plitzner 10 months ago

  • Target version changed from Release 4.13 to Release 4.14
  • Severity changed from critical to normal

#17 Updated by Patrick Plitzner 10 months ago

  • Description updated (diff)

#18 Updated by Andreas Müller 10 months ago

  • Assignee changed from Andreas Müller to Patrick Plitzner

Add new feature to an new empty feature tree throws a CCE:

login : admin
editor version : 4.14.0.201802141248
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.e4.core.di.InjectionException: java.lang.ClassCastException: org.eclipse.ui.forms.widgets.TableWrapData cannot be cast to org.eclipse.swt.layout.GridData
    at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:65)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:282)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:264)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
    at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152)
    at org.eclipse.core.commands.Command.executeWithChecks(Command.java:494)
    at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:488)
    at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:433)
    at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.handleWidgetSelection(AbstractContributionItem.java:454)
    at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem$3.handleEvent(AbstractContributionItem.java:482)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4418)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4236)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3824)
    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.ClassCastException: org.eclipse.ui.forms.widgets.TableWrapData cannot be cast to org.eclipse.swt.layout.GridData
    at org.eclipse.swt.layout.GridLayout.layout(GridLayout.java:208)
    at org.eclipse.swt.layout.GridLayout.computeSize(GridLayout.java:164)
    at org.eclipse.swt.widgets.Composite.computeSizeInPixels(Composite.java:238)
    at org.eclipse.swt.widgets.Control.computeSize(Control.java:663)
    at org.eclipse.jface.wizard.WizardDialog$PageContainerFillLayout.computeSize(WizardDialog.java:231)
    at org.eclipse.swt.widgets.Composite.computeSizeInPixels(Composite.java:238)
    at org.eclipse.swt.widgets.Control.computeSize(Control.java:663)
    at org.eclipse.swt.layout.GridData.computeSize(GridData.java:491)
    at org.eclipse.swt.layout.GridLayout.layout(GridLayout.java:221)
    at org.eclipse.swt.layout.GridLayout.computeSize(GridLayout.java:164)
    at org.eclipse.swt.widgets.Composite.computeSizeInPixels(Composite.java:238)
    at org.eclipse.swt.widgets.Control.computeSize(Control.java:663)
    at org.eclipse.swt.layout.GridData.computeSize(GridData.java:491)
    at org.eclipse.swt.layout.GridLayout.layout(GridLayout.java:221)
    at org.eclipse.swt.layout.GridLayout.computeSize(GridLayout.java:164)
    at org.eclipse.swt.widgets.Composite.computeSizeInPixels(Composite.java:238)
    at org.eclipse.swt.widgets.Control.computeSize(Control.java:663)
    at org.eclipse.swt.layout.FormData.computeSize(FormData.java:128)
    at org.eclipse.swt.layout.FormLayout.layout(FormLayout.java:323)
    at org.eclipse.swt.layout.FormLayout.layout(FormLayout.java:289)
    at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1386)
    at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1371)
    at org.eclipse.swt.widgets.Composite.layout(Composite.java:725)
    at org.eclipse.swt.widgets.Composite.layout(Composite.java:676)
    at org.eclipse.jface.dialogs.TitleAreaDialog.layoutForNewMessage(TitleAreaDialog.java:488)
    at org.eclipse.jface.dialogs.TitleAreaDialog.showMessage(TitleAreaDialog.java:613)
    at org.eclipse.jface.dialogs.TitleAreaDialog.setMessage(TitleAreaDialog.java:584)
    at org.eclipse.jface.dialogs.TitleAreaDialog.setMessage(TitleAreaDialog.java:542)
    at org.eclipse.jface.wizard.WizardDialog.updateDescriptionMessage(WizardDialog.java:1328)
    at org.eclipse.jface.wizard.WizardDialog.updateTitleBar(WizardDialog.java:1439)
    at org.eclipse.jface.wizard.WizardDialog.update(WizardDialog.java:1289)
    at org.eclipse.jface.wizard.WizardDialog.showStartingPage(WizardDialog.java:1244)
    at org.eclipse.jface.wizard.WizardDialog.createContents(WizardDialog.java:590)
    at org.eclipse.jface.window.Window.create(Window.java:426)
    at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1095)
    at org.eclipse.jface.window.Window.open(Window.java:783)
    at eu.etaxonomy.taxeditor.featuretree.e4.handler.AddFeatureHandler.execute(AddFeatureHandler.java:45)
    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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
    ... 36 more

#19 Updated by Andreas Müller 10 months ago

#20 Updated by Andreas Müller 10 months ago

  • Status changed from Feedback to Resolved
  • Assignee changed from Patrick Plitzner to Andreas Müller

#21 Updated by Andreas Müller 10 months ago

  • Status changed from Resolved to Feedback
  • Assignee changed from Andreas Müller to Patrick Plitzner
  • Priority changed from New to Highest

When selecting a feature the table is not refreshed afterwards.

Also I got a NonUniqueObjectException when trying to save changes for a feature tree that already had features but was changed.

#22 Updated by Andreas Müller 10 months ago

strange, I can't reproduce anymore, so these issues seem to be solved. Should we move remaining issues into a new ticket?

#23 Updated by Patrick Plitzner 10 months ago

  • Target version changed from Release 4.14 to Release 5.0

moving to current milestone

#24 Updated by Andreas Müller 10 months ago

  • Copied to bug #7282: Still remaining feature tree editor issues added

#25 Updated by Andreas Müller 10 months ago

  • Status changed from Feedback to Closed
  • Target version changed from Release 5.0 to Release 4.14

copied open issues to new ticket

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 40 MB)