Actions
bug #9481
closedObjectDeletedException when swap syn and accepted with descriptions belonging to a descriptive dataset
Start date:
Due date:
% Done:
90%
Estimated time:
Severity:
normal
Found in Version:
Description
While swapping synonym to taxon, the descriptions are cloned but cannot be deleted with the old accepted taxon because they are still related to the descriptive dataset
last remote method : http://test.e-taxonomy.eu:80/cdmserver/rem_conf_am/remoting/taxon.service last remote request client time : 2021-02-26T11:07:31.538 last remote request response header time : Fri, 26 Feb 2021 11:07:31 GMT client error time : 2021-02-26T11:07:32.475 login : admin editor version : 5.21.0.202102260844 server : test.e-taxonomy.eu (edit-test) / rem_conf_am schema version : 5.18.6.0.20201124 os : Windows Server 2012 R2 6.3 amd64 java : 1.8.0_131 org.eclipse.swt.SWTException: Failed to execute runnable (org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations): [eu.etaxonomy.cdm.model.description.TaxonDescription#2823]) 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.jface.window.Window.runEventLoop(Window.java:818) at org.eclipse.jface.window.Window.open(Window.java:794) at org.eclipse.jface.dialogs.MessageDialog.open(MessageDialog.java:396) at org.eclipse.jface.dialogs.MessageDialog.open(MessageDialog.java:424) at org.eclipse.jface.dialogs.MessageDialog.openWarning(MessageDialog.java:532) at eu.etaxonomy.taxeditor.model.MessagingUtils$4.run(MessagingUtils.java:583) 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.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) ... Caused by: org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations): [eu.etaxonomy.cdm.model.description.TaxonDescription#2823] at org.hibernate.internal.SessionImpl.forceFlush(SessionImpl.java:1314) at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:170) at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:97) at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:73) at org.hibernate.internal.SessionImpl.fireSaveOrUpdate(SessionImpl.java:651) at org.hibernate.internal.SessionImpl.saveOrUpdate(SessionImpl.java:643) at org.hibernate.engine.spi.CascadingActions$5.cascade(CascadingActions.java:218) at org.hibernate.engine.internal.Cascade.cascadeToOne(Cascade.java:423) at org.hibernate.engine.internal.Cascade.cascadeAssociation(Cascade.java:348) at org.hibernate.engine.internal.Cascade.cascadeProperty(Cascade.java:187) at org.hibernate.engine.internal.Cascade.cascadeCollectionElements(Cascade.java:456) at org.hibernate.engine.internal.Cascade.cascadeCollection(Cascade.java:388) at org.hibernate.engine.internal.Cascade.cascadeAssociation(Cascade.java:351) at org.hibernate.engine.internal.Cascade.cascadeProperty(Cascade.java:187) at org.hibernate.engine.internal.Cascade.cascade(Cascade.java:136) at org.hibernate.event.internal.AbstractFlushingEventListener.cascadeOnFlush(AbstractFlushingEventListener.java:150) at org.hibernate.event.internal.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:141) at org.hibernate.event.internal.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:74) at org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:44) at org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1264) at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1780) at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:363) at eu.etaxonomy.cdm.persistence.dao.hibernate.common.CdmEntityDaoBase.findByUuid(CdmEntityDaoBase.java:426) at eu.etaxonomy.cdm.persistence.dao.hibernate.common.CdmEntityDaoBase.findByUuid(CdmEntityDaoBase.java:413) at eu.etaxonomy.cdm.persistence.dao.hibernate.common.VersionableDaoBase.findByUuid(VersionableDaoBase.java:67) at eu.etaxonomy.cdm.persistence.dao.hibernate.common.VersionableDaoBase.findByUuid(VersionableDaoBase.java:36) at eu.etaxonomy.cdm.persistence.dao.hibernate.common.CdmEntityDaoBase.load(CdmEntityDaoBase.java:758) at eu.etaxonomy.cdm.persistence.dao.hibernate.common.VersionableDaoBase.load(VersionableDaoBase.java:93) at eu.etaxonomy.cdm.persistence.dao.hibernate.common.VersionableDaoBase.load(VersionableDaoBase.java:36) at eu.etaxonomy.cdm.api.service.ServiceBase.load(ServiceBase.java:190) at eu.etaxonomy.cdm.api.service.TaxonServiceImpl.isDeletable(TaxonServiceImpl.java:3017) at eu.etaxonomy.cdm.api.service.TaxonServiceImpl.deleteSynonym(TaxonServiceImpl.java:1235) at eu.etaxonomy.cdm.api.service.TaxonServiceImpl.swapSynonymAndAcceptedTaxon(TaxonServiceImpl.java:316) at eu.etaxonomy.cdm.api.service.TaxonServiceImpl.swapSynonymAndAcceptedTaxon(TaxonServiceImpl.java:3378) at sun.reflect.GeneratedMethodAccessor1872.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:283) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) at com.sun.proxy.$Proxy705.swapSynonymAndAcceptedTaxon(Unknown Source) at sun.reflect.GeneratedMethodAccessor1872.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) at org.springframework.remoting.support.RemoteInvocationTraceInterceptor.invoke(RemoteInvocationTraceInterceptor.java:78) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) at com.sun.proxy.$Proxy1155.swapSynonymAndAcceptedTaxon(Unknown Source) 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.springframework.remoting.support.RemoteInvocation.invoke(RemoteInvocation.java:212) at eu.etaxonomy.cdm.api.remoting.DebuggingRemoteInvocationExecutor.invoke(DebuggingRemoteInvocationExecutor.java:52)
Files
Actions