From d46175deb1fe5fdd5a51fd43c9bcaf20dace3b36 Mon Sep 17 00:00:00 2001 From: Felix Reichenbach <felix.reichenbach@mgm-tp.com> Date: Fri, 11 Apr 2025 13:20:32 +0200 Subject: [PATCH] OZG-7909 move converter configurations into common module --- aggregation-manager-common/lombok.config | 31 ++++++++ aggregation-manager-common/pom.xml | 75 +++++++++++++++++++ .../converter}/ConverterConfiguration.java | 5 +- .../DocumentToJsonNodeConverter.java | 2 +- .../JsonNodeToDocumentConverter.java | 2 +- .../ZonedDateTimeReadConverter.java | 2 +- .../ZonedDateTimeWriteConverter.java | 2 +- aggregation-manager-job/pom.xml | 7 ++ aggregation-manager-server/pom.xml | 4 + pom.xml | 6 ++ 10 files changed, 128 insertions(+), 8 deletions(-) create mode 100644 aggregation-manager-common/lombok.config create mode 100644 aggregation-manager-common/pom.xml rename {aggregation-manager-job/src/main/java/de/ozgcloud/aggregation => aggregation-manager-common/src/main/java/de/ozgcloud/aggregation/common/converter}/ConverterConfiguration.java (93%) rename {aggregation-manager-job/src/main/java/de/ozgcloud/aggregation/warehouse => aggregation-manager-common/src/main/java/de/ozgcloud/aggregation/common/converter}/DocumentToJsonNodeConverter.java (97%) rename {aggregation-manager-job/src/main/java/de/ozgcloud/aggregation/warehouse => aggregation-manager-common/src/main/java/de/ozgcloud/aggregation/common/converter}/JsonNodeToDocumentConverter.java (97%) rename {aggregation-manager-job/src/main/java/de/ozgcloud/aggregation => aggregation-manager-common/src/main/java/de/ozgcloud/aggregation/common/converter}/ZonedDateTimeReadConverter.java (96%) rename {aggregation-manager-job/src/main/java/de/ozgcloud/aggregation => aggregation-manager-common/src/main/java/de/ozgcloud/aggregation/common/converter}/ZonedDateTimeWriteConverter.java (96%) diff --git a/aggregation-manager-common/lombok.config b/aggregation-manager-common/lombok.config new file mode 100644 index 0000000..650d169 --- /dev/null +++ b/aggregation-manager-common/lombok.config @@ -0,0 +1,31 @@ +# +# 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. +# + +lombok.log.fieldName=LOG +lombok.log.slf4j.flagUsage = ERROR +lombok.log.log4j.flagUsage = ERROR +lombok.data.flagUsage = ERROR +lombok.nonNull.exceptionType = IllegalArgumentException +lombok.addLombokGeneratedAnnotation = true +lombok.copyableAnnotations += org.springframework.beans.factory.annotation.Qualifier \ No newline at end of file diff --git a/aggregation-manager-common/pom.xml b/aggregation-manager-common/pom.xml new file mode 100644 index 0000000..41b587b --- /dev/null +++ b/aggregation-manager-common/pom.xml @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + 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. + +--> +<project xmlns="https://maven.apache.org/POM/4.0.0" + xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="https://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.ozgcloud.aggregation</groupId> + <artifactId>aggregation-manager-parent</artifactId> + <version>1.3.0-SNAPSHOT</version> + <relativePath>../</relativePath> + </parent> + <artifactId>aggregation-manager-common</artifactId> + <name>OZG-Cloud Aggregation Manager Common</name> + + <dependencies> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-data-mongodb</artifactId> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.datatype</groupId> + <artifactId>jackson-datatype-jsr310</artifactId> + </dependency> + + </dependencies> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.jacoco</groupId> + <artifactId>jacoco-maven-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-failsafe-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + </plugin> + <plugin> + <groupId>com.mycila</groupId> + <artifactId>license-maven-plugin</artifactId> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file diff --git a/aggregation-manager-job/src/main/java/de/ozgcloud/aggregation/ConverterConfiguration.java b/aggregation-manager-common/src/main/java/de/ozgcloud/aggregation/common/converter/ConverterConfiguration.java similarity index 93% rename from aggregation-manager-job/src/main/java/de/ozgcloud/aggregation/ConverterConfiguration.java rename to aggregation-manager-common/src/main/java/de/ozgcloud/aggregation/common/converter/ConverterConfiguration.java index 08c401c..de78870 100644 --- a/aggregation-manager-job/src/main/java/de/ozgcloud/aggregation/ConverterConfiguration.java +++ b/aggregation-manager-common/src/main/java/de/ozgcloud/aggregation/common/converter/ConverterConfiguration.java @@ -21,7 +21,7 @@ * Die sprachspezifischen Genehmigungen und Beschränkungen * unter der Lizenz sind dem Lizenztext zu entnehmen. */ -package de.ozgcloud.aggregation; +package de.ozgcloud.aggregation.common.converter; import java.util.List; @@ -34,9 +34,6 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; -import de.ozgcloud.aggregation.warehouse.DocumentToJsonNodeConverter; -import de.ozgcloud.aggregation.warehouse.JsonNodeToDocumentConverter; - @Configuration public class ConverterConfiguration { diff --git a/aggregation-manager-job/src/main/java/de/ozgcloud/aggregation/warehouse/DocumentToJsonNodeConverter.java b/aggregation-manager-common/src/main/java/de/ozgcloud/aggregation/common/converter/DocumentToJsonNodeConverter.java similarity index 97% rename from aggregation-manager-job/src/main/java/de/ozgcloud/aggregation/warehouse/DocumentToJsonNodeConverter.java rename to aggregation-manager-common/src/main/java/de/ozgcloud/aggregation/common/converter/DocumentToJsonNodeConverter.java index 0b6b56f..28e6168 100644 --- a/aggregation-manager-job/src/main/java/de/ozgcloud/aggregation/warehouse/DocumentToJsonNodeConverter.java +++ b/aggregation-manager-common/src/main/java/de/ozgcloud/aggregation/common/converter/DocumentToJsonNodeConverter.java @@ -21,7 +21,7 @@ * Die sprachspezifischen Genehmigungen und Beschränkungen * unter der Lizenz sind dem Lizenztext zu entnehmen. */ -package de.ozgcloud.aggregation.warehouse; +package de.ozgcloud.aggregation.common.converter; import org.bson.Document; import org.springframework.core.convert.ConversionException; diff --git a/aggregation-manager-job/src/main/java/de/ozgcloud/aggregation/warehouse/JsonNodeToDocumentConverter.java b/aggregation-manager-common/src/main/java/de/ozgcloud/aggregation/common/converter/JsonNodeToDocumentConverter.java similarity index 97% rename from aggregation-manager-job/src/main/java/de/ozgcloud/aggregation/warehouse/JsonNodeToDocumentConverter.java rename to aggregation-manager-common/src/main/java/de/ozgcloud/aggregation/common/converter/JsonNodeToDocumentConverter.java index 5b64640..845ea99 100644 --- a/aggregation-manager-job/src/main/java/de/ozgcloud/aggregation/warehouse/JsonNodeToDocumentConverter.java +++ b/aggregation-manager-common/src/main/java/de/ozgcloud/aggregation/common/converter/JsonNodeToDocumentConverter.java @@ -21,7 +21,7 @@ * Die sprachspezifischen Genehmigungen und Beschränkungen * unter der Lizenz sind dem Lizenztext zu entnehmen. */ -package de.ozgcloud.aggregation.warehouse; +package de.ozgcloud.aggregation.common.converter; import org.bson.Document; import org.springframework.core.convert.ConversionException; diff --git a/aggregation-manager-job/src/main/java/de/ozgcloud/aggregation/ZonedDateTimeReadConverter.java b/aggregation-manager-common/src/main/java/de/ozgcloud/aggregation/common/converter/ZonedDateTimeReadConverter.java similarity index 96% rename from aggregation-manager-job/src/main/java/de/ozgcloud/aggregation/ZonedDateTimeReadConverter.java rename to aggregation-manager-common/src/main/java/de/ozgcloud/aggregation/common/converter/ZonedDateTimeReadConverter.java index 143703a..af62ca9 100644 --- a/aggregation-manager-job/src/main/java/de/ozgcloud/aggregation/ZonedDateTimeReadConverter.java +++ b/aggregation-manager-common/src/main/java/de/ozgcloud/aggregation/common/converter/ZonedDateTimeReadConverter.java @@ -21,7 +21,7 @@ * Die sprachspezifischen Genehmigungen und Beschränkungen * unter der Lizenz sind dem Lizenztext zu entnehmen. */ -package de.ozgcloud.aggregation; +package de.ozgcloud.aggregation.common.converter; import java.time.ZoneId; import java.time.ZonedDateTime; diff --git a/aggregation-manager-job/src/main/java/de/ozgcloud/aggregation/ZonedDateTimeWriteConverter.java b/aggregation-manager-common/src/main/java/de/ozgcloud/aggregation/common/converter/ZonedDateTimeWriteConverter.java similarity index 96% rename from aggregation-manager-job/src/main/java/de/ozgcloud/aggregation/ZonedDateTimeWriteConverter.java rename to aggregation-manager-common/src/main/java/de/ozgcloud/aggregation/common/converter/ZonedDateTimeWriteConverter.java index a621697..2dc9936 100644 --- a/aggregation-manager-job/src/main/java/de/ozgcloud/aggregation/ZonedDateTimeWriteConverter.java +++ b/aggregation-manager-common/src/main/java/de/ozgcloud/aggregation/common/converter/ZonedDateTimeWriteConverter.java @@ -21,7 +21,7 @@ * Die sprachspezifischen Genehmigungen und Beschränkungen * unter der Lizenz sind dem Lizenztext zu entnehmen. */ -package de.ozgcloud.aggregation; +package de.ozgcloud.aggregation.common.converter; import java.time.ZonedDateTime; import java.util.Date; diff --git a/aggregation-manager-job/pom.xml b/aggregation-manager-job/pom.xml index 7546f1e..8f960f4 100644 --- a/aggregation-manager-job/pom.xml +++ b/aggregation-manager-job/pom.xml @@ -41,10 +41,16 @@ <spring-boot.build-image.imageName>docker.ozg-sh.de/aggregation-manager-job:build-latest</spring-boot.build-image.imageName> </properties> <dependencies> + <!-- Own projects --> + <dependency> + <groupId>de.ozgcloud.aggregation</groupId> + <artifactId>aggregation-manager-common</artifactId> + </dependency> <dependency> <artifactId>ozg-cloud-spring-boot-starter</artifactId> <groupId>de.ozgcloud.api-lib</groupId> </dependency> + <!-- Spring --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> @@ -57,6 +63,7 @@ <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> + <!-- Tools --> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jsr310</artifactId> diff --git a/aggregation-manager-server/pom.xml b/aggregation-manager-server/pom.xml index 5b83ebc..300b510 100644 --- a/aggregation-manager-server/pom.xml +++ b/aggregation-manager-server/pom.xml @@ -61,6 +61,10 @@ <artifactId>grpc-server-spring-boot-starter</artifactId> </dependency> <!-- Own projects --> + <dependency> + <groupId>de.ozgcloud.aggregation</groupId> + <artifactId>aggregation-manager-common</artifactId> + </dependency> <dependency> <groupId>de.ozgcloud.aggregation</groupId> <artifactId>aggregation-manager-interface</artifactId> diff --git a/pom.xml b/pom.xml index adbe408..71ce45c 100644 --- a/pom.xml +++ b/pom.xml @@ -42,6 +42,7 @@ <packaging>pom</packaging> <modules> + <module>aggregation-manager-common</module> <module>aggregation-manager-interface</module> <module>aggregation-manager-job</module> <module>aggregation-manager-server</module> @@ -58,6 +59,11 @@ <artifactId>aggregation-manager-interface</artifactId> <version>${project.version}</version> </dependency> + <dependency> + <groupId>de.ozgcloud.aggregation</groupId> + <artifactId>aggregation-manager-common</artifactId> + <version>${project.version}</version> + </dependency> <dependency> <artifactId>ozg-cloud-spring-boot-starter</artifactId> <groupId>de.ozgcloud.api-lib</groupId> -- GitLab