diff --git a/pluto-server/pom.xml b/pluto-server/pom.xml index 629bf0bece536022174a0218accaef7b90ce0a20..13b7b781af235f336c2fe725fcf39d1afad19e11 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 939f620ad026d2ee2b115fb5e36679e4c7ea786d..151c6f7738ad5da3db1717c055770dc5059f5e4e 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 493c7e7a8556908f1035256c8d6d514d427562ec..c50fc53ef788254fd7889bb40308b589483e3567 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 a3a22e2ff4880a41f0ae5779a2f75ad249c8b72e..b5711cbfe19e8912517042fc70b032ce9f2d967b 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 13e42752fc6eda7d494d3b11b8a07eed31eced5a..a9dc3c0a3510b80c1cfb2d1a7e5365c8375fc4aa 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 0000000000000000000000000000000000000000..5ec6276cb523a08c6fe0dddd8060abf095175c2b --- /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 b721f2bea4bb64117d305331ed30103d6bff1f93..bf7b95d2ca70c1e07efd548c776a88b4c7c60861 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 153a99a8fd8e5339a7f1792f071d015bb5417f1f..a88de9c1449efe501df78671a4ab6e5dfe5ce065 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 35714ccf31e23d2c2612d7512eb7413a2deffd44..2b9c4a90b7319ad0d7ed88a725158472390a4f31 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 65a028fdf088c2fab8686287116f15c7fa1830f9..fad7e2089f2cb7f63c887b16baa86c12067c09fd 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>