You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ra...@apache.org on 2015/02/20 21:57:58 UTC

svn commit: r1661220 - in /sling/trunk/contrib/scripting/sightly/engine/src: main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/ test/java/org/apache/sling/scripting/sightly/impl/engine/runtime/

Author: radu
Date: Fri Feb 20 20:57:58 2015
New Revision: 1661220

URL: http://svn.apache.org/r1661220
Log:
SLING-4449 - Allow iterating once over String / Number objects

* obtain a collection with one element for String / Number objects

Modified:
    sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderContextImpl.java
    sling/trunk/contrib/scripting/sightly/engine/src/test/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderContextImplTest.java

Modified: sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderContextImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderContextImpl.java?rev=1661220&r1=1661219&r2=1661220&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderContextImpl.java (original)
+++ sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderContextImpl.java Fri Feb 20 20:57:58 2015
@@ -205,6 +205,11 @@ public class RenderContextImpl implement
             Iterable iterable = (Iterable) obj;
             return fromIterator(iterable.iterator());
         }
+        if (obj instanceof String || obj instanceof Number) {
+            Collection list = new ArrayList();
+            list.add(obj);
+            return list;
+        }
         return Collections.emptyList();
     }
 

Modified: sling/trunk/contrib/scripting/sightly/engine/src/test/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderContextImplTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/test/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderContextImplTest.java?rev=1661220&r1=1661219&r2=1661220&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/sightly/engine/src/test/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderContextImplTest.java (original)
+++ sling/trunk/contrib/scripting/sightly/engine/src/test/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderContextImplTest.java Fri Feb 20 20:57:58 2015
@@ -18,6 +18,7 @@
  ******************************************************************************/
 package org.apache.sling.scripting.sightly.impl.engine.runtime;
 
+import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -61,4 +62,14 @@ public class RenderContextImplTest {
         ResourceResolver scriptResolver = renderContext.getScriptResourceResolver();
         assertNotNull("Expected a non-null resource resolver.", scriptResolver);
     }
+
+    @Test
+    public void testGetCollectionWithOneElement() {
+        String stringObject = "test";
+        Integer numberObject = 1;
+        Collection stringCollection = renderContext.toCollection(stringObject);
+        assertTrue(stringCollection.size() == 1 && stringCollection.contains(stringObject));
+        Collection numberCollection = renderContext.toCollection(numberObject);
+        assertTrue(numberCollection.size() == 1 && numberCollection.contains(numberObject));
+    }
 }