ehrbase/openEHR_SDK

NullPointer when trying to unflatten a composition with a DateTime attribute with generated Java classes

Closed this issue · 1 comments

Configuration information

  • EHRbase version: -
  • openEHR_SDK version: 1.17.0 / 0.17.0
  • Archie version: 1.0.4
  • PostgreSQL version: -
  • Java Runtime version: 11
  • Operating System version: 5.10.96-1-MANJARO

Steps to reproduce

Run the provided example project with a small example template and it's corresponding generated java classes:
https://github.com/ywarnecke/ehrbase-error-example

Actual result

NullPointerException:
[main] WARN org.ehrbase.client.flattener.DtoToCompositionWalker - Path /content[openEHR-EHR-OBSERVATION.laboratory_test_result.v1]/data[at0001]/events[at0002]/data[at0003]/items[openEHR-EHR-CLUSTER.specimen.v1]/items[at0015]/value is choice but LocalDateTime is missing OptionFor [main] WARN org.ehrbase.client.flattener.DtoToCompositionWalker - Path /content[openEHR-EHR-OBSERVATION.laboratory_test_result.v1]/data[at0001]/events[at0002]/data[at0003]/items[openEHR-EHR-CLUSTER.specimen.v1]/items[at0015]/value is choice but LocalDateTime is missing OptionFor Exception in thread "main" java.lang.NullPointerException at org.ehrbase.client.flattener.DtoToCompositionWalker.handleSingleValue(DtoToCompositionWalker.java:247) at org.ehrbase.client.flattener.DtoToCompositionWalker.preHandle(DtoToCompositionWalker.java:153) at org.ehrbase.serialisation.walker.Walker.handle(Walker.java:88) at org.ehrbase.serialisation.walker.Walker.handle(Walker.java:150) at org.ehrbase.serialisation.walker.Walker.handle(Walker.java:150) at org.ehrbase.serialisation.walker.Walker.handle(Walker.java:150) at org.ehrbase.serialisation.walker.Walker.handle(Walker.java:150) at org.ehrbase.serialisation.walker.Walker.lambda$handle$4(Walker.java:180) at java.base/java.util.HashMap.forEach(HashMap.java:1337) at org.ehrbase.serialisation.walker.Walker.handle(Walker.java:168) at org.ehrbase.serialisation.walker.Walker.handle(Walker.java:150) at org.ehrbase.serialisation.walker.Walker.handle(Walker.java:150) at org.ehrbase.serialisation.walker.Walker.walk(Walker.java:83) at org.ehrbase.serialisation.walker.Walker.walk(Walker.java:56) at org.ehrbase.client.flattener.Unflattener.unflatten(Unflattener.java:72) at EhrbaseUtils.runUnflatten(EhrbaseUtils.java:27) at RunTest.main(RunTest.java:11)

Expected result (Acceptance Criteria)

The program should be able to unflatten the CompositionEntity Object

Definition of Done

  • The defect is checked by an unit or an integration test (Robot)
  • Merge Request approved
  • Unit tests passed
  • Build without errors
  • Release notes prepared
  • No additional runtime warnings