Project

General

Profile

bug #8088

Open taxon node wizard issues

Added by Andreas Müller about 1 month ago. Updated 26 days ago.

Status:
Resolved
Priority:
Highest
Category:
taxeditor
Target version:
Start date:
02/08/2019
Due date:
% Done:

0%

Severity:
critical
Found in Version:

Description

Urgent: reenable taxon selection for reusing taxa (see #8088#note-3) => hotfix 5.5.1

Copied from #7794

  • Classification selection for top level taxa (#7794#note-12)
  • If labels of existing data are long the wizard becomes extremely large, it should work with line break, truncation or scrolling and have always the same size except for users changing the size
  • Remove remaining classification chooser (#7794#note-9 and #7794 attachement picture585-1.png)
  • Show "Parent Child Relation Source" and "Detail" below Parent, with identation and shorten label to "Parent Relation Source" or simply "Relation Source" if identation is obvious enough
  • Alternatively: move all taxon node information (parent + relSource, classification) down below taxon information (name, sec, is public) (#7794#note-5, second part)
  • in EDIT mode:
    • do not show sec ref as it is usually part of the taxon title (minor) or at least disable lable
    • show parent instead of classification

Fixes for Hotfix 5.5.1:

  • TOE (see comment 7) and LLE (see comment 9) in saveNewTaxonNode fixed
  • Taxon Selection in Edit and New Wizard added

Related issues

Copied from Edit - bug #7794: Update TaxonNodeWizard Closed 09/27/2018

Associated revisions

Revision 070e6317 (diff)
Added by Katja Luther 29 days ago

ref #8088: taxon should be selectable in taxonnode wizard when editing existing node

Revision 0d3d2e38 (diff)
Added by Katja Luther 28 days ago

ref #8088: fix TOE in edit taxon node wizard when changing taxon

Revision 3b0ec7a1 (diff)
Added by Katja Luther 28 days ago

ref #8088: use existing taxon for new taxonnode or when editing node

Revision aeb812fd (diff)
Added by Katja Luther 27 days ago

ref #8088: save newly created taxonnode with existing taxon

Revision 7e2d59f9 (diff)
Added by Katja Luther 27 days ago

ref #8088: save newly created taxonnode with existing taxon

Revision aa5b9df6 (diff)
Added by Katja Luther 27 days ago

ref #8088: save newly created taxonnode with existing taxon

Revision da113e80 (diff)
Added by Katja Luther 27 days ago

ref #8088: save newly created taxonnode with existing taxon

Revision 3adf46dc (diff)
Added by Katja Luther 27 days ago

ref #8088: taxon should be selectable in taxonnode wizard when editing existing node

Revision 6ad6a6e4 (diff)
Added by Katja Luther 27 days ago

ref #8088: fix TOE in edit taxon node wizard when changing taxon

Revision 774459a9 (diff)
Added by Katja Luther 27 days ago

ref #8088: use existing taxon for new taxonnode or when editing node

Revision 6f2311af (diff)
Added by Katja Luther 27 days ago

ref #8088: fix save taxonnode method

Revision 3a99aa7c (diff)
Added by Katja Luther 27 days ago

ref #8088: fix save taxonnode method

Revision c3b48aa2 (diff)
Added by Katja Luther 27 days ago

ref #8088: open taxonnode from result

Revision 18960c83 (diff)
Added by Katja Luther 27 days ago

ref #8088: open taxonnode from result

Revision d669970d (diff)
Added by Katja Luther 27 days ago

ref #8088: adapt labels and fix publish flag in edit wizard

Revision b4072196 (diff)
Added by Katja Luther 27 days ago

ref #8088: fix publish flag in edit wizard

Revision d9757a33 (diff)
Added by Katja Luther 27 days ago

ref #8088: fix publish flag in edit wizard

Revision ad2f71e9 (diff)
Added by Katja Luther 26 days ago

ref #8088: adapt labels and fix publish flag in edit wizard

Revision 14292cfa (diff)
Added by Katja Luther 26 days ago

ref #8088: fix publish flag in edit wizard

Revision a8a19cd5 (diff)
Added by Katja Luther 26 days ago

ref #8088: fix publish flag in edit wizard

Revision 7d50358d (diff)
Added by Katja Luther 25 days ago

ref #8088: fix publish flag in edit wizard

Revision 4a5b4e97 (diff)
Added by Katja Luther 25 days ago

ref #8088: fix publish flag in edit wizard

History

#1 Updated by Andreas Müller about 1 month ago

  • Description updated (diff)

#2 Updated by Andreas Müller about 1 month ago

  • Copied from bug #7794: Update TaxonNodeWizard added

#3 Updated by Andreas Müller about 1 month ago

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

Something went wrong in previous ticket #7794. The taxon itself should be selectable for both "New" and "Edit" mode. Currently it is not selectable in any of them. If not selectable it is impossible to reuse a taxon (a functionality that we currently use e.g. in phycobank and therefore it is urgent).

In both cases, if a taxon is reused the other taxon attributes should not be editable (like in "Edit" mode anyway). For "New" we also need a "remove" taxon selection button to reenable manual entering of a new taxon.

#4 Updated by Andreas Müller about 1 month ago

  • Description updated (diff)

#5 Updated by Andreas Müller about 1 month ago

  • Description updated (diff)

#6 Updated by Andreas Müller 28 days ago

  • Target version changed from Release 5.6 to Reviewed Next Major Release

#7 Updated by Katja Luther 28 days ago

  • Target version changed from Reviewed Next Major Release to Release 5.6

Ich habe versucht das Taxon eines Taxonnodes zu ändern und bekam den Fehler unten.
Gibt es dafür schon ein Ticket? Kannst du die Meldung da rein pasten. Ist dringend für den Hotfix.

AM


login : admin
editor version : 5.6.0.201902191749
server : test.e-taxonomy.eu (edit-test) / rem_conf_am
schema version : 5.0.0.0.20180514
os : Windows Server 2012 R2 6.3 amd64
java : 1.8.0_121
org.springframework.dao.InvalidDataAccessApiUsageException: object references an unsaved transient instance - save the transient instance before flushing: eu.etaxonomy.cdm.model.taxon.TaxonNode; nested exception is org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: eu.etaxonomy.cdm.model.taxon.TaxonNode
               at org.springframework.orm.hibernate5.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:191)
               at org.springframework.orm.hibernate5.HibernateTransactionManager.convertHibernateAccessException(HibernateTransactionManager.java:741)
               at org.springframework.orm.hibernate5.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:589)
               at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
               at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
               at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:485)
               at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:291)
               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)
      ....
Caused by: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: eu.etaxonomy.cdm.model.taxon.TaxonNode
               at org.hibernate.engine.internal.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:279)
               at org.hibernate.type.EntityType.getIdentifier(EntityType.java:455)
               at org.hibernate.type.ManyToOneType.nullSafeSet(ManyToOneType.java:144)
               at org.hibernate.persister.collection.AbstractCollectionPersister.writeElement(AbstractCollectionPersister.java:888)
               at org.hibernate.persister.collection.OneToManyPersister.writeIndex(OneToManyPersister.java:244)
               at org.hibernate.persister.collection.OneToManyPersister.insertRows(OneToManyPersister.java:178)
               at org.hibernate.action.internal.CollectionUpdateAction.execute(CollectionUpdateAction.java:85)
               at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:560)
               at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:434)
               at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:337)
               at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:39)
               at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1282)
               at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:465)
               at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:2963)
               at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2339)
               at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:485)
               at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.beforeCompletionCallback(JdbcResourceLocalTransactionCoordinatorImpl.java:147)
               at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.access$100(JdbcResourceLocalTransactionCoordinatorImpl.java:38)
               at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:231)
               at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:65)
               at org.springframework.orm.hibernate5.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:581)
               ... 154 more

#8 Updated by Katja Luther 27 days ago

  • Description updated (diff)

#9 Updated by Katja Luther 27 days ago

Hallo,

bekomme diese Fehlermeldung beim Anlegen eines neuen Taxons.

viele Grüße und schöne WE
Nadja


login : n.korotkova
editor version : 5.5.0
server : api.cybertaxonomy.org (cybertaxonomy.org) / caryophyllales_spp
schema version : 5.0.0.0.20180514
os : Windows 7 6.1 amd64
java : 1.8.0_20
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
                at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:148)
                at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:266)
                at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:68)
                at eu.etaxonomy.cdm.model.taxon.TaxonNode_$$_jvsta01_6c.treeIndex(TaxonNode_$$_jvsta01_6c.java)
                at eu.etaxonomy.cdm.persistence.hibernate.SaveOrUpdateEntityListener.reindex(SaveOrUpdateEntityListener.java:55)
                at eu.etaxonomy.cdm.persistence.hibernate.SaveOrUpdateEntityListener.saveOrUpdate(SaveOrUpdateEntityListener.java:39)
                at eu.etaxonomy.cdm.persistence.hibernate.SaveOrUpdateEntityListener.onSaveOrUpdate(SaveOrUpdateEntityListener.java:29)
                at org.hibernate.internal.SessionImpl.fireSaveOrUpdate(SessionImpl.java:648)
                at org.hibernate.internal.SessionImpl.saveOrUpdate(SessionImpl.java:640)
                at org.hibernate.engine.spi.CascadingActions$5.cascade(CascadingActions.java:218)
                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.engine.internal.Cascade.cascade(Cascade.java:61)
                at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.cascadeOnUpdate(DefaultSaveOrUpdateEventListener.java:358)
                at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.performUpdate(DefaultSaveOrUpdateEventListener.java:332)
                at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsDetached(DefaultSaveOrUpdateEventListener.java:227)
                at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:92)
                at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:73)
                at org.hibernate.internal.SessionImpl.fireSaveOrUpdate(SessionImpl.java:648)
                at org.hibernate.internal.SessionImpl.saveOrUpdate(SessionImpl.java:640)
                at org.hibernate.engine.spi.CascadingActions$5.cascade(CascadingActions.java:218)
                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 org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:249)
                at org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:178)
                at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:121)
                at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:192)
                at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:177)
                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:648)
                at org.hibernate.internal.SessionImpl.saveOrUpdate(SessionImpl.java:640)
                at org.hibernate.engine.spi.CascadingActions$5.cascade(CascadingActions.java:218)
                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.AbstractSaveEventListener.cascadeAfterSave(AbstractSaveEventListener.java:456)
                at org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:278)
                at org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:178)
                at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:121)
                at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:192)
                at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:177)
                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:648)
                at org.hibernate.internal.SessionImpl.saveOrUpdate(SessionImpl.java:640)
                at org.hibernate.internal.SessionImpl.saveOrUpdate(SessionImpl.java:635)
                at eu.etaxonomy.cdm.persistence.dao.hibernate.common.CdmEntityDaoBase.saveOrUpdate(CdmEntityDaoBase.java:341)
                at eu.etaxonomy.cdm.api.service.ServiceBase.saveOrUpdate(ServiceBase.java:285)
                at eu.etaxonomy.cdm.api.service.ServiceBase.saveOrUpdate(ServiceBase.java:42)
                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.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.$Proxy1733.saveOrUpdate(Unknown Source)
                at eu.etaxonomy.cdm.api.service.TaxonNodeServiceImpl.saveNewTaxonNode(TaxonNodeServiceImpl.java:866)
                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.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.$Proxy1744.saveNewTaxonNode(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.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.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:208)
                at com.sun.proxy.$Proxy2013.saveNewTaxonNode(Unknown Source)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
...
                at org.springframework.remoting.support.RemoteInvocationBasedAccessor.recreateRemoteInvocationResult(RemoteInvocationBasedAccessor.java:85)
                at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.invoke(HttpInvokerClientInterceptor.java:150)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
                at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
                at com.sun.proxy.$Proxy48.saveNewTaxonNode(Unknown Source)
                at eu.etaxonomy.taxeditor.newWizard.NewTaxonNodeWizard.saveEntity(NewTaxonNodeWizard.java:80)
                at eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard.performFinish(AbstractNewEntityWizard.java:54)
                at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:790)
                at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:423)
                at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:618)
                at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:249)
                at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)

#10 Updated by Katja Luther 27 days ago

  • Description updated (diff)

#11 Updated by Andreas Müller 27 days ago

  • Description updated (diff)

#12 Updated by Katja Luther 27 days ago

  • Description updated (diff)
  • Status changed from New to Resolved
  • Assignee changed from Katja Luther to Andreas Müller

please review the hotfix tasks.

#13 Updated by Andreas Müller 26 days ago

  • Description updated (diff)

The hotfix tasks seem to work now.

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 40 MB)