From 046a9bc4e75fd24a46915e6d338ebeb0c89f36a4 Mon Sep 17 00:00:00 2001 From: "Zickermann, Jan" <jan.zickermann@dataport.de> Date: Wed, 8 May 2024 08:44:11 +0200 Subject: [PATCH] OZG-5413 xta: Fix number of files --- .../java/de/ozgcloud/eingang/xta/XtaMessageMapper.java | 8 ++++---- .../de/ozgcloud/eingang/xta/XtaMessageMapperTest.java | 7 +++++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/xta-adapter/src/main/java/de/ozgcloud/eingang/xta/XtaMessageMapper.java b/xta-adapter/src/main/java/de/ozgcloud/eingang/xta/XtaMessageMapper.java index 8a4735345..af561ff94 100644 --- a/xta-adapter/src/main/java/de/ozgcloud/eingang/xta/XtaMessageMapper.java +++ b/xta-adapter/src/main/java/de/ozgcloud/eingang/xta/XtaMessageMapper.java @@ -11,9 +11,10 @@ import de.ozgcloud.eingang.common.formdata.FormData; import de.ozgcloud.eingang.common.formdata.FormHeader; import de.ozgcloud.eingang.common.formdata.IncomingFile; import de.ozgcloud.eingang.common.vorgang.VorgangNummerSupplier; +import de.ozgcloud.eingang.semantik.enginebased.FilesMapperHelper; import de.ozgcloud.eingang.xdomea.XdomeaMessageData; -@Mapper +@Mapper(imports = FilesMapperHelper.class) interface XtaMessageMapper { int VORGANG_NUMMER_SUFFIX_LENGTH = 4; @@ -22,9 +23,8 @@ interface XtaMessageMapper { @Mapping(target = "id", ignore = true) @Mapping(target = "zustaendigeStelle", ignore = true) @Mapping(target = "header", source = "metaData") - @Mapping(target = "numberOfAttachments", ignore = true) - // TODO: Eine Lösung, bei der fromData nicht zweimal gebaut wird wäre gut - @Mapping(target = "numberOfRepresentations", dependsOn = "representations", expression = "java(formData.build().getRepresentations().size())") + @Mapping(target = "numberOfAttachments", expression = "java(FilesMapperHelper.countAttachedFiles(xdomeaMessageData.attachments()))") + @Mapping(target = "numberOfRepresentations", dependsOn = "representations", expression = "java(getRepresentations(xdomeaMessageData).size())") @Mapping(target = "representations", source = "xdomeaMessageData") @Mapping(target = "representation", ignore = true) @Mapping(target = "attachment", ignore = true) diff --git a/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaMessageMapperTest.java b/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaMessageMapperTest.java index d96b24823..b9bcda822 100644 --- a/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaMessageMapperTest.java +++ b/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaMessageMapperTest.java @@ -46,6 +46,13 @@ class XtaMessageMapperTest { assertThat(formData.getRepresentations()).containsExactly(xdomeaMessageData.metadataFile(), xdomeaMessageData.representations().getFirst()); } + @Test + void shouldSetNumberOfAttachments() { + var formData = doMapping(); + + assertThat(formData.getNumberOfAttachments()).isEqualTo(1); + } + @Test void shouldSetNumberOfRepresentations() { var formData = doMapping(); -- GitLab