Project

General

Profile

Actions

bug #7945

closed

TaxonNamePopupEditor: missing genus causes exception when updating name parts visibility

Added by Andreas Kohlbecker over 5 years ago. Updated about 5 years ago.

Status:
Rejected
Priority:
Highest
Category:
cdm-vaadin
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:
Severity:
normal
Found in Version:
Tags:

Description

Incomplete data (missing genus) can result in exceptions being thrown:

org.hibernate.HibernateException: A collection with cascade="all-delete-orphan" was no longer referenced by the owning entity instance: eu.etaxonomy.cdm.model.common.DefinedTermBase.representations
               at org.hibernate.engine.internal.Collections.processDereferencedCollection(Collections.java:99)
               at org.hibernate.engine.internal.Collections.processUnreachableCollection(Collections.java:50)
               at org.hibernate.event.internal.AbstractFlushingEventListener.flushCollections(AbstractFlushingEventListener.java:243)
               at org.hibernate.event.internal.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:86)
               at org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:44)
               at org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1251)
               at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1319)
               at org.hibernate.internal.QueryImpl.list(QueryImpl.java:87)
               at org.hibernate.internal.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:960)
               at eu.etaxonomy.cdm.persistence.dao.hibernate.name.TaxonNameDaoHibernateImpl.countTaxonNameParts(TaxonNameDaoHibernateImpl.java:997)
               at eu.etaxonomy.cdm.api.service.NameServiceImpl.findTaxonNameParts(NameServiceImpl.java:354)
               at eu.etaxonomy.cdm.api.service.NameServiceImpl.findTaxonNameParts(NameServiceImpl.java:375)
               at sun.reflect.GeneratedMethodAccessor1781.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: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.$Proxy611.findTaxonNameParts(Unknown Source)
               at eu.etaxonomy.cdm.service.TaxonNameStringFilterablePagingProvider.size(TaxonNameStringFilterablePagingProvider.java:196)
               at org.vaadin.viritin.fields.LazyComboBox$7.size(LazyComboBox.java:261)
               at org.vaadin.viritin.LazyList.size(LazyList.java:229)
               at org.vaadin.viritin.LazyList$1.<init>(LazyList.java:302)
               at org.vaadin.viritin.LazyList.iterator(LazyList.java:299)
               at java.util.AbstractCollection.contains(AbstractCollection.java:99)
               at org.vaadin.viritin.LazyList.contains(LazyList.java:284)
               at eu.etaxonomy.vaadin.component.WeaklyRelatedEntityCombobox.setValue(WeaklyRelatedEntityCombobox.java:199)
               at eu.etaxonomy.cdm.vaadin.view.name.TaxonNameEditorPresenter.onFieldReplaceEvent(TaxonNameEditorPresenter.java:379)
               at sun.reflect.GeneratedMethodAccessor1906.invoke(Unknown Source)
               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
               at java.lang.reflect.Method.invoke(Method.java:498)
               at org.vaadin.spring.events.internal.MethodListenerWrapper.publish(MethodListenerWrapper.java:78)
               at org.vaadin.spring.events.internal.ListenerCollection.publish(ListenerCollection.java:167)
               at org.vaadin.spring.events.internal.ScopedEventBus.publish(ScopedEventBus.java:116)
               at org.vaadin.spring.events.internal.ScopedEventBus.publish(ScopedEventBus.java:109)
               at eu.etaxonomy.vaadin.mvp.AbstractPopupEditor.replaceComponent(AbstractPopupEditor.java:928)
               at eu.etaxonomy.cdm.vaadin.view.name.TaxonNamePopupEditor.updateFieldVisibility(TaxonNamePopupEditor.java:730)
               at eu.etaxonomy.cdm.vaadin.view.name.TaxonNamePopupEditor.updateAuthorshipFields(TaxonNamePopupEditor.java:628)
               at eu.etaxonomy.cdm.vaadin.view.name.TaxonNamePopupEditor.afterItemDataSourceSet(TaxonNamePopupEditor.java:556)
               at eu.etaxonomy.vaadin.mvp.AbstractPopupEditor.loadInEditor(AbstractPopupEditor.java:812)
               at eu.etaxonomy.cdm.vaadin.view.registration.RegistrationWorkingsetPresenter.onTaxonNameEditorActionEdit(RegistrationWorkingsetPresenter.java:435)
               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.vaadin.spring.events.internal.MethodListenerWrapper.publish(MethodListenerWrapper.java:78)
               at org.vaadin.spring.events.internal.ListenerCollection.publish(ListenerCollection.java:167)
               at org.vaadin.spring.events.internal.ScopedEventBus.publish(ScopedEventBus.java:116)
               at org.vaadin.spring.events.internal.ScopedEventBus.publish(ScopedEventBus.java:109)
               at eu.etaxonomy.cdm.vaadin.view.registration.RegistrationWorksetViewBean.lambda$putRegistrationListComponent$e83e5a40$1(RegistrationWorksetViewBean.java:354)
               at sun.reflect.GeneratedMethodAccessor1663.invoke(Unknown Source)
               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
               at java.lang.reflect.Method.invoke(Method.java:498)
               at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:510)
               at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:200)
               at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:163)
               at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:1015)
               at com.vaadin.ui.Button.fireClick(Button.java:377)
               at com.vaadin.ui.Button$1.click(Button.java:54)
               at sun.reflect.GeneratedMethodAccessor1662.invoke(Unknown Source)
               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
               at java.lang.reflect.Method.invoke(Method.java:498)
               at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:158)
               at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:119)
               at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:437)
               at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:402)
               at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:273)
               at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:90)
               at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
               at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1435)
               at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:380)
               at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
               at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808)
               at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
               at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:316)
               at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126)
               at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90)
               at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
               at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
               at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
               at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:122)
               at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
               at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
               at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
               at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:169)
               at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
               at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:48)
               at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
               at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158)
               at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
               at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
               at org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:176)
               at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
               at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:120)
               at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
               at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64)
               at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
               at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
               at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:91)
               at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
               at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:53)
               at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
               at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
               at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:213)
               at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:176)
               at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
               at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
               at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
               at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
               at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
               at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
               at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
               at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
               at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
               at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
               at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
               at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
               at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
               at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
               at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
               at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
               at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
               at org.eclipse.jetty.server.Server.handle(Server.java:497)
               at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
               at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
               at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
               at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
               at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
               at java.lang.Thread.run(Thread.java:748)

Related issues

Related to EDIT - bug #7944: TaxonNamePopEditor: name part fields are required ClosedAndreas Kohlbecker

Actions
Related to EDIT - bug #8075: multiple cascade all-delete-orphan exceptions related to DefinedTermBase.representationsClosedAndreas Kohlbecker

Actions
Is duplicate of EDIT - bug #8161: *FilterablePagingProvider classes as transactional readonly spring beansRejectedAndreas Kohlbecker

Actions
Actions #1

Updated by Andreas Kohlbecker over 5 years ago

  • Tags set to phycobank
  • Subject changed from TaxonNamePopupEditor: missing genus causes exception when updating name parts vi to TaxonNamePopupEditor: missing genus causes exception when updating name parts visibility
  • Category set to cdm-vaadin
  • Priority changed from New to Highest
  • Target version changed from Unassigned CDM tickets to Release 5.5
Actions #2

Updated by Andreas Kohlbecker over 5 years ago

  • Related to bug #7944: TaxonNamePopEditor: name part fields are required added
Actions #3

Updated by Andreas Kohlbecker over 5 years ago

  • Assignee set to Andreas Kohlbecker
Actions #4

Updated by Andreas Kohlbecker over 5 years ago

  • Target version changed from Release 5.5 to Release 5.6

This error can not be reproduced by saving a variety taxon name with blank genus. So the problem that causes the exception to be raced must have been caused by something else. Most probably this has something to to with an un-clean session.

Actions #5

Updated by Andreas Kohlbecker over 5 years ago

  • Priority changed from Highest to Priority13
Actions #6

Updated by Andreas Kohlbecker about 5 years ago

  • Related to bug #8075: multiple cascade all-delete-orphan exceptions related to DefinedTermBase.representations added
Actions #7

Updated by Andreas Kohlbecker about 5 years ago

  • Target version changed from Release 5.6 to Vaadin Taxon Concept Editor
Actions #8

Updated by Andreas Kohlbecker about 5 years ago

  • Target version changed from Vaadin Taxon Concept Editor to Reviewed Next Major Release
Actions #9

Updated by Andreas Müller about 5 years ago

  • Priority changed from Priority13 to Priority10
Actions #10

Updated by Andreas Kohlbecker about 5 years ago

  • Priority changed from Priority10 to Priority13
Actions #11

Updated by Andreas Kohlbecker about 5 years ago

  • Priority changed from Priority13 to Highest
  • Target version changed from Reviewed Next Major Release to Release 5.6

potentially duplicate of #8161

Actions #12

Updated by Andreas Kohlbecker about 5 years ago

  • Is duplicate of bug #8161: *FilterablePagingProvider classes as transactional readonly spring beans added
Actions #13

Updated by Andreas Kohlbecker about 5 years ago

  • Status changed from New to Rejected

the *FilterablePagingProviders only are using service methods which are anyway annotated with @Transactional(readOnly=true), therefore it makes not much sense managing transactions in the *FilterablePagingProvider classes. - rejecting ticket

Actions #14

Updated by Andreas Müller about 5 years ago

  • Target version deleted (Release 5.6)
Actions

Also available in: Atom PDF