From 596040cd9e4fcf2b5dc887866be0439142b07546 Mon Sep 17 00:00:00 2001 From: Krzysztof Witukiewicz <krzysztof.witukiewicz@mgm-tp.com> Date: Tue, 18 Feb 2025 16:30:11 +0100 Subject: [PATCH] OZG-7608 OZG-7736 Complete mapper for OzgCloudVorgangStub --- .../apilib/vorgang/OzgCloudVorgangHeader.java | 1 + .../grpc/OzgCloudVorgangHeaderMapper.java | 37 +++++++++++++++++++ .../grpc/OzgCloudVorgangStubMapper.java | 7 ++-- .../OzgCloudVorgangStubTestFactory.java | 1 + .../grpc/OzgCloudVorgangHeaderMapperTest.java | 32 ++++++++++++++++ .../grpc/OzgCloudVorgangStubMapperTest.java | 28 +++++++++----- 6 files changed, 93 insertions(+), 13 deletions(-) create mode 100644 api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangHeaderMapper.java create mode 100644 api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangHeaderMapperTest.java diff --git a/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/OzgCloudVorgangHeader.java b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/OzgCloudVorgangHeader.java index 7737b3d..703f872 100644 --- a/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/OzgCloudVorgangHeader.java +++ b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/OzgCloudVorgangHeader.java @@ -32,6 +32,7 @@ import lombok.ToString; @Builder @Getter +@ToString public class OzgCloudVorgangHeader { private OzgCloudVorgangStatus status; diff --git a/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangHeaderMapper.java b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangHeaderMapper.java new file mode 100644 index 0000000..032f2fa --- /dev/null +++ b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangHeaderMapper.java @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2025 Das Land Schleswig-Holstein vertreten durch den + * Ministerpräsidenten des Landes Schleswig-Holstein + * Staatskanzlei + * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung + * + * Lizenziert unter der EUPL, Version 1.2 oder - sobald + * diese von der Europäischen Kommission genehmigt wurden - + * Folgeversionen der EUPL ("Lizenz"); + * Sie dürfen dieses Werk ausschließlich gemäß + * dieser Lizenz nutzen. + * Eine Kopie der Lizenz finden Sie hier: + * + * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 + * + * Sofern nicht durch anwendbare Rechtsvorschriften + * gefordert oder in schriftlicher Form vereinbart, wird + * die unter der Lizenz verbreitete Software "so wie sie + * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - + * ausdrücklich oder stillschweigend - verbreitet. + * Die sprachspezifischen Genehmigungen und Beschränkungen + * unter der Lizenz sind dem Lizenztext zu entnehmen. + */ +package de.ozgcloud.apilib.vorgang.grpc; + +import org.mapstruct.Mapper; + +import de.ozgcloud.apilib.vorgang.OzgCloudUserIdMapper; +import de.ozgcloud.apilib.vorgang.OzgCloudVorgangHeader; +import de.ozgcloud.apilib.vorgang.OzgCloudVorgangStatusMapper; +import de.ozgcloud.vorgang.vorgang.GrpcVorgangHeader; + +@Mapper(uses = { OzgCloudVorgangStatusMapper.class, OzgCloudUserIdMapper.class }) +public interface OzgCloudVorgangHeaderMapper { + + OzgCloudVorgangHeader fromGrpc(GrpcVorgangHeader vorgang); +} diff --git a/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangStubMapper.java b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangStubMapper.java index e7e046b..dd3d7a1 100644 --- a/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangStubMapper.java +++ b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangStubMapper.java @@ -30,12 +30,11 @@ import de.ozgcloud.apilib.vorgang.OzgCloudVorgangIdMapper; import de.ozgcloud.apilib.vorgang.OzgCloudVorgangStub; import de.ozgcloud.vorgang.vorgang.GrpcVorgangHeader; -@Mapper(uses = OzgCloudVorgangIdMapper.class) +@Mapper(uses = { OzgCloudVorgangIdMapper.class, OzgCloudVorgangHeaderMapper.class }) public interface OzgCloudVorgangStubMapper { - @Mapping(target = "header", ignore = true) - @Mapping(target = "vorgangNummer", ignore = true) + @Mapping(target = "vorgangNummer", source = "nummer") @Mapping(target = "vorgangName", source = "name") + @Mapping(target = "header", source = ".") OzgCloudVorgangStub fromGrpc(GrpcVorgangHeader vorgang); - } diff --git a/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/OzgCloudVorgangStubTestFactory.java b/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/OzgCloudVorgangStubTestFactory.java index a7fa49c..3790b25 100644 --- a/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/OzgCloudVorgangStubTestFactory.java +++ b/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/OzgCloudVorgangStubTestFactory.java @@ -34,6 +34,7 @@ public class OzgCloudVorgangStubTestFactory { .id(OzgCloudVorgangTestFactory.ID) .version(OzgCloudVorgangTestFactory.VERSION) .vorgangName(OzgCloudVorgangTestFactory.VORGANG_NAME) + .vorgangNummer(OzgCloudVorgangTestFactory.VORGANG_NUMMER) .header(OzgCloudVorgangHeaderTestFactory.create()); } } diff --git a/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangHeaderMapperTest.java b/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangHeaderMapperTest.java new file mode 100644 index 0000000..23b97de --- /dev/null +++ b/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangHeaderMapperTest.java @@ -0,0 +1,32 @@ +package de.ozgcloud.apilib.vorgang.grpc; + +import static org.assertj.core.api.Assertions.*; + +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.mapstruct.factory.Mappers; + +import de.ozgcloud.apilib.vorgang.OzgCloudVorgangHeader; +import de.ozgcloud.apilib.vorgang.OzgCloudVorgangHeaderTestFactory; + +class OzgCloudVorgangHeaderMapperTest { + + private final OzgCloudVorgangHeaderMapper mapper = Mappers.getMapper(OzgCloudVorgangHeaderMapper.class); + + @Nested + class TestFromGrpc { + + @Test + void shouldMap() { + var mapped = mapper.fromGrpc(GrpcVorgangHeaderTestFactory.create()); + + assertThat(mapped).usingRecursiveComparison().isEqualTo(vorgangHeaderWithoutServiceKonto()); + } + + private static OzgCloudVorgangHeader vorgangHeaderWithoutServiceKonto() { + return OzgCloudVorgangHeaderTestFactory.createBuilder() + .serviceKonto(null) + .build(); + } + } +} diff --git a/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangStubMapperTest.java b/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangStubMapperTest.java index 699dac3..59fee9b 100644 --- a/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangStubMapperTest.java +++ b/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangStubMapperTest.java @@ -25,24 +25,34 @@ package de.ozgcloud.apilib.vorgang.grpc; import static org.assertj.core.api.Assertions.*; +import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import org.mapstruct.factory.Mappers; +import de.ozgcloud.apilib.vorgang.OzgCloudVorgangHeaderTestFactory; +import de.ozgcloud.apilib.vorgang.OzgCloudVorgangStub; import de.ozgcloud.apilib.vorgang.OzgCloudVorgangStubTestFactory; class OzgCloudVorgangStubMapperTest { - private OzgCloudVorgangStubMapper mapper = Mappers.getMapper(OzgCloudVorgangStubMapper.class); + private final OzgCloudVorgangStubMapper mapper = Mappers.getMapper(OzgCloudVorgangStubMapper.class); - @Test - void shouldMapStubFields() { - var expected = OzgCloudVorgangStubTestFactory.createBuilder() - .header(null) - .vorgangNummer(null) - .build(); + @Nested + class TestFromGrpc { - var mapped = mapper.fromGrpc(GrpcVorgangHeaderTestFactory.create()); + @Test + void shouldMap() { + var mapped = mapper.fromGrpc(GrpcVorgangHeaderTestFactory.create()); - assertThat(mapped).usingRecursiveComparison().isEqualTo(expected); + assertThat(mapped).usingRecursiveComparison().isEqualTo(vorgangStubWithoutServiceKonto()); + } + + private static OzgCloudVorgangStub vorgangStubWithoutServiceKonto() { + return OzgCloudVorgangStubTestFactory.createBuilder() + .header(OzgCloudVorgangHeaderTestFactory.createBuilder() + .serviceKonto(null) + .build()) + .build(); + } } } -- GitLab