Project

General

Profile

Actions

bug #8591

closed

Multiple representations problem on setting synonym as basionym

Added by Andreas Kohlbecker over 4 years ago. Updated 3 months ago.

Status:
Closed
Priority:
Highest
Assignee:
Category:
taxeditor
Target version:
Start date:
05/10/2022
Due date:
05/13/2022
% Done:

50%

Estimated time:
Severity:
normal
Found in Version:

Description

I was following the workflow which is proposed in Manual-EDIT-Platform-v.1.19b (Y://GRUPPEN/BDI/EDIT-Plattform/_Latest Versions/User Manual/)

  • Create new Taxon: Lymanbensonia incachacana (Cárdenas) Barthlott & N.Korotkova in Wildenowia 40(2): 167.
  • Save the name editor
  • Set the caret at the end of the new taxon name and press enter to create a synonym
  • Paste "Rhipsalis incachacana Cardenas in Cactus (Paris) No. 34, 125. 1952."
  • Remove the test in the synonym line
  • Delete the synonmy
  • Paste "Rhipsalis incachacana Cardenas in Cactus (Paris) No. 34, 125. 1952." again
  • Edit the Nomenclatural Reference of "Rhipsalis incachacana" and set the type to Article
  • Drag "Rhipsalis incachacana" onto the accepted taxon to make it homotypic
  • Save .. BANG!

Deleting the synonym and reenter it, is not necessary. Editing the nomenclatural source is enough.

(this is reproducible)

The problem is related to the Person Cardenas which is the combination author of the synonym and also the author of the reference. (NOTE Cardenas in the accepted taxon and in the synonmy are different!)

login : admin
editor version : 5.10.0
server : 160.45.63.230 (edit-WS I) / empty_demo_01
schema version : 5.8.2.0.20190815
os : Linux 5.0.0-31-generic amd64
java : 1.8.0_131
org.eclipse.e4.core.di.InjectionException: java.lang.IllegalStateException: Multiple representations of the same entity [eu.etaxonomy.cdm.model.agent.Person#4320] are being merged. Detached: [Cardenas]; Detached: [Cardenas]
    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:247)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:90)
    at org.eclipse.e4.ui.internal.workbench.PartServiceSaveHandler.save(PartServiceSaveHandler.java:57)
    at org.eclipse.ui.internal.WorkbenchWindow$7.save(WorkbenchWindow.java:594)
    at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.savePart(PartServiceImpl.java:1390)
    at eu.etaxonomy.taxeditor.workbench.SaveHandler.execute(SaveHandler.java:38)
    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)
    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.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:286)
    at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:507)
    at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:558)
    at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenceBindings(KeyBindingDispatcher.java:378)
    at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.access$0(KeyBindingDispatcher.java:324)
    at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.handleEvent(KeyBindingDispatcher.java:86)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1605)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1339)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1366)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1349)
    at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1378)
    at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:764)
    at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:3465)
    at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:801)
    at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2000)
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:5827)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:5498)
    at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
    at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:9545)
    at org.eclipse.swt.widgets.Display.eventProc(Display.java:1275)
    at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
    at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2495)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4149)
    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)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1492)
Caused by: java.lang.IllegalStateException: Multiple representations of the same entity [eu.etaxonomy.cdm.model.agent.Person#4320] are being merged. Detached: [Cardenas]; Detached: [Cardenas]
    at org.hibernate.event.internal.EntityCopyNotAllowedObserver.entityCopyDetected(EntityCopyNotAllowedObserver.java:37)
    at org.hibernate.event.internal.MergeContext.put(MergeContext.java:245)
    at org.hibernate.event.internal.DefaultMergeEventListener.entityIsDetached(DefaultMergeEventListener.java:304)
    at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:170)
    at org.hibernate.internal.SessionImpl.fireMerge(SessionImpl.java:850)
    at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:832)
    at org.hibernate.engine.spi.CascadingActions$6.cascade(CascadingActions.java:260)
    at org.hibernate.engine.internal.Cascade.cascadeToOne(Cascade.java:398)
    at org.hibernate.engine.internal.Cascade.cascadeAssociation(Cascade.java:323)
    at org.hibernate.engine.internal.Cascade.cascadeProperty(Cascade.java:162)
    at org.hibernate.engine.internal.Cascade.cascade(Cascade.java:111)
    at org.hibernate.event.internal.DefaultMergeEventListener.cascadeOnMerge(DefaultMergeEventListener.java:468)
    at org.hibernate.event.internal.DefaultMergeEventListener.entityIsDetached(DefaultMergeEventListener.java:327)
    at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:170)
    at org.hibernate.internal.SessionImpl.fireMerge(SessionImpl.java:850)
    at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:832)
    at org.hibernate.engine.spi.CascadingActions$6.cascade(CascadingActions.java:260)
    at org.hibernate.engine.internal.Cascade.cascadeToOne(Cascade.java:398)
    at org.hibernate.engine.internal.Cascade.cascadeAssociation(Cascade.java:323)
    at org.hibernate.engine.internal.Cascade.cascadeProperty(Cascade.java:162)
    at org.hibernate.engine.internal.Cascade.cascade(Cascade.java:111)
    at org.hibernate.event.internal.AbstractSaveEventListener.cascadeBeforeSave(AbstractSaveEventListener.java:425)
    at ...
    at com.sun.proxy.$Proxy48.merge(Unknown Source)
    at eu.etaxonomy.taxeditor.editor.e4.TaxonEditorInputE4.merge(TaxonEditorInputE4.java:428)
    at eu.etaxonomy.taxeditor.editor.name.e4.TaxonNameEditorE4.save(TaxonNameEditorE4.java:409)
        ...
    ... 65 more

Session informations right before saving:

<<< Root Entity Taxon Node with id 40738 >>>
Duplicate CDM Entities in root graph: 
 1 authorship:Person/47670     in entity eu.etaxonomy.cdm.model.reference.Reference with id : 64940
  -- entity belongs to cache(s) : 
 2 combinationAuthorship:Person/47670      in entity eu.etaxonomy.cdm.model.name.TaxonName with id : 0
  -- entity belongs to cache(s) : {TC}
-----------

Entities in root graph which are not in cache (*: NOT_FOUND, ?: COPY_ENTITY):
 - ?authorship[Person#47670].citation[Reference#64940].nomenclaturalSource[Nomenclatural Source#0].name[Taxon Name#0].[Synonym#0].synonyms[java.util.HashSet].taxon[Taxon#107097].[Taxon Node#40738]


Files

basionym.png (5.73 KB) basionym.png Katja Luther, 09/05/2022 09:50 AM

Related issues

Related to EDIT - bug #10225: MultipleRepresentationException when moving synonym in homotypic group ClosedAndreas Müller

Actions
Actions

Also available in: Atom PDF