From a5e03340c040d5781424359862a92590253bf411 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Tue, 7 Jun 2022 19:50:45 +0200 Subject: [PATCH] OZG-1517 use new zentral mapper --- pluto-server/pom.xml | 53 +++++----- .../GrpcVorgangAttachedItemMapper.java | 2 +- .../GrpcCreateCommandRequestMapper.java | 2 +- ...MigrateMailServiceAttachmentsToGridFs.java | 6 +- .../GrpcVorgangAttachedItemMapperTest.java | 2 +- pluto-utils/pom.xml | 97 +++++++++++++++++++ .../pluto/common/grpc/GrpcObjectMapper.java | 5 +- .../common/grpc/GrpcObjectMapperTest.java | 12 +-- .../common/grpc/GrpcObjectTestFactory.java | 5 +- pom.xml | 1 + 10 files changed, 144 insertions(+), 41 deletions(-) create mode 100644 pluto-utils/pom.xml diff --git a/pluto-server/pom.xml b/pluto-server/pom.xml index 629bf0bec..13b7b781a 100644 --- a/pluto-server/pom.xml +++ b/pluto-server/pom.xml @@ -1,14 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>de.itvsh.kop.common</groupId> <artifactId>kop-common-parent</artifactId> <version>1.1.0</version> - <relativePath/> + <relativePath /> </parent> <groupId>de.itvsh.ozg.pluto</groupId> @@ -28,7 +26,7 @@ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <mongock.version>5.0.35</mongock.version> - + <mongodb.testcontainer.version>1.15.3</mongodb.testcontainer.version> <solr.testcontainer.version>1.16.2</solr.testcontainer.version> </properties> @@ -45,6 +43,11 @@ <artifactId>pluto-interface</artifactId> <version>${project.version}</version> </dependency> + <dependency> + <groupId>de.itvsh.ozg.pluto</groupId> + <artifactId>pluto-utils</artifactId> + <version>${project.version}</version> + </dependency> <!-- Spring --> @@ -89,11 +92,11 @@ <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> </dependency> - + <!-- solr --> <dependency> - <groupId>org.apache.solr</groupId> - <artifactId>solr-solrj</artifactId> + <groupId>org.apache.solr</groupId> + <artifactId>solr-solrj</artifactId> </dependency> <!-- Tools --> @@ -116,7 +119,7 @@ <artifactId>javafaker</artifactId> <scope>test</scope> </dependency> - + <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct</artifactId> @@ -178,7 +181,7 @@ <groupId>org.springframework.security</groupId> <artifactId>spring-security-test</artifactId> </dependency> - + <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> @@ -197,23 +200,23 @@ <scope>test</scope> </dependency> <dependency> - <groupId>org.testcontainers</groupId> - <artifactId>solr</artifactId> - <version>${solr.testcontainer.version}</version> - <scope>test</scope> + <groupId>org.testcontainers</groupId> + <artifactId>solr</artifactId> + <version>${solr.testcontainer.version}</version> + <scope>test</scope> </dependency> <!-- mongock --> - <dependency> - <groupId>io.mongock</groupId> - <artifactId>mongock-springboot</artifactId> - <version>${mongock.version}</version> - </dependency> - <dependency> - <groupId>io.mongock</groupId> - <artifactId>mongodb-springdata-v3-driver</artifactId> - <version>${mongock.version}</version> - </dependency> + <dependency> + <groupId>io.mongock</groupId> + <artifactId>mongock-springboot</artifactId> + <version>${mongock.version}</version> + </dependency> + <dependency> + <groupId>io.mongock</groupId> + <artifactId>mongodb-springdata-v3-driver</artifactId> + <version>${mongock.version}</version> + </dependency> </dependencies> <build> @@ -264,4 +267,4 @@ </snapshotRepository> </distributionManagement> -</project> +</project> \ No newline at end of file diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/attached_item/GrpcVorgangAttachedItemMapper.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/attached_item/GrpcVorgangAttachedItemMapper.java index 939f620ad..151c6f773 100644 --- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/attached_item/GrpcVorgangAttachedItemMapper.java +++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/attached_item/GrpcVorgangAttachedItemMapper.java @@ -7,7 +7,7 @@ import org.mapstruct.NullValueCheckStrategy; import org.mapstruct.NullValuePropertyMappingStrategy; import org.mapstruct.ReportingPolicy; -import de.itvsh.ozg.pluto.common.GrpcObjectMapper; +import de.itvsh.kop.pluto.common.grpc.GrpcObjectMapper; import de.itvsh.ozg.pluto.vorgangAttachedItem.GrpcVorgangAttachedItem; @Mapper(uses = GrpcObjectMapper.class, nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE, // diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/GrpcCreateCommandRequestMapper.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/GrpcCreateCommandRequestMapper.java index 493c7e7a8..c50fc53ef 100644 --- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/GrpcCreateCommandRequestMapper.java +++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/GrpcCreateCommandRequestMapper.java @@ -11,7 +11,7 @@ import org.mapstruct.NullValueCheckStrategy; import org.mapstruct.NullValuePropertyMappingStrategy; import org.mapstruct.ValueMapping; -import de.itvsh.ozg.pluto.common.GrpcObjectMapper; +import de.itvsh.kop.pluto.common.grpc.GrpcObjectMapper; import de.itvsh.ozg.pluto.files.FileIdMapper; import de.itvsh.ozg.pluto.grpc.command.GrpcCallContext; import de.itvsh.ozg.pluto.grpc.command.GrpcCreateCommandRequest; diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/migration/M001_MigrateMailServiceAttachmentsToGridFs.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/migration/M001_MigrateMailServiceAttachmentsToGridFs.java index a3a22e2ff..b5711cbfe 100644 --- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/migration/M001_MigrateMailServiceAttachmentsToGridFs.java +++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/migration/M001_MigrateMailServiceAttachmentsToGridFs.java @@ -76,8 +76,8 @@ public class M001_MigrateMailServiceAttachmentsToGridFs { // NOSONAR try { storeToGridFs(gridFs, file); } catch (MongoServerException | IOException e) { - LOG.error("Error migrating Attachment id {}", attachment, e); - throw new RuntimeException(e.getMessage(), e); + LOG.error("Error migrating Attachment id " + attachment, e); + throw new MigrationException("Error migrating Attachment with id " + attachment, e); } } } @@ -113,7 +113,7 @@ public class M001_MigrateMailServiceAttachmentsToGridFs { // NOSONAR try { out.write(t); } catch (IOException e) { - throw new RuntimeException("Error converting data", e); + throw new MigrationException("Error converting data", e); } }); return out.toByteArray(); diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/attached_item/GrpcVorgangAttachedItemMapperTest.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/attached_item/GrpcVorgangAttachedItemMapperTest.java index 13e42752f..a9dc3c0a3 100644 --- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/attached_item/GrpcVorgangAttachedItemMapperTest.java +++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/attached_item/GrpcVorgangAttachedItemMapperTest.java @@ -8,7 +8,7 @@ import org.mapstruct.factory.Mappers; import org.mockito.InjectMocks; import org.mockito.Spy; -import de.itvsh.ozg.pluto.common.GrpcObjectMapper; +import de.itvsh.kop.pluto.common.grpc.GrpcObjectMapper; import de.itvsh.ozg.pluto.vorgang.VorgangTestFactory; import de.itvsh.ozg.pluto.vorgangAttachedItem.GrpcVorgangAttachedItem; diff --git a/pluto-utils/pom.xml b/pluto-utils/pom.xml new file mode 100644 index 000000000..5ec6276cb --- /dev/null +++ b/pluto-utils/pom.xml @@ -0,0 +1,97 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>de.itvsh.kop.common</groupId> + <artifactId>kop-common-dependencies</artifactId> + <version>1.1.1-SNAPSHOT</version> + <relativePath /> + </parent> + + <groupId>de.itvsh.ozg.pluto</groupId> + <artifactId>pluto-utils</artifactId> + <name>Pluto Util Project</name> + <version>0.25.0-SNAPSHOT</version> + + <properties> + <pluto.version>0.25.0-SNAPSHOT</pluto.version> + </properties> + + <dependencies> + <dependency> + <groupId>de.itvsh.kop.common</groupId> + <artifactId>kop-common-lib</artifactId> + </dependency> + <dependency> + <groupId>de.itvsh.ozg.pluto</groupId> + <artifactId>pluto-interface</artifactId> + </dependency> + + <dependency> + <groupId>org.mapstruct</groupId> + <artifactId>mapstruct</artifactId> + </dependency> + <dependency> + <groupId>org.mapstruct</groupId> + <artifactId>mapstruct-processor</artifactId> + <version>${mapstruct.version}</version> + </dependency> + + <!--TEST--> + <dependency> + <groupId>org.junit.jupiter</groupId> + <artifactId>junit-jupiter-engine</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.junit.jupiter</groupId> + <artifactId>junit-jupiter-params</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.assertj</groupId> + <artifactId>assertj-core</artifactId> + <scope>test</scope> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <source>${java.version}</source> + <target>${java.version}</target> + <fork>true</fork> + <annotationProcessorPaths> + <path> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + <version>${lombok.version}</version> + </path> + <path> + <groupId>org.mapstruct</groupId> + <artifactId>mapstruct-processor</artifactId> + <version>${mapstruct.version}</version> + </path> + </annotationProcessorPaths> + + <showWarnings>true</showWarnings> + <compilerArgs> + <compilerArg> + -Amapstruct.defaultComponentModel=spring + </compilerArg> + <compilerArg> + -Amapstruct.unmappedTargetPolicy=WARN + </compilerArg> + <compilerArg> + -Amapstruct.unmappedSourcePolicy=WARN + </compilerArg> + </compilerArgs> + <generatedSourcesDirectory>target/generated-sources</generatedSourcesDirectory> + </configuration> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file diff --git a/pluto-utils/src/main/java/de/itvsh/kop/pluto/common/grpc/GrpcObjectMapper.java b/pluto-utils/src/main/java/de/itvsh/kop/pluto/common/grpc/GrpcObjectMapper.java index b721f2bea..bf7b95d2c 100644 --- a/pluto-utils/src/main/java/de/itvsh/kop/pluto/common/grpc/GrpcObjectMapper.java +++ b/pluto-utils/src/main/java/de/itvsh/kop/pluto/common/grpc/GrpcObjectMapper.java @@ -1,4 +1,4 @@ -package de.itvsh.ozg.pluto.common; +package de.itvsh.kop.pluto.common.grpc; import java.time.LocalDate; import java.time.ZonedDateTime; @@ -10,6 +10,9 @@ import java.util.Map.Entry; import org.mapstruct.Mapper; import de.itvsh.kop.common.datatype.StringBasedValue; +import de.itvsh.ozg.pluto.common.GrpcObject; +import de.itvsh.ozg.pluto.common.GrpcProperty; +import de.itvsh.ozg.pluto.common.GrpcSubObject; @Mapper public interface GrpcObjectMapper { diff --git a/pluto-utils/src/test/java/de/itvsh/kop/pluto/common/grpc/GrpcObjectMapperTest.java b/pluto-utils/src/test/java/de/itvsh/kop/pluto/common/grpc/GrpcObjectMapperTest.java index 153a99a8f..a88de9c14 100644 --- a/pluto-utils/src/test/java/de/itvsh/kop/pluto/common/grpc/GrpcObjectMapperTest.java +++ b/pluto-utils/src/test/java/de/itvsh/kop/pluto/common/grpc/GrpcObjectMapperTest.java @@ -1,4 +1,4 @@ -package de.itvsh.ozg.pluto.common; +package de.itvsh.kop.pluto.common.grpc; import static org.assertj.core.api.Assertions.*; @@ -8,6 +8,8 @@ import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import org.mapstruct.factory.Mappers; +import de.itvsh.ozg.pluto.common.GrpcObject; + class GrpcObjectMapperTest { private final GrpcObjectMapper mapper = Mappers.getMapper(GrpcObjectMapper.class); @@ -43,13 +45,6 @@ class GrpcObjectMapperTest { assertThat(getFirstValueOfFirstProperty(grpcObject)).isEqualTo(GrpcObjectTestFactory.PROPERTY_BOOLEAN_VALUE.toString()); } - @Test - void shouldMapDateMapToGrpc() { - var grpcObject = mapper.fromMap(GrpcObjectTestFactory.DATE_MAP); - - assertThat(getFirstValueOfFirstProperty(grpcObject)).isEqualTo(GrpcObjectTestFactory.PROPERTY_DATE_VALUE.toString()); - } - @Test void shouldMapLocalDateMapToGrpc() { var grpcObject = mapper.fromMap(GrpcObjectTestFactory.LOCAL_DATE_MAP); @@ -136,6 +131,7 @@ class GrpcObjectMapperTest { } } + @SuppressWarnings("unchecked") private Map<String, Object> getSubObjectMap(Map<String, Object> map, String key) { return (Map<String, Object>) map.get(key); } diff --git a/pluto-utils/src/test/java/de/itvsh/kop/pluto/common/grpc/GrpcObjectTestFactory.java b/pluto-utils/src/test/java/de/itvsh/kop/pluto/common/grpc/GrpcObjectTestFactory.java index 35714ccf3..2b9c4a90b 100644 --- a/pluto-utils/src/test/java/de/itvsh/kop/pluto/common/grpc/GrpcObjectTestFactory.java +++ b/pluto-utils/src/test/java/de/itvsh/kop/pluto/common/grpc/GrpcObjectTestFactory.java @@ -1,4 +1,4 @@ -package de.itvsh.ozg.pluto.common; +package de.itvsh.kop.pluto.common.grpc; import java.time.LocalDate; import java.time.ZonedDateTime; @@ -9,6 +9,9 @@ import java.util.Map; import com.thedeanda.lorem.LoremIpsum; import de.itvsh.kop.common.binaryfile.FileId; +import de.itvsh.ozg.pluto.common.GrpcObject; +import de.itvsh.ozg.pluto.common.GrpcProperty; +import de.itvsh.ozg.pluto.common.GrpcSubObject; public class GrpcObjectTestFactory { diff --git a/pom.xml b/pom.xml index 65a028fdf..fad7e2089 100644 --- a/pom.xml +++ b/pom.xml @@ -14,6 +14,7 @@ <module>pluto-interface</module> <module>pluto-server</module> <module>mail-service</module> + <module>pluto-utils</module> </modules> </project> -- GitLab