From c88f36f2ab08d923ae7bd66fe15ed5c2ca4b92f1 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Sat, 28 Jun 2025 15:12:17 +0200 Subject: [PATCH] fix: possible NPE if no notes given --- .../onco/datamapper/mapper/TherapieplanDataMapper.java | 8 ++++++-- .../datamapper/mapper/TherapieplanDataMapperTest.java | 6 +++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/dev/pcvolkmer/onco/datamapper/mapper/TherapieplanDataMapper.java b/src/main/java/dev/pcvolkmer/onco/datamapper/mapper/TherapieplanDataMapper.java index 84ac8a5..e4a74dd 100644 --- a/src/main/java/dev/pcvolkmer/onco/datamapper/mapper/TherapieplanDataMapper.java +++ b/src/main/java/dev/pcvolkmer/onco/datamapper/mapper/TherapieplanDataMapper.java @@ -50,11 +50,15 @@ public class TherapieplanDataMapper implements DataMapper { .id(therapieplanData.getString("id")) .patient(getPatientReference(therapieplanData.getString("patient_id"))) .issuedOn(therapieplanData.getDate("datum")) - // TODO see https://github.com/dnpm-dip/mtb-model/issues/8 - .notes(List.of(therapieplanData.getString("protokollauszug"))) .medicationRecommendations(einzelempfehlungWirkstoffDataMapper.getByParentId(id)) .procedureRecommendations(einzelempfehlungProzedurDataMapper.getByParentId(id)) ; + + if (therapieplanData.getString("protokollauszug") != null) { + // TODO see https://github.com/dnpm-dip/mtb-model/issues/8 + builder.notes(List.of(therapieplanData.getString("protokollauszug"))); + } + return builder.build(); } diff --git a/src/test/java/dev/pcvolkmer/onco/datamapper/mapper/TherapieplanDataMapperTest.java b/src/test/java/dev/pcvolkmer/onco/datamapper/mapper/TherapieplanDataMapperTest.java index e706b00..32f7a7f 100644 --- a/src/test/java/dev/pcvolkmer/onco/datamapper/mapper/TherapieplanDataMapperTest.java +++ b/src/test/java/dev/pcvolkmer/onco/datamapper/mapper/TherapieplanDataMapperTest.java @@ -46,7 +46,8 @@ class TherapieplanDataMapperTest { final var testData = Map.of( "id", "1", "patient_id", "42", - "wirkstoffe_json", "[{\"code\":\"\",\"name\":\"PARP-Inhibierung\",\"system\":\"UNREGISTERED\"}]" + "wirkstoffe_json", "[{\"code\":\"\",\"name\":\"PARP-Inhibierung\",\"system\":\"UNREGISTERED\"}]", + "protokollauszug", "Das ist ein Protokollauszug" ); doAnswer(invocationOnMock -> { @@ -69,6 +70,9 @@ class TherapieplanDataMapperTest { .isEqualTo(Reference.builder().id("42").type("Patient").build()); assertThat(actual.getMedicationRecommendations()).hasSize(1); + + assertThat(actual.getNotes()).hasSize(1); + assertThat(actual.getNotes().get(0)).isEqualTo("Das ist ein Protokollauszug"); } }