This is an automated email from the ASF dual-hosted git repository. daim pushed a commit to branch OAK-11550 in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
commit 4a95187641c52fd0023ec81048ca2d02a606a783 Author: Rishabh Kumar <[email protected]> AuthorDate: Wed Mar 5 20:17:14 2025 +0530 OAK-11550 : added util method to replace Guava's Iterables.toStrinag() --- .../oak/commons/collections/IterableUtils.java | 15 ++++++++ .../oak/commons/collections/IterableUtilsTest.java | 41 ++++++++++++++++++++++ 2 files changed, 56 insertions(+) diff --git a/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/collections/IterableUtils.java b/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/collections/IterableUtils.java index 370f66a7b6..c3541b6066 100644 --- a/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/collections/IterableUtils.java +++ b/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/collections/IterableUtils.java @@ -375,4 +375,19 @@ public class IterableUtils { public static <T> Iterable<T> limit(final Iterable<T> iterable, final int limitSize) { return org.apache.commons.collections4.IterableUtils.boundedIterable(iterable, limitSize); } + + /** + * Returns a string representation of the elements of the specified iterable. + * <p> + * The string representation consists of a list of the iterable's elements, + * enclosed in square brackets ({@code "[]"}). Adjacent elements are separated + * by the characters {@code ", "} (a comma followed by a space). Elements are + * converted to strings as by {@code String.valueOf(Object)}. + * + * @param iterable the iterable to convert to a string, may be null + * @return a string representation of {@code iterable} + */ + public static String toString(final Iterable<?> iterable) { + return org.apache.commons.collections4.IterableUtils.toString(iterable); + } } diff --git a/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/collections/IterableUtilsTest.java b/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/collections/IterableUtilsTest.java index c9b0efe106..916ffd6955 100644 --- a/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/collections/IterableUtilsTest.java +++ b/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/collections/IterableUtilsTest.java @@ -822,4 +822,45 @@ public class IterableUtilsTest { Assert.assertEquals(Arrays.asList(2, 3, 4, 5), list); } + + @Test + public void testToStringWithNonEmptyIterable() { + Iterable<String> iterable = List.of("a", "b", "c"); + String result = IterableUtils.toString(iterable); + Assert.assertEquals("[a, b, c]", result); + } + + @Test + public void testToStringWithEmptyIterable() { + Iterable<String> iterable = Collections.emptyList(); + String result = IterableUtils.toString(iterable); + Assert.assertEquals("[]", result); + } + + @Test + public void testToStringWithNullIterable() { + String result = IterableUtils.toString(null); + Assert.assertEquals("[]", result); + } + + @Test + public void testToStringWithNullElements() { + Iterable<String> iterable = Arrays.asList("a", null, "c"); + String result = IterableUtils.toString(iterable); + Assert.assertEquals("[a, null, c]", result); + } + + @Test + public void testToStringWithMixedTypeElements() { + Iterable<Object> iterable = Arrays.asList("a", 1, true, 3.14); + String result = IterableUtils.toString(iterable); + Assert.assertEquals("[a, 1, true, 3.14]", result); + } + + @Test + public void testToStringWithSpecialCharacters() { + Iterable<String> iterable = Arrays.asList("a,b", "c\"d", "e\nf"); + String result = IterableUtils.toString(iterable); + Assert.assertEquals("[a,b, c\"d, e\nf]", result); + } }
