diff --git a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/collaboration/CollaborationRequest.java b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/collaboration/CollaborationRequest.java new file mode 100644 index 0000000000000000000000000000000000000000..95dcfbfaa2b210148f3dac4e45b83c1688e24217 --- /dev/null +++ b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/collaboration/CollaborationRequest.java @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2024 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.vorgang.collaboration; + +import lombok.Builder; + +@Builder +public class CollaborationRequest { + + private String vorgangId; + private int collaborationLevel; + private String zustaendigeStelle; +} diff --git a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/collaboration/CollaborationRequestMapper.java b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/collaboration/CollaborationRequestMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..7158875aeee297eb2c083b8ae35d5d20aaa80fd6 --- /dev/null +++ b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/collaboration/CollaborationRequestMapper.java @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2024 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.vorgang.collaboration; + +import org.mapstruct.Mapper; + +import de.ozgcloud.vorgang.vorgang.GrpcCollaborationRequest; + +@Mapper +public interface CollaborationRequestMapper { + + CollaborationRequest mapFrom(GrpcCollaborationRequest grpcCollaborationRequest); +} diff --git a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/collaboration/CollaborationRequestMapperTest.java b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/collaboration/CollaborationRequestMapperTest.java new file mode 100644 index 0000000000000000000000000000000000000000..f47f2bea7692a5ce1116bd07da8f70f6874dbf8d --- /dev/null +++ b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/collaboration/CollaborationRequestMapperTest.java @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2024 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.vorgang.collaboration; + +import static org.assertj.core.api.Assertions.*; + +import org.junit.jupiter.api.Test; +import org.mapstruct.factory.Mappers; + +class CollaborationRequestMapperTest { + + private final CollaborationRequestMapper mapper = Mappers.getMapper(CollaborationRequestMapper.class); + + @Test + void shouldMapFromGrpc() { + var result = mapper.mapFrom(GrpcCollaborationRequestTestFactory.create()); + + assertThat(result).usingRecursiveComparison().isEqualTo(CollaborationRequestTestFactory.create()); + } +} \ No newline at end of file diff --git a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/collaboration/CollaborationRequestTestFactory.java b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/collaboration/CollaborationRequestTestFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..f94a842b60e31af85300a8d3438e4bd407a84908 --- /dev/null +++ b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/collaboration/CollaborationRequestTestFactory.java @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 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.vorgang.collaboration; + +import de.ozgcloud.vorgang.collaboration.CollaborationRequest.CollaborationRequestBuilder; +import de.ozgcloud.vorgang.vorgang.VorgangTestFactory; + +public class CollaborationRequestTestFactory { + + public static final int COLLABORATION_lEVEL = 1; + public static final String ZUSTAENDIGE_STELLE = "zustaendige-stelle"; + + public static CollaborationRequest create() { + return createBuilder().build(); + } + + public static CollaborationRequestBuilder createBuilder() { + return CollaborationRequest.builder() + .vorgangId(VorgangTestFactory.ID) + .zustaendigeStelle(ZUSTAENDIGE_STELLE) + .collaborationLevel(COLLABORATION_lEVEL); + } + +} diff --git a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/collaboration/GrpcCollaborationRequestTestFactory.java b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/collaboration/GrpcCollaborationRequestTestFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..ea7b8304da1c996ca1edc733f556318869959dba --- /dev/null +++ b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/collaboration/GrpcCollaborationRequestTestFactory.java @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2024 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.vorgang.collaboration; + +import de.ozgcloud.vorgang.vorgang.GrpcCollaborationRequest; +import de.ozgcloud.vorgang.vorgang.VorgangTestFactory; + +public class GrpcCollaborationRequestTestFactory { + + public static GrpcCollaborationRequest create() { + return createBuilder().build(); + } + + public static GrpcCollaborationRequest.Builder createBuilder() { + return GrpcCollaborationRequest.newBuilder() + .setVorgangId(VorgangTestFactory.ID) + .setZustaendigeStelle(CollaborationRequestTestFactory.ZUSTAENDIGE_STELLE) + .setCollaborationLevel(CollaborationRequestTestFactory.COLLABORATION_lEVEL); + } +}