diff --git a/collaboration-manager-interface/pom.xml b/collaboration-manager-interface/pom.xml index 568bc150ba4229e9897278c31129f705dcc8555d..94b955a971c77d7fd7876b4e3d88755eac55cdf7 100644 --- a/collaboration-manager-interface/pom.xml +++ b/collaboration-manager-interface/pom.xml @@ -31,7 +31,7 @@ <parent> <groupId>de.ozgcloud.common</groupId> <artifactId>ozgcloud-common-dependencies</artifactId> - <version>4.5.0</version> + <version>4.7.0-SNAPSHOT</version> <relativePath/> </parent> diff --git a/collaboration-manager-server/pom.xml b/collaboration-manager-server/pom.xml index de4386843752e6f65c51447469b0511a43bce00e..e5927ee63efe3cf88c75fc235b385b453a967d5a 100644 --- a/collaboration-manager-server/pom.xml +++ b/collaboration-manager-server/pom.xml @@ -40,7 +40,7 @@ <name>OZG-Cloud Collaboration Manager Server</name> <properties> - <vorgang-manager.version>2.17.0</vorgang-manager.version> + <vorgang-manager.version>2.18.0</vorgang-manager.version> <api-lib.version>0.13.0</api-lib.version> </properties> diff --git a/collaboration-manager-server/src/main/java/de/ozgcloud/collaboration/common/callcontext/CollaborationManagerCallContextGrpcServerInterceptor.java b/collaboration-manager-server/src/main/java/de/ozgcloud/collaboration/common/callcontext/CollaborationManagerCallContextGrpcServerInterceptor.java index a6c91901cbff8c89b5be2a25e737773c19f0393a..9198a27df50f723faee63a8e3119c35e41ff8c13 100644 --- a/collaboration-manager-server/src/main/java/de/ozgcloud/collaboration/common/callcontext/CollaborationManagerCallContextGrpcServerInterceptor.java +++ b/collaboration-manager-server/src/main/java/de/ozgcloud/collaboration/common/callcontext/CollaborationManagerCallContextGrpcServerInterceptor.java @@ -23,13 +23,12 @@ */ package de.ozgcloud.collaboration.common.callcontext; -import static de.ozgcloud.common.grpc.GrpcUtil.*; - import java.util.UUID; import org.apache.logging.log4j.CloseableThreadContext; import org.springframework.security.core.context.SecurityContextHolder; +import de.ozgcloud.common.grpc.GrpcUtil; import io.grpc.ForwardingServerCallListener; import io.grpc.Metadata; import io.grpc.ServerCall; @@ -41,18 +40,6 @@ import lombok.extern.log4j.Log4j2; @Log4j2 public class CollaborationManagerCallContextGrpcServerInterceptor implements ServerInterceptor { - private static final String REQUEST_ID_KEY = "requestId"; - - // TODO In GrpcUtil verschieben - static final String KEY_USER_ID = "USER_ID-bin"; - static final String KEY_USER_NAME = "USER_NAME-bin"; - static final String KEY_CLIENT_NAME = "CLIENT_NAME-bin"; - static final String KEY_REQUEST_ID = "REQUEST_ID-bin"; - static final String KEY_ACCESS_LIMITED_ORGAID = "ACCESS_LIMITED_TO_ORGANISATORISCHEEINHEITENID-bin"; - static final String KEY_ACCESS_LIMITED = "ACCESS_LIMITED-bin"; - - static final String REQUEST_ID_PLACEHOLDER = "no-requestId-given"; - @Override public <A, B> Listener<A> interceptCall(ServerCall<A, B> call, Metadata headers, ServerCallHandler<A, B> next) { return new LogContextSettingListener<>(next.startCall(call, headers), headers); @@ -94,7 +81,7 @@ public class CollaborationManagerCallContextGrpcServerInterceptor implements Ser } void doSurroundOn(Runnable runnable) { - try (var ctc = CloseableThreadContext.put(REQUEST_ID_KEY, requestId)) { + try (var ctc = CloseableThreadContext.put(GrpcUtil.KEY_REQUEST_ID, requestId)) { startSecurityContext(); runnable.run(); } finally { @@ -103,7 +90,7 @@ public class CollaborationManagerCallContextGrpcServerInterceptor implements Ser } String getRequestId() { - return getFromHeaders(KEY_REQUEST_ID, headers).orElseGet(() -> UUID.randomUUID().toString()); + return GrpcUtil.getRequestId(headers).orElseGet(() -> UUID.randomUUID().toString()); } void startSecurityContext() { @@ -113,17 +100,17 @@ public class CollaborationManagerCallContextGrpcServerInterceptor implements Ser CallContextUser createUser() { var builder = CallContextUser.builder() - .userId(getFromHeaders(KEY_USER_ID, headers)) - .userName(getFromHeaders(KEY_USER_NAME, headers)) - .organisatorischeEinheitenIds(getCollection(KEY_ACCESS_LIMITED_ORGAID, headers)); + .userId(GrpcUtil.getUserId(headers)) + .userName(GrpcUtil.getUserName(headers)); - getFromHeaders(KEY_ACCESS_LIMITED, headers).map(Boolean::parseBoolean).ifPresentOrElse( - builder::organisationEinheitenIdCheckNecessary, + GrpcUtil.getAccessLimited(headers).ifPresentOrElse( + isAccessLimited -> builder.organisationEinheitenIdCheckNecessary(isAccessLimited) + .organisatorischeEinheitenIds(GrpcUtil.getAccessLimitedOrgaIds(headers)), () -> builder.organisationEinheitenIdCheckNecessary(false)); // TODO throw exception if missing required data as soon all clients are fine // with using headers for auth data. - getFromHeaders(KEY_CLIENT_NAME, headers).ifPresentOrElse(builder::clientName, () -> LOG.warn("Missing client name in grpc header.")); + GrpcUtil.getClientName(headers).ifPresentOrElse(builder::clientName, () -> LOG.warn("Missing client name in grpc header.")); return builder.build(); } diff --git a/pom.xml b/pom.xml index 4fa8b72d8f2c778c2b1ddf5dbe277a23356e142f..c6313649e7a9da534884a1bcc4858aa4dd38e692 100644 --- a/pom.xml +++ b/pom.xml @@ -32,7 +32,7 @@ <parent> <groupId>de.ozgcloud.common</groupId> <artifactId>ozgcloud-common-parent</artifactId> - <version>4.5.0</version> + <version>4.7.0-SNAPSHOT</version> </parent> <groupId>de.ozgcloud.collaboration</groupId>