From 4bfcbbbbab04343669980f3800487557de4454c2 Mon Sep 17 00:00:00 2001 From: "Zickermann, Jan" <jan.zickermann@dataport.de> Date: Mon, 3 Jun 2024 10:35:04 +0200 Subject: [PATCH] OZG-5412 mantel-antrag: Fix NPE when formId null --- .../MantelantragFormBasedMapper.java | 8 +++--- .../MantelantragFormBasedMapperTest.java | 26 +++++++++++++++++++ 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragFormBasedMapper.java b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragFormBasedMapper.java index 0c10729d0..4266a59f2 100644 --- a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragFormBasedMapper.java +++ b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragFormBasedMapper.java @@ -34,10 +34,10 @@ public class MantelantragFormBasedMapper implements FormBasedMapper { @Override public boolean isResponsible(FormData formData) { - return formData - .getHeader() - .getFormId() - .equals(MANTELANTRAG_FORM_ID); + return Optional.ofNullable(formData.getHeader()) + .flatMap(header -> Optional.ofNullable(header.getFormId())) + .map(MANTELANTRAG_FORM_ID::equals) + .orElse(false); } @Override diff --git a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragFormBasedMapperTest.java b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragFormBasedMapperTest.java index 5bc55d0d9..ae15e0d29 100644 --- a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragFormBasedMapperTest.java +++ b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragFormBasedMapperTest.java @@ -63,6 +63,32 @@ class MantelantragFormBasedMapperTest { assertThat(isResponsibleResult).isFalse(); } + @DisplayName("should be false if header null") + @Test + void shouldBeFalseIfHeaderNull() { + var formData = FormDataTestFactory.createBuilder() + .header(null) + .build(); + + var isResponsibleResult = mapper.isResponsible(formData); + + assertThat(isResponsibleResult).isFalse(); + } + + @DisplayName("should be false if form id null") + @Test + void shouldBeFalseIfFormIdNull() { + var formData = FormDataTestFactory.createBuilder() + .header(FormHeaderTestFactory.createBuilder() + .formId(null) + .build()) + .build(); + + var isResponsibleResult = mapper.isResponsible(formData); + + assertThat(isResponsibleResult).isFalse(); + } + private FormData createWithFormId(String formId) { return FormDataTestFactory.createBuilder() .header(FormHeaderTestFactory.createBuilder() -- GitLab