From af10a2117e0e177ad829cc5d6dd4c19d7ea245d8 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Mon, 26 Jun 2023 11:57:52 +0200
Subject: [PATCH] cleanups and api optimization

---
 .../de/itvsh/kop/common/binaryfile/FileId.java   |  6 +++++-
 .../java/de/itvsh/kop/common/grpc/GrpcUtil.java  | 16 ++++++++++++----
 2 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/FileId.java b/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/FileId.java
index 2bf5619..a835af8 100644
--- a/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/FileId.java
+++ b/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/FileId.java
@@ -23,6 +23,7 @@
  */
 package de.itvsh.kop.common.binaryfile;
 
+import java.util.Objects;
 import java.util.UUID;
 
 import de.itvsh.kop.common.datatype.StringBasedValue;
@@ -42,6 +43,9 @@ public class FileId extends StringBasedValue {
 	}
 
 	public static FileId from(String fileId) {
-		return new FileId(fileId);
+		if (Objects.nonNull(fileId)) {
+			return new FileId(fileId);
+		}
+		return null;
 	}
 }
\ No newline at end of file
diff --git a/kop-common-lib/src/main/java/de/itvsh/kop/common/grpc/GrpcUtil.java b/kop-common-lib/src/main/java/de/itvsh/kop/common/grpc/GrpcUtil.java
index c3c6d3e..2348cc2 100644
--- a/kop-common-lib/src/main/java/de/itvsh/kop/common/grpc/GrpcUtil.java
+++ b/kop-common-lib/src/main/java/de/itvsh/kop/common/grpc/GrpcUtil.java
@@ -37,6 +37,11 @@ import lombok.NoArgsConstructor;
 
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public class GrpcUtil {
+
+	public static final Key<byte[]> HEADER_KEY_USER_ID = createKeyOf("USER_ID-bin");
+	public static final Key<byte[]> HEADER_KEY_CLIENT_NAME = createKeyOf("CLIENT_NAME-bin");
+	public static final Key<byte[]> HEADER_KEY_REQUEST_ID = createKeyOf("REQUEST_ID-bin");
+
 	public static Key<String> keyOfString(String key) {
 		return Key.of(key, Metadata.ASCII_STRING_MARSHALLER);
 	}
@@ -45,10 +50,12 @@ public class GrpcUtil {
 		return Key.of(key, Metadata.BINARY_BYTE_MARSHALLER);
 	}
 
-	public static String getFromHeaders(String key, Metadata headers) {
-		return Optional.ofNullable(headers.get(createKeyOf(key)))
-				.map(GrpcUtil::byteToString)
-				.orElse(null);
+	public static Optional<String> getFromHeaders(String key, Metadata headers) {
+		return getFromHeaders(createKeyOf(key), headers);
+	}
+
+	public static Optional<String> getFromHeaders(Key<byte[]> key, Metadata headers) {
+		return Optional.ofNullable(headers.get(key)).map(GrpcUtil::byteToString);
 	}
 
 	public static Collection<String> getCollection(String key, Metadata headers) {
@@ -64,4 +71,5 @@ public class GrpcUtil {
 	private static String byteToString(byte[] bytes) {
 		return new String(bytes, StandardCharsets.UTF_8);
 	}
+
 }
\ No newline at end of file
-- 
GitLab