This is an automated email from the ASF dual-hosted git repository.

blue pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iceberg.git


The following commit(s) were added to refs/heads/master by this push:
     new ef9b77000c API: Align error messages in CloseableIterable and 
CloseableIterator (#5433)
ef9b77000c is described below

commit ef9b77000c5b4b3b959db7688a9ab0b7e3b14338
Author: Eduard Tudenhöfner <[email protected]>
AuthorDate: Mon Aug 8 00:23:21 2022 +0200

    API: Align error messages in CloseableIterable and CloseableIterator (#5433)
---
 api/src/main/java/org/apache/iceberg/io/CloseableIterable.java |  7 +++----
 api/src/main/java/org/apache/iceberg/io/CloseableIterator.java |  2 +-
 .../test/java/org/apache/iceberg/io/TestCloseableIterable.java | 10 +++++++++-
 .../test/java/org/apache/iceberg/io/TestClosingIterator.java   |  9 +++++++++
 4 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/api/src/main/java/org/apache/iceberg/io/CloseableIterable.java 
b/api/src/main/java/org/apache/iceberg/io/CloseableIterable.java
index 294f66ad5a..2a7a6a85eb 100644
--- a/api/src/main/java/org/apache/iceberg/io/CloseableIterable.java
+++ b/api/src/main/java/org/apache/iceberg/io/CloseableIterable.java
@@ -33,7 +33,7 @@ import 
org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
 public interface CloseableIterable<T> extends Iterable<T>, Closeable {
 
   /**
-   * Returns an closeable iterator over elements of type {@code T}.
+   * Returns a closeable iterator over elements of type {@code T}.
    *
    * @return an {@link CloseableIterator}.
    */
@@ -85,8 +85,7 @@ public interface CloseableIterable<T> extends Iterable<T>, 
Closeable {
    */
   static <E> CloseableIterable<E> whenComplete(
       CloseableIterable<E> iterable, Runnable onCompletionRunnable) {
-    Preconditions.checkNotNull(
-        onCompletionRunnable, "Cannot execute a null Runnable after 
completion");
+    Preconditions.checkNotNull(onCompletionRunnable, "Invalid runnable: null");
     return new CloseableIterable<E>() {
       @Override
       public void close() throws IOException {
@@ -177,7 +176,7 @@ public interface CloseableIterable<T> extends Iterable<T>, 
Closeable {
 
   static <I, O> CloseableIterable<O> transform(
       CloseableIterable<I> iterable, Function<I, O> transform) {
-    Preconditions.checkNotNull(transform, "Cannot apply a null transform");
+    Preconditions.checkNotNull(transform, "Invalid transform: null");
 
     return new CloseableIterable<O>() {
       @Override
diff --git a/api/src/main/java/org/apache/iceberg/io/CloseableIterator.java 
b/api/src/main/java/org/apache/iceberg/io/CloseableIterator.java
index 1661acdcda..157302a875 100644
--- a/api/src/main/java/org/apache/iceberg/io/CloseableIterator.java
+++ b/api/src/main/java/org/apache/iceberg/io/CloseableIterator.java
@@ -59,7 +59,7 @@ public interface CloseableIterator<T> extends Iterator<T>, 
Closeable {
 
   static <I, O> CloseableIterator<O> transform(
       CloseableIterator<I> iterator, Function<I, O> transform) {
-    Preconditions.checkNotNull(transform, "Cannot apply a null transform");
+    Preconditions.checkNotNull(transform, "Invalid transform: null");
 
     return new CloseableIterator<O>() {
       @Override
diff --git a/api/src/test/java/org/apache/iceberg/io/TestCloseableIterable.java 
b/api/src/test/java/org/apache/iceberg/io/TestCloseableIterable.java
index 68895cfc43..82ba2e21a5 100644
--- a/api/src/test/java/org/apache/iceberg/io/TestCloseableIterable.java
+++ b/api/src/test/java/org/apache/iceberg/io/TestCloseableIterable.java
@@ -104,7 +104,7 @@ public class TestCloseableIterable {
     Assertions.assertThatThrownBy(
             () -> 
CloseableIterable.whenComplete(CloseableIterable.combine(items, () -> {}), 
null))
         .isInstanceOf(NullPointerException.class)
-        .hasMessage("Cannot execute a null Runnable after completion");
+        .hasMessage("Invalid runnable: null");
 
     try (CloseableIterable<Integer> iter =
         CloseableIterable.whenComplete(
@@ -260,4 +260,12 @@ public class TestCloseableIterable {
         .isInstanceOf(IllegalArgumentException.class)
         .hasMessage("Invalid predicate: null");
   }
+
+  @Test
+  public void transformNullCheck() {
+    Assertions.assertThatThrownBy(
+            () -> CloseableIterable.transform(CloseableIterable.empty(), null))
+        .isInstanceOf(NullPointerException.class)
+        .hasMessage("Invalid transform: null");
+  }
 }
diff --git a/api/src/test/java/org/apache/iceberg/io/TestClosingIterator.java 
b/api/src/test/java/org/apache/iceberg/io/TestClosingIterator.java
index 2cc65cf7ff..6fdf8c1244 100644
--- a/api/src/test/java/org/apache/iceberg/io/TestClosingIterator.java
+++ b/api/src/test/java/org/apache/iceberg/io/TestClosingIterator.java
@@ -26,6 +26,7 @@ import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import org.assertj.core.api.Assertions;
 import org.junit.Test;
 
 public class TestClosingIterator {
@@ -67,4 +68,12 @@ public class TestClosingIterator {
     assertFalse(closingIterator.hasNext());
     verify(underlying, times(1)).close();
   }
+
+  @Test
+  public void transformNullCheck() {
+    Assertions.assertThatThrownBy(
+            () -> CloseableIterator.transform(CloseableIterator.empty(), null))
+        .isInstanceOf(NullPointerException.class)
+        .hasMessage("Invalid transform: null");
+  }
 }

Reply via email to