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

OZG-7908 add grpc interface module

parent f3cdd748
No related branches found
No related tags found
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 = getParentPomVersion('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}.")
......
<?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.aggregatedvorgang;
option java_multiple_files = true;
option java_package = "de.ozgcloud.aggregation.aggregatedvorgang";
option java_outer_classname = "AggregatedVorgangModelProto";
message SubmitAggregatedVorgangRequest {
string name = 1;
string mandant = 2;
repeated AggregatedVorgang aggregatedVorgangs = 3;
}
message AggregatedVorgang {
string id = 1;
string status = 2;
string eingangDatum = 3;
string vorgangName = 4;
Payload payload = 5;
}
message Payload {
repeated Property properties = 1;
}
message Property {
string key = 1;
oneof value {
string stringValue = 2;
Payload nestedPayload = 3;
}
}
message SubmitAggregatedVorgangResponse {}
\ 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.aggregatedvorgang;
import "aggregatedvorgang.model.proto";
option java_multiple_files = true;
option java_package = "de.ozgcloud.aggregation.aggregatedvorgang";
option java_outer_classname = "AggregationAggregatedVorgangProto";
service AggregationService {
rpc SubmitAggregatedVorgangs(stream SubmitAggregatedVorgangRequest) returns (SubmitAggregatedVorgangResponse);
}
\ 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.configuration;
option java_multiple_files = true;
option java_package = "de.ozgcloud.aggregation.configuration";
option java_outer_classname = "ConfigurationModelProto";
message GetAggregationConfigurationsRequest {}
message GetAggregationConfigurationsResponse {
repeated AggregationConfiguration configurations = 1;
}
message AggregationConfiguration {
string name = 1;
string formEngineName = 2;
string formId = 3;
repeated AggregationMapping mappings = 4;
}
message AggregationMapping {
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.configuration;
import "configuration.model.proto";
option java_multiple_files = true;
option java_package = "de.ozgcloud.aggregation.configuration";
option java_outer_classname = "AggregationConfigurationProto";
service AggregationConfigurationService {
rpc GetAggregationConfigurations(GetAggregationConfigurationsRequest) returns (GetAggregationConfigurationsResponse);
}
\ No newline at end of file
......@@ -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