Project

General

Profile

bug #8107

NPE when throwing PopupEditorException in AbstractPopupEditor

Added by Andreas Kohlbecker about 1 month ago. Updated 16 days ago.

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

100%

Severity:
normal
Found in Version:
Tags:

Description

Heba reported an NPE which occurred while saving a name popup editor:

Problem beim Speichern um 10:08 Uhr.
http://api.phycobank.org/phycobank/app/registration#!workingset/8295ec6c-d84f-409a-a83c-0e5215a94fe3

Das Problem war bei:

Jadwigia Limnetica Woloszynskia limnetica Bursa 1958

ava.lang.NullPointerException
                at eu.etaxonomy.vaadin.mvp.AbstractPopupEditor.boundPropertyIdPath(AbstractPopupEditor.java:597)
                at eu.etaxonomy.cdm.vaadin.event.EditorActionContext.getTargetPropertyIdPath(EditorActionContext.java:67)
                at eu.etaxonomy.cdm.vaadin.event.EditorActionContextFormatter.format(EditorActionContextFormatter.java:73)
                at eu.etaxonomy.cdm.vaadin.event.EditorActionContextFormatter.format(EditorActionContextFormatter.java:139)
                at eu.etaxonomy.vaadin.mvp.PopupEditorException.<init>(PopupEditorException.java:40)
                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.GeneratedMethodAccessor446.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.GeneratedMethodAccessor459.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 java.lang.Thread.run(Thread.java:748)

Associated revisions

Revision 592b9851 (diff)
Added by Andreas Kohlbecker about 1 month ago

ref #8107 getFieldGroup() returns Optional to avoid NPEs and logging errors before rethrowing as PopupEditorException

History

#1 Updated by Andreas Kohlbecker about 1 month ago

  • Status changed from New to In Progress

The NPE occurred during while creating the PopupEditorException to be thrown in turn of an other exception which has been thrown in the AbstractPopupEditor.save() method during fieldGroup.commit();

All information on the original exception is lost.

#2 Updated by Andreas Kohlbecker about 1 month ago

[Henning:]

Hier waren Gattungsnamen vor dem Import nicht verfügbar, daher wurde das Pflichtfeld Gattungsname nicht ausgefüllt. Hebas NullPointException (ihre Mail an den Support ca 10:16) hing damit zusammen, dass die Blocking registration = das Basionym nicht gespeichtert war. Ich dachte, dass das vielleicht mit dem fehlenden Gattungsname zusammenhängt und habe "Jadwigia" = unregistriert aus der Auswahl genommen. Das Speichern hat erst beim 3. Mal funktioniert. Beim Wiederaufruf war jeweils das Gattungsfeld leer.

Dieses Problem und die NullPointerException versiche ich nachzuvollziehen aber ohne Erfolg. Ich habe den Fall auf zwei Arten als User 'Heba' durchgespielt:

  1. Jadwigia limnetica: Existierenden Genus aus Liste der verfügbaren aber nicht registrierten Namen ausgewählt --> kein Probelm beim Speichern
  2. Genus Jadwigia neu angelegt. (Der Einfachheit halber habe ich eine existierende Refenz genommen.) --> kein Problem beim speicheren.

Hab ihr etwas anders gemacht als ich, habe ich den Usecase nicht ganz verstanden?

#3 Updated by Andreas Kohlbecker about 1 month ago

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

#4 Updated by Andreas Kohlbecker 16 days ago

  • Status changed from Feedback to Closed
  • Assignee changed from Wolf-Henning Kusber to Andreas Kohlbecker
  • % Done changed from 0 to 100

issue is not reproducible - closing.

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 40 MB)