You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by kw...@apache.org on 2021/07/28 11:00:12 UTC
[sling-org-apache-sling-scripting-sightly-runtime] 01/01:
SLING-10679 wrap every object in a single item list
This is an automated email from the ASF dual-hosted git repository.
kwin pushed a commit to branch feature/SLING-10679-improve-to-collection
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-scripting-sightly-runtime.git
commit 7b64f09b35865d50a16a521a25de486f3d4036d6
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Wed Jul 28 12:59:54 2021 +0200
SLING-10679 wrap every object in a single item list
---
.../apache/sling/scripting/sightly/render/ObjectModel.java | 11 ++---------
.../sling/scripting/sightly/render/ObjectModelTest.java | 3 ++-
2 files changed, 4 insertions(+), 10 deletions(-)
diff --git a/src/main/java/org/apache/sling/scripting/sightly/render/ObjectModel.java b/src/main/java/org/apache/sling/scripting/sightly/render/ObjectModel.java
index c9dfaf4..eb706d1 100644
--- a/src/main/java/org/apache/sling/scripting/sightly/render/ObjectModel.java
+++ b/src/main/java/org/apache/sling/scripting/sightly/render/ObjectModel.java
@@ -266,9 +266,7 @@ public final class ObjectModel {
* <li>if the {@code object} is an instance of an {@link Enumeration} a list transformation will be returned</li>
* <li>if the {@code object} is an instance of an {@link Iterator} or {@link Iterable} the result of {@link #fromIterator(Iterator)}
* will be returned</li>
- * <li>if the {@code object} is an instance of a {@link String} or {@link Number} a {@link Collection} containing only this
- * object will be returned</li>
- * <li>any other case not covered by the previous rules will result in an empty {@link Collection}</li>
+ * <li>otherwise the {@code object} is wrapped in a single item list</li>
* </ul>
*
* @param object the target object
@@ -308,12 +306,7 @@ public final class ObjectModel {
Iterable<Object> iterable = (Iterable<Object>) object;
return fromIterator(iterable.iterator());
}
- if (object instanceof String || object instanceof Number) {
- Collection<Object> list = new ArrayList<>();
- list.add(object);
- return list;
- }
- return Collections.emptyList();
+ return Collections.singletonList(object);
}
/**
diff --git a/src/test/java/org/apache/sling/scripting/sightly/render/ObjectModelTest.java b/src/test/java/org/apache/sling/scripting/sightly/render/ObjectModelTest.java
index 00cf89b..8d7f83a 100644
--- a/src/test/java/org/apache/sling/scripting/sightly/render/ObjectModelTest.java
+++ b/src/test/java/org/apache/sling/scripting/sightly/render/ObjectModelTest.java
@@ -138,7 +138,8 @@ public class ObjectModelTest {
@Test
public void testToCollection() {
assertTrue(ObjectModel.toCollection(null).isEmpty());
- assertTrue(ObjectModel.toCollection(new StringBuilder()).isEmpty());
+ StringBuilder sb = new StringBuilder();
+ assertEquals(Collections.singletonList(sb), ObjectModel.toCollection(sb));
Integer[] testArray = new Integer[] {1, 2, 3};
int[] testPrimitiveArray = new int[] {1, 2, 3};
List<Integer> testList = Arrays.asList(testArray);