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
will fix this.
Note! that the classes need to be recreated. see https://github.com/ehrbase/openEHR_SDK/tree/feature/dto_handle_interval/client/src/test/java/org/ehrbase/client/classgenerator/examples/errortestcomposition