From 4c8eba86c725e8da0051aa5075d4a4357b94657a Mon Sep 17 00:00:00 2001 From: csviri Date: Mon, 2 May 2022 08:50:22 +0200 Subject: [PATCH 1/4] aggregate exception improvement --- .../operator/AggregatedOperatorException.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/AggregatedOperatorException.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/AggregatedOperatorException.java index 2e1247dd8f..fe3fb306cd 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/AggregatedOperatorException.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/AggregatedOperatorException.java @@ -1,23 +1,30 @@ package io.javaoperatorsdk.operator; import java.util.Arrays; -import java.util.Collections; import java.util.List; public class AggregatedOperatorException extends OperatorException { + private final List causes; public AggregatedOperatorException(String message, Exception... exceptions) { - super(message); - this.causes = exceptions != null ? Arrays.asList(exceptions) : Collections.emptyList(); + super(message, exceptions[0]); + this.causes = Arrays.asList(exceptions); } public AggregatedOperatorException(String message, List exceptions) { - super(message); - this.causes = exceptions != null ? exceptions : Collections.emptyList(); + super(message, exceptions.get(0)); + this.causes = exceptions; } public List getAggregatedExceptions() { return causes; } + + @Override + public String toString() { + return "AggregatedOperatorException{" + + "causes=" + causes + + '}'; + } } From 01153b1ebf11b544ee7a90bd94239630eb3e4c0d Mon Sep 17 00:00:00 2001 From: csviri Date: Mon, 2 May 2022 10:09:11 +0200 Subject: [PATCH 2/4] null check --- .../operator/AggregatedOperatorException.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/AggregatedOperatorException.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/AggregatedOperatorException.java index fe3fb306cd..b366e6a70e 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/AggregatedOperatorException.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/AggregatedOperatorException.java @@ -2,18 +2,19 @@ import java.util.Arrays; import java.util.List; +import java.util.Objects; public class AggregatedOperatorException extends OperatorException { private final List causes; public AggregatedOperatorException(String message, Exception... exceptions) { - super(message, exceptions[0]); + super(message, Objects.requireNonNull(exceptions)[0]); this.causes = Arrays.asList(exceptions); } public AggregatedOperatorException(String message, List exceptions) { - super(message, exceptions.get(0)); + super(message, Objects.requireNonNull(exceptions).get(0)); this.causes = exceptions; } From 28d8381d87ffd8604c61cbcedc8ab8b13e925947 Mon Sep 17 00:00:00 2001 From: Chris Laprun Date: Mon, 2 May 2022 17:27:11 +0200 Subject: [PATCH 3/4] fix: avoid NPE when creating AggregatedOperatorException --- .../operator/AggregatedOperatorException.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/AggregatedOperatorException.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/AggregatedOperatorException.java index b366e6a70e..7ef4767eef 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/AggregatedOperatorException.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/AggregatedOperatorException.java @@ -1,6 +1,7 @@ package io.javaoperatorsdk.operator; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.Objects; @@ -9,13 +10,13 @@ public class AggregatedOperatorException extends OperatorException { private final List causes; public AggregatedOperatorException(String message, Exception... exceptions) { - super(message, Objects.requireNonNull(exceptions)[0]); - this.causes = Arrays.asList(exceptions); + super(message, exceptions != null && exceptions.length > 0 ? exceptions[0] : null); + this.causes = exceptions != null ? Arrays.asList(exceptions) : Collections.emptyList(); } public AggregatedOperatorException(String message, List exceptions) { - super(message, Objects.requireNonNull(exceptions).get(0)); - this.causes = exceptions; + super(message, exceptions != null && !exceptions.isEmpty() ? exceptions.get(0) : null); + this.causes = exceptions != null ? exceptions : Collections.emptyList(); } public List getAggregatedExceptions() { From 8751b6ce23ad9344680ccc34b2b6fce8a881e71d Mon Sep 17 00:00:00 2001 From: Chris Laprun Date: Mon, 2 May 2022 17:48:07 +0200 Subject: [PATCH 4/4] fix: format --- .../io/javaoperatorsdk/operator/AggregatedOperatorException.java | 1 - 1 file changed, 1 deletion(-) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/AggregatedOperatorException.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/AggregatedOperatorException.java index 7ef4767eef..4600c2c5e4 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/AggregatedOperatorException.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/AggregatedOperatorException.java @@ -3,7 +3,6 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; -import java.util.Objects; public class AggregatedOperatorException extends OperatorException {