From 69c26d1f8ac4256d0a5e22b47145f5eda14a7257 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Thu, 25 Apr 2024 12:21:56 +0200
Subject: [PATCH] OZG-5572 return empty array when parameter names are null

---
 .../de/ozgcloud/common/logging/logger/AspectLogger.java  | 5 ++++-
 .../common/logging/logger/InterceptingLogger.java        | 9 ++++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/logger/AspectLogger.java b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/logger/AspectLogger.java
index 1f060fd..3e1df98 100644
--- a/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/logger/AspectLogger.java
+++ b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/logger/AspectLogger.java
@@ -23,9 +23,12 @@
  */
 package de.ozgcloud.common.logging.logger;
 
+import org.apache.commons.lang3.ArrayUtils;
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.reflect.MethodSignature;
 
+import java.util.Optional;
+
 public class AspectLogger extends CommonLogger<JoinPoint> {
 
 	public AspectLogger(JoinPoint joinPoint) {
@@ -39,7 +42,7 @@ public class AspectLogger extends CommonLogger<JoinPoint> {
 
 	@Override
 	String[] getParameterNames() {
-		return getSignature().getParameterNames();
+		return Optional.ofNullable(getSignature()).map(MethodSignature::getParameterNames).orElse(ArrayUtils.EMPTY_STRING_ARRAY);
 	}
 
 	@Override
diff --git a/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/logger/InterceptingLogger.java b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/logger/InterceptingLogger.java
index 349866f..daba255 100644
--- a/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/logger/InterceptingLogger.java
+++ b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/logger/InterceptingLogger.java
@@ -24,9 +24,12 @@
 package de.ozgcloud.common.logging.logger;
 
 import jakarta.interceptor.InvocationContext;
+import lombok.NonNull;
+import org.apache.commons.lang3.ArrayUtils;
 
 import java.util.Arrays;
 import java.util.Objects;
+import java.util.Optional;
 
 public class InterceptingLogger extends CommonLogger<InvocationContext> {
 
@@ -41,7 +44,11 @@ public class InterceptingLogger extends CommonLogger<InvocationContext> {
 
 	@Override
 	String[] getParameterNames() {
-		return Arrays.stream(logContext.getParameters())
+		return Optional.ofNullable(logContext.getParameters()).map(this::mapParameters).orElse(ArrayUtils.EMPTY_STRING_ARRAY);
+	}
+
+	private String[] mapParameters(@NonNull Object[] parameters) {
+		return Arrays.stream(parameters)
 				.filter(Objects::nonNull)
 				.map(param -> param.getClass().getSimpleName())
 				.toArray(String[]::new);
-- 
GitLab