Project

General

Profile

bug #8099

Error saving name type designation editor due to problem in poupeditor context

Added by Wolf-Henning Kusber 10 months ago. Updated 7 months ago.

Status:
Closed
Priority:
Priority14
Category:
cdm-vaadin
Target version:
Start date:
02/15/2019
Due date:
% Done:

100%

Severity:
normal
Found in Version:
Tags:

Description

Documentation:
Step 1: open Name type of "Geitleriaceae"
Step 2: type name was wrong, select unregistered genus name "Geitleria" from drop down list.
Step 3: insert reference, warning "Botaniska Notiser" available from dropdown list, but in category "generic"
Step 4: edit "Botaniska Notiser" = journal [Role curator]
Step 5: save "Geitleria": no error
Step 6: Back to the page "Edit type name designation" of the "Name type designation editor": Trying to save, but the following exception occurred:

eu.etaxonomy.vaadin.mvp.PopupEditorException: Error saving popup editor -  context [user=curator] :Edit registration (TypedEntityReference: Registration#2b503a58-a557-458a-868f-f350e17f7e34) > Edit name type designation (NameTypeDesignation#1847<997421a6-f429-4c88-815d-6787bd26c226>)
    at eu.etaxonomy.vaadin.mvp.AbstractPopupEditor.save(AbstractPopupEditor.java:448)
    at eu.etaxonomy.vaadin.mvp.AbstractPopupEditor.lambda$new$fad408e6$1(AbstractPopupEditor.java:174)
    at sun.reflect.GeneratedMethodAccessor826.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.GeneratedMethodAccessor837.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)
Caused by: com.vaadin.data.fieldgroup.FieldGroup$CommitException: Commit failed
    at com.vaadin.data.fieldgroup.FieldGroup.commit(FieldGroup.java:509)
    at eu.etaxonomy.vaadin.mvp.AbstractPopupEditor.save(AbstractPopupEditor.java:428)
    ... 80 more
Caused by: com.vaadin.data.fieldgroup.FieldGroup$CommitException: Failed to store data to backend
    at eu.etaxonomy.vaadin.mvp.AbstractPopupEditor$SaveHandler.postCommit(AbstractPopupEditor.java:374)
    at com.vaadin.data.fieldgroup.FieldGroup.firePostCommitEvent(FieldGroup.java:625)
    at com.vaadin.data.fieldgroup.FieldGroup.commit(FieldGroup.java:501)
    ... 81 more
Caused by: java.util.NoSuchElementException: No value present
    at java.util.Optional.get(Optional.java:135)
    at eu.etaxonomy.cdm.vaadin.view.registration.RegistrationWorkingsetPresenter.findRegistrationInContext(RegistrationWorkingsetPresenter.java:816)
    at eu.etaxonomy.cdm.vaadin.view.registration.RegistrationWorkingsetPresenter.onDoneWithTypeDesignationEditor(RegistrationWorkingsetPresenter.java:696)
    at sun.reflect.GeneratedMethodAccessor873.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$1.onEvent(ScopedEventBus.java:58)
    at org.vaadin.spring.events.internal.EventBusListenerWrapper.publish(EventBusListenerWrapper.java:55)
    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:131)
    at org.vaadin.spring.events.internal.ScopedEventBus.publish(ScopedEventBus.java:133)
    at org.vaadin.spring.events.internal.ScopedEventBus.publish(ScopedEventBus.java:121)
    at eu.etaxonomy.vaadin.mvp.AbstractPopupEditor$SaveHandler.postCommit(AbstractPopupEditor.java:371)
    ... 83 more

picture815-1.png View (32.1 KB) Wolf-Henning Kusber, 02/15/2019 03:51 PM


Related issues

Related to Edit - bug #8107: NPE when throwing PopupEditorException in AbstractPopupEditor Closed 02/18/2019

Associated revisions

Revision 77056dda (diff)
Added by Andreas Kohlbecker 9 months ago

ref #8099 better logging of error conditions and more robust error handling in save()

Revision 595150ac (diff)
Added by Andreas Kohlbecker 9 months ago

ref #8099 better logging of error conditions and more robust error handling in save()

Revision 7d6b1e3a (diff)
Added by Andreas Kohlbecker 9 months ago

ref #8107 ref #8099 reverting changes which have been picked from hotfix branch in favour of the better implementation in the develop branch

History

#1 Updated by Andreas Kohlbecker 10 months ago

  • Tags set to phycobank
  • Subject changed from Error saving popup editor to Error saving name type designation editor due to problem in poupeditor context
  • Category set to cdm-vaadin
  • Priority changed from New to Highest
  • Target version changed from Unassigned CDM tickets to Release 5.6

#2 Updated by Andreas Kohlbecker 10 months ago

  • Description updated (diff)

#3 Updated by Andreas Kohlbecker 10 months ago

Hakllo Henning

ich verstehe Step 2,3 oben nicht, was hat du da genau gemacht?

Andreas

#4 Updated by Andreas Kohlbecker 10 months ago

  • Status changed from New to Feedback
  • Assignee changed from Andreas Kohlbecker to Wolf-Henning Kusber

#5 Updated by Andreas Kohlbecker 10 months ago

AHH ich glaube jetzt habe ich es. Ein alter Dump der DB hat mir*Geitleriaceae Kilgore & J.R.Johans.* auf die Sprünge geholfen ....

Der Type-Name war ursprünglich Geitleriaceae Kilgore & J.R.Johans. den hat du auf "Geitleria" geändert ...

aber "Geitleria" ist in meiner Version nicht im System, kam dieser Name erst durch den Import rein?

Das ist alles sehr rätselhaft und Zeitaufwänndig

#6 Updated by Wolf-Henning Kusber 10 months ago

Da gab es mehrere Korrekturen und Bearbeitungen [vielleicht ein Spezialproblem, das im normalen Betrieb nicht vorkommt?]: (siehe alte Version)
Journal angebunden
Type Geitleriaceae gelöscht
Name: Geitleria ist durch neuen Import ins System gekommen, wenn das so ist wurde der Name mit Autor versehen.

Kilgore, C., Johansen, J.R., Mai, T. & al., Molecular characterization of Geitleria appalachiana sp. nov. (Nostocales, Cyanobacteria) and formation of Geitleriaceae fam. nov. in - undefined journal - 18(2): 150–163. 2018
Geitleriaceae Kilgore & J.R.Johans. NameType: orig. des., Geitleriaceae Kilgore & J.R.Johans. Kilgore, C. & Johansen, J.R. - in Kilgore, C., Johansen, J.R., Mai, T. & al., Molecular characterization of Geitleria appalachiana sp. nov. (Nostocales, Cyanobacteria) and formation of Geitleriaceae fam. nov. in - undefined journal - 18(2): 150–163. 2018:159

#7 Updated by Wolf-Henning Kusber 10 months ago

  • Assignee changed from Wolf-Henning Kusber to Andreas Kohlbecker

#8 Updated by Andreas Kohlbecker 9 months ago

  • Priority changed from Highest to Priority14

can not reproduce

#9 Updated by Andreas Kohlbecker 9 months ago

this exception augments another exception which happened during the save() operation. Any information on the original problem is lost.

#10 Updated by Andreas Kohlbecker 9 months ago

  • Related to bug #8107: NPE when throwing PopupEditorException in AbstractPopupEditor added

#11 Updated by Andreas Kohlbecker 8 months ago

  • Status changed from Feedback to Resolved
  • % Done changed from 0 to 30

#12 Updated by Andreas Kohlbecker 7 months ago

  • Status changed from Resolved to Closed
  • % Done changed from 30 to 100

the problem which augments other exceptions has been fixed, since further information on the root cause has been lost it is impossible to do more about this problem - closing this issue therefore.

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 40 MB)