Skip to content
Snippets Groups Projects
Commit 7dea0c78 authored by Felix Reichenbach's avatar Felix Reichenbach
Browse files

Merge branch 'OZG-7908-aggregation-manager-server-grpc-interface' into 'main'

Ozg 7908 aggregation manager server grpc interface

See merge request !17
parents 97c9ecec af8fbc69
Branches
Tags
1 merge request!17Ozg 7908 aggregation manager server grpc interface
......@@ -51,6 +51,7 @@ pipeline {
def rootVersion = getPomVersion('pom.xml')
def jobVersion = getParentPomVersion('aggregation-manager-job/pom.xml')
def serverVersion = getParentPomVersion('aggregation-manager-server/pom.xml')
def interfaceVersion = getPomVersion('aggregation-manager-interface/pom.xml')
if(rootVersion != jobVersion) {
error("Version in aggregation-manager-job stimmt nicht mit dem parent überein.")
......@@ -58,6 +59,9 @@ pipeline {
if(rootVersion != serverVersion) {
error("Version in aggregation-manager-server stimmt nicht mit dem parent überein.")
}
if(rootVersion != interfaceVersion) {
error("Version in aggregation-manager-interface stimmt nicht mit dem parent überein.")
}
if(isReleaseBranch()){
if ( !(rootVersion ==~ RELEASE_REGEX)) {
error("Keine Release Version für Branch ${env.BRANCH_NAME}.")
......@@ -110,7 +114,6 @@ pipeline {
}
configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) {
sh 'mvn --no-transfer-progress -s $MAVEN_SETTINGS -DskipTests deploy -Dmaven.wagon.http.retryHandler.count=3'
sh "mvn -s $MAVEN_SETTINGS versions:revert"
}
}
}
......@@ -120,7 +123,8 @@ pipeline {
FAILED_STAGE=env.STAGE_NAME
}
configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) {
sh 'mvn --no-transfer-progress -s $MAVEN_SETTINGS spring-boot:build-image -DskipTests -Dmaven.wagon.http.retryHandler.count=3'
sh 'mvn --no-transfer-progress -s $MAVEN_SETTINGS spring-boot:build-image -DskipTests -Dmaven.wagon.http.retryHandler.count=3 -pl aggregation-manager-job,aggregation-manager-server'
sh "mvn -s $MAVEN_SETTINGS versions:revert"
}
}
}
......
<?xml version="1.0"?>
<!--
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="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.ozgcloud.common</groupId>
<artifactId>ozgcloud-common-dependencies</artifactId>
<version>4.12.0</version>
<relativePath />
</parent>
<groupId>de.ozgcloud.aggregation</groupId>
<artifactId>aggregation-manager-interface</artifactId>
<version>1.3.0-SNAPSHOT</version>
<name>OZG-Cloud Aggregation Manager gRPC API</name>
<description>gRPC Api for OZG-Cloud Aggregation Manager Server</description>
<inceptionYear>2025</inceptionYear>
<properties>
<find-and-replace-maven-plugin.version>1.2.0</find-and-replace-maven-plugin.version>
</properties>
<dependencies>
<!-- GRPC -->
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
</dependency>
<dependency>
<groupId>jakarta.annotation</groupId>
<artifactId>jakarta.annotation-api</artifactId>
</dependency>
</dependencies>
<build>
<sourceDirectory>src/main/protobuf</sourceDirectory>
<extensions>
<extension>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
</extension>
</extensions>
<plugins>
<plugin>
<groupId>com.github.os72</groupId>
<artifactId>protoc-jar-maven-plugin</artifactId>
<version>${protoc-jar-plugin.version}</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<protocVersion>${protobuf.version}</protocVersion>
<outputTargets>
<outputTarget>
<type>java</type>
</outputTarget>
<outputTarget>
<type>grpc-java</type>
<pluginArtifact>
io.grpc:protoc-gen-grpc-java:${protoc-gen.version}</pluginArtifact>
</outputTarget>
</outputTargets>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>io.github.floverfelt</groupId>
<artifactId>find-and-replace-maven-plugin</artifactId>
<version>${find-and-replace-maven-plugin.version}</version>
<executions>
<execution>
<id>exec</id>
<phase>process-sources</phase>
<goals>
<goal>find-and-replace</goal>
</goals>
<configuration>
<replacementType>file-contents</replacementType>
<baseDir>target/generated-sources/</baseDir>
<findRegex>javax</findRegex>
<replaceValue>jakarta</replaceValue>
<recursive>true</recursive>
<fileMask>.java</fileMask>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
/*
* 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.
*/
syntax = "proto3";
package de.ozgcloud.aggregation.data;
option java_multiple_files = true;
option java_package = "de.ozgcloud.aggregation.data";
option java_outer_classname = "AggregationDataModelProto";
message GrpcSendAggregationDataRequest {
string name = 1;
string mandant = 2;
repeated GrpcAggregationData aggregationData = 3;
}
message GrpcAggregationData {
string id = 1;
string status = 2;
string eingangDatum = 3;
string vorgangName = 4;
GrpcObject payload = 5;
}
message GrpcObject {
repeated GrpcProperty properties = 1;
}
message GrpcProperty {
string key = 1;
GrpcElement value = 2;
}
message GrpcElement {
oneof value {
bool boolValue = 1;
int64 longValue = 2;
double doubleValue = 3;
string stringValue = 4;
GrpcElementList listValue = 5;
GrpcObject objectValue = 6;
}
}
message GrpcElementList {
repeated GrpcElement elements = 1;
}
message GrpcSendAggregationDataResponse {}
\ No newline at end of file
/*
* 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.
*/
syntax = "proto3";
package de.ozgcloud.aggregation.data;
import "aggregationdata.model.proto";
option java_multiple_files = true;
option java_package = "de.ozgcloud.aggregation.data";
option java_outer_classname = "AggregationDataProto";
service AggregationDataService {
rpc SendAggregationData(stream GrpcSendAggregationDataRequest) returns (GrpcSendAggregationDataResponse);
}
\ No newline at end of file
/*
* 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.
*/
syntax = "proto3";
package de.ozgcloud.aggregation.mapping;
option java_multiple_files = true;
option java_package = "de.ozgcloud.aggregation.mapping";
option java_outer_classname = "MappingModelProto";
message GrpcGetAggregationMappingsRequest {}
message GrpcGetAggregationMappingsResponse {
repeated GrpcAggregationMapping mappings = 1;
}
message GrpcAggregationMapping {
string name = 1;
string formEngineName = 2;
string formId = 3;
repeated GrpcFieldMapping fieldMappings = 4;
}
message GrpcFieldMapping {
string source = 1;
string target = 2;
}
\ No newline at end of file
/*
* 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.
*/
syntax = "proto3";
package de.ozgcloud.aggregation.mapping;
import "mapping.model.proto";
option java_multiple_files = true;
option java_package = "de.ozgcloud.aggregation.mapping";
option java_outer_classname = "AggregationMappingProto";
service AggregationMappingService {
rpc GetAggregationMappings(GrpcGetAggregationMappingsRequest) returns (GrpcGetAggregationMappingsResponse);
}
\ No newline at end of file
......@@ -51,6 +51,11 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- Own projects -->
<dependency>
<groupId>de.ozgcloud.aggregation</groupId>
<artifactId>aggregation-manager-interface</artifactId>
</dependency>
</dependencies>
<build>
......
package de.ozgcloud.aggregation.data;
import de.ozgcloud.aggregation.data.AggregationDataServiceGrpc.AggregationDataServiceImplBase;
import io.grpc.stub.StreamObserver;
class AggregationDataGrpcService extends AggregationDataServiceImplBase {
@Override
public StreamObserver<GrpcSendAggregationDataRequest> sendAggregationData(StreamObserver<GrpcSendAggregationDataResponse> responseObserver) {
// Implement in OZG-7909
return null;
}
}
package de.ozgcloud.aggregation.mapping;
import de.ozgcloud.aggregation.mapping.AggregationMappingServiceGrpc.AggregationMappingServiceImplBase;
import io.grpc.stub.StreamObserver;
class AggregationMappingGrpcService extends AggregationMappingServiceImplBase {
@Override
public void getAggregationMappings(GrpcGetAggregationMappingsRequest request,
StreamObserver<GrpcGetAggregationMappingsResponse> responseObserver) {
// Implement in OZG-????
}
}
......@@ -42,6 +42,7 @@
<packaging>pom</packaging>
<modules>
<module>aggregation-manager-interface</module>
<module>aggregation-manager-job</module>
<module>aggregation-manager-server</module>
</modules>
......@@ -52,6 +53,11 @@
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>de.ozgcloud.aggregation</groupId>
<artifactId>aggregation-manager-interface</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<artifactId>ozg-cloud-spring-boot-starter</artifactId>
<groupId>de.ozgcloud.api-lib</groupId>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment