diff --git a/pluto-server/pom.xml b/pluto-server/pom.xml index 13b7b781af235f336c2fe725fcf39d1afad19e11..211e36fb379d01edfe4d452df0e5fd9df148b2ae 100644 --- a/pluto-server/pom.xml +++ b/pluto-server/pom.xml @@ -165,6 +165,13 @@ <type>test-jar</type> <scope>test</scope> </dependency> + <dependency> + <groupId>de.itvsh.ozg.pluto</groupId> + <artifactId>pluto-utils</artifactId> + <version>${project.version}</version> + <type>test-jar</type> + <scope>test</scope> + </dependency> <dependency> <groupId>org.springframework.boot</groupId> diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/AntragstellerMapper.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/AntragstellerMapper.java index cbc5e64d4de3e8a4bc16b80238c62f8788eaffd9..d4661300bfdb6e8657d6df86feef70b85891b705 100644 --- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/AntragstellerMapper.java +++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/AntragstellerMapper.java @@ -5,6 +5,8 @@ import org.mapstruct.Mapping; import org.mapstruct.NullValueCheckStrategy; import org.mapstruct.NullValuePropertyMappingStrategy; +import de.itvsh.kop.pluto.common.grpc.GrpcFormDataMapper; + @Mapper(uses = { GrpcFormDataMapper.class }, nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE, // nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS) interface AntragstellerMapper { diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/EingangMapper.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/EingangMapper.java index 88746c78005ea852fd010d8a297b0d616b672bc4..bb6afdb4bca4baa9bb98638da373302f21dea246 100644 --- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/EingangMapper.java +++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/EingangMapper.java @@ -9,6 +9,8 @@ import org.mapstruct.Mapping; import org.mapstruct.NullValueCheckStrategy; import org.mapstruct.NullValuePropertyMappingStrategy; +import de.itvsh.kop.pluto.common.grpc.GrpcFormDataMapper; + @Mapper(uses = { AntragstellerMapper.class, EingangHeaderMapper.class, IncomingFileMapper.class, GrpcFormDataMapper.class }, // nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE, // diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/AntragstellerMapperTest.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/AntragstellerMapperTest.java index 02bf7ec9fb2b484b0b543857353c9d68ba8e2e3e..9a099021e8c845a7e612137164f01b0c1557f481 100644 --- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/AntragstellerMapperTest.java +++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/AntragstellerMapperTest.java @@ -9,6 +9,8 @@ import org.mapstruct.factory.Mappers; import org.mockito.InjectMocks; import org.mockito.Spy; +import de.itvsh.kop.pluto.common.grpc.GrpcFormDataMapper; + class AntragstellerMapperTest { @InjectMocks diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/EingangMapperTest.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/EingangMapperTest.java index 978d8e8f2eab5739fcf0d7841cd5f266046ddeb6..e515edfec212f2c1b05712e844a8d7b88bd96a85 100644 --- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/EingangMapperTest.java +++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/EingangMapperTest.java @@ -1,6 +1,6 @@ package de.itvsh.ozg.pluto.vorgang; -import static de.itvsh.ozg.pluto.vorgang.GrpcSubFormTestFactory.*; +import static de.itvsh.kop.pluto.common.grpc.GrpcSubFormTestFactory.*; import static org.assertj.core.api.Assertions.*; import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; @@ -19,6 +19,8 @@ import org.mockito.Mock; import org.mockito.Spy; import org.springframework.test.util.ReflectionTestUtils; +import de.itvsh.kop.pluto.common.grpc.GrpcFormDataMapper; +import de.itvsh.kop.pluto.common.grpc.GrpcSubFormTestFactory; import de.itvsh.ozg.pluto.files.FileIdMapper; class EingangMapperTest { diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/GrpcEingangTestFactory.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/GrpcEingangTestFactory.java index a0de936abe27516f0b4513fd1ee543e259f7d840..c109aafa4b37e26d0294288657d819136e035787 100644 --- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/GrpcEingangTestFactory.java +++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/GrpcEingangTestFactory.java @@ -2,6 +2,8 @@ package de.itvsh.ozg.pluto.vorgang; import java.util.UUID; +import de.itvsh.kop.pluto.common.grpc.GrpcSubFormTestFactory; + public class GrpcEingangTestFactory { public static final String ID = UUID.randomUUID().toString(); diff --git a/pluto-utils/pom.xml b/pluto-utils/pom.xml index 5ec6276cb523a08c6fe0dddd8060abf095175c2b..93b26b685d88b346b0b8138dd24330c897564c3d 100644 --- a/pluto-utils/pom.xml +++ b/pluto-utils/pom.xml @@ -48,6 +48,16 @@ <artifactId>junit-jupiter-params</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-core</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-junit-jupiter</artifactId> + <scope>test</scope> + </dependency> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> @@ -57,6 +67,17 @@ <build> <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>test-jar</goal> + </goals> + </execution> + </executions> + </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> diff --git a/pluto-utils/src/main/java/de/itvsh/kop/pluto/common/grpc/GrpcFormDataMapper.java b/pluto-utils/src/main/java/de/itvsh/kop/pluto/common/grpc/GrpcFormDataMapper.java index 33a8d6c26eced3c6fb035ae2f5e8a736d2194cf8..1dc41f7719ebdf60cddee1bc1287a0483a3a6f42 100644 --- a/pluto-utils/src/main/java/de/itvsh/kop/pluto/common/grpc/GrpcFormDataMapper.java +++ b/pluto-utils/src/main/java/de/itvsh/kop/pluto/common/grpc/GrpcFormDataMapper.java @@ -1,4 +1,4 @@ -package de.itvsh.ozg.pluto.vorgang; +package de.itvsh.kop.pluto.common.grpc; import java.util.Collection; import java.util.HashMap; @@ -7,7 +7,6 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Objects; -import java.util.stream.Collectors; import org.apache.commons.lang3.tuple.Pair; import org.mapstruct.CollectionMappingStrategy; @@ -16,12 +15,16 @@ import org.mapstruct.NullValueCheckStrategy; import org.mapstruct.NullValuePropertyMappingStrategy; import org.mapstruct.ReportingPolicy; +import de.itvsh.ozg.pluto.vorgang.GrpcFormData; +import de.itvsh.ozg.pluto.vorgang.GrpcFormField; +import de.itvsh.ozg.pluto.vorgang.GrpcSubForm; + @Mapper(unmappedTargetPolicy = ReportingPolicy.WARN, // unmappedSourcePolicy = ReportingPolicy.WARN, // nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE, // nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS, // collectionMappingStrategy = CollectionMappingStrategy.ADDER_PREFERRED) -interface GrpcFormDataMapper { +public interface GrpcFormDataMapper { default GrpcFormData mapToFormData(Map<String, Object> formData) { return GrpcFormData.newBuilder() @@ -34,7 +37,7 @@ interface GrpcFormDataMapper { default List<GrpcFormField> mapToAllFields(Map<String, Object> formData) { return formData.entrySet().stream().filter(entry -> entry.getValue() instanceof String)// .map(entry -> mapToField(entry.getKey(), entry.getValue().toString()))// - .collect(Collectors.toList()); + .toList(); } default List<GrpcFormField> mapStringListsToFields(Map<String, Object> formData) { @@ -42,7 +45,7 @@ interface GrpcFormDataMapper { .filter(entry -> entry.getValue() instanceof List) .map(this::mapListStringElementsToFormFields) .flatMap(List::stream) - .collect(Collectors.toList()); + .toList(); } @SuppressWarnings("unchecked") @@ -51,7 +54,7 @@ interface GrpcFormDataMapper { .filter(String.class::isInstance) .map(String.class::cast) .map(e -> mapToField(entry.getKey(), e)) - .collect(Collectors.toList()); + .toList(); } default List<GrpcSubForm> mapObjectListsToFields(Map<String, Object> formData) { @@ -59,7 +62,7 @@ interface GrpcFormDataMapper { .filter(entry -> entry.getValue() instanceof List) .map(this::mapListObjectElementsToFormFields) .flatMap(List::stream) - .collect(Collectors.toList()); + .toList(); } @SuppressWarnings("unchecked") @@ -68,7 +71,7 @@ interface GrpcFormDataMapper { .filter(Map.class::isInstance) .map(Map.class::cast) .map(e -> buildSubForm(entry.getKey(), e)) - .collect(Collectors.toList()); + .toList(); } @SuppressWarnings("unchecked") @@ -76,7 +79,7 @@ interface GrpcFormDataMapper { return formData.entrySet().stream() .filter(entry -> entry.getValue() instanceof Map) .map(entry -> buildSubForm(entry.getKey(), (Map<String, Object>) entry.getValue())) - .collect(Collectors.toList()); + .toList(); } default GrpcSubForm buildSubForm(String name, Map<String, Object> map) { diff --git a/pluto-utils/src/test/java/de/itvsh/kop/pluto/common/grpc/GrpcFormDataMapperTest.java b/pluto-utils/src/test/java/de/itvsh/kop/pluto/common/grpc/GrpcFormDataMapperTest.java index 562ddbf465a2582aecbfaccb7a4d46e11318e459..6ad0cd460a36640c2b21cd2e53b67c9c1e34a6e7 100644 --- a/pluto-utils/src/test/java/de/itvsh/kop/pluto/common/grpc/GrpcFormDataMapperTest.java +++ b/pluto-utils/src/test/java/de/itvsh/kop/pluto/common/grpc/GrpcFormDataMapperTest.java @@ -1,4 +1,4 @@ -package de.itvsh.ozg.pluto.vorgang; +package de.itvsh.kop.pluto.common.grpc; import static org.assertj.core.api.Assertions.*; import static org.mockito.ArgumentMatchers.*; @@ -17,6 +17,10 @@ import org.mapstruct.factory.Mappers; import org.mockito.InjectMocks; import org.mockito.Mock; +import de.itvsh.ozg.pluto.vorgang.GrpcFormData; +import de.itvsh.ozg.pluto.vorgang.GrpcFormField; +import de.itvsh.ozg.pluto.vorgang.GrpcSubForm; + class GrpcFormDataMapperTest { @InjectMocks @@ -27,7 +31,7 @@ class GrpcFormDataMapperTest { @BeforeEach void mockMapperReturnValues() { - lenient().when(grpcFormDataMapper.mapToFormData(any(Map.class))) + lenient().when(grpcFormDataMapper.mapToFormData(anyMap())) .thenReturn(GrpcFormData.newBuilder().addField(GrpcFormFieldTestFactory.create()).build()); } diff --git a/pluto-utils/src/test/java/de/itvsh/kop/pluto/common/grpc/GrpcFormFieldTestFactory.java b/pluto-utils/src/test/java/de/itvsh/kop/pluto/common/grpc/GrpcFormFieldTestFactory.java index 0abb2fbee7c6f27b16aacec00a311f2122a2aaab..8fe4feb11599c5bfba7dcdad27901c0ff4c7c71b 100644 --- a/pluto-utils/src/test/java/de/itvsh/kop/pluto/common/grpc/GrpcFormFieldTestFactory.java +++ b/pluto-utils/src/test/java/de/itvsh/kop/pluto/common/grpc/GrpcFormFieldTestFactory.java @@ -1,4 +1,6 @@ -package de.itvsh.ozg.pluto.vorgang; +package de.itvsh.kop.pluto.common.grpc; + +import de.itvsh.ozg.pluto.vorgang.GrpcFormField; public class GrpcFormFieldTestFactory {