Project

General

Profile

bug #6657

Updated by Andreas Müller almost 7 years ago

When trying to exchange or delete the taxon link in a polytomous key you get an multiple representations exception: 

 What I did: 

 1. Create a new key "MultiRepTest" 
 1. Create a new key node (1a) for this key 
 1. Attache any existing taxon to this key node 
 1. Save and close key 
 1. Reopen key and select key node 
 1. Remove taxon from key node 
 1. Save => exception 

 Same happens if trying to replace the taxon by another one 


 ~~~ 
 login : admin 
 editor version : 4.7.0 
 server : test.e-taxonomy.eu (edit-test) / rem_conf_am 
 schema version : 4.1.0.0.201607300000 
 os : Windows Server 2012 R2 6.3 amd64 
 java : 1.8.0_121 
 java.lang.IllegalStateException: Multiple representations of the same entity [eu.etaxonomy.cdm.model.description.PolytomousKey#41] are being merged. Detached: [MultiRepTest]; Detached: [MultiRepTest] 
	 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.cascadeCollectionElements(Cascade.java:431) 
	 at org.hibernate.engine.internal.Cascade.cascadeCollection(Cascade.java:363) 
	 at org.hibernate.engine.internal.Cascade.cascadeAssociation(Cascade.java:326) 
	 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.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.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:69) 
	 at org.hibernate.internal.SessionImpl.fireMerge(SessionImpl.java:840) 
	 at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:822) 
	 at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:827) 
	 at eu.etaxonomy.cdm.persistence.dao.hibernate.common.CdmEntityDaoBase.merge(CdmEntityDaoBase.java:256) 
	 at eu.etaxonomy.cdm.api.service.ServiceBase.merge(ServiceBase.java:205) 
	 at eu.etaxonomy.cdm.api.service.ServiceBase.merge(ServiceBase.java:35) 
	 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:497) 
	 at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302) 
	 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:281) 
	 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:208) 
	 at com.sun.proxy.$Proxy674.merge(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:497) 
	 at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302) 
	 at ... 
	 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) 
 ~~~

Back