You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by fm...@apache.org on 2015/02/06 16:03:11 UTC

svn commit: r1657851 - /sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/filter/JoinFilter.java

Author: fmeschbe
Date: Fri Feb  6 15:03:11 2015
New Revision: 1657851

URL: http://svn.apache.org/r1657851
Log:
SLING-4354 Update the behaviour of the 'join' option

(Apply patch by Radu Cotescu, thanks a lot)

Modified:
    sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/filter/JoinFilter.java

Modified: sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/filter/JoinFilter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/filter/JoinFilter.java?rev=1657851&r1=1657850&r2=1657851&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/filter/JoinFilter.java (original)
+++ sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/filter/JoinFilter.java Fri Feb  6 15:03:11 2015
@@ -19,6 +19,7 @@
 
 package org.apache.sling.scripting.sightly.impl.filter;
 
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Iterator;
 
@@ -63,7 +64,13 @@ public class JoinFilter extends FilterCo
             throw new SightlyException("Join function must be called with two arguments.");
         }
         RenderContextImpl renderContextImpl = (RenderContextImpl) renderContext;
-        Collection<?> collection = renderContextImpl.toCollection(arguments[0]);
+        Object joinArgument = arguments[0];
+        Collection<?> collection = renderContextImpl.toCollection(joinArgument);
+        if (joinArgument != null && collection.isEmpty()) {
+            collection = Arrays.asList(new Object[] {
+                joinArgument
+            });
+        }
         String joinString = renderContextImpl.toString(arguments[1]);
         return join(renderContextImpl, collection, joinString);
     }