You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@velocity.apache.org by cb...@apache.org on 2018/03/23 15:13:53 UTC
svn commit: r1827576 - in
/velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools:
ConversionUtils.java generic/ConversionTool.java
Author: cbrisson
Date: Fri Mar 23 15:13:52 2018
New Revision: 1827576
URL: http://svn.apache.org/viewvc?rev=1827576&view=rev
Log:
[tools] add new $conv.toList(obj) conversion method
Modified:
velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/ConversionUtils.java
velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/ConversionTool.java
Modified: velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/ConversionUtils.java
URL: http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/ConversionUtils.java?rev=1827576&r1=1827575&r2=1827576&view=diff
==============================================================================
--- velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/ConversionUtils.java (original)
+++ velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/ConversionUtils.java Fri Mar 23 15:13:52 2018
@@ -31,10 +31,13 @@ import java.text.FieldPosition;
import java.text.NumberFormat;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.Date;
import java.util.Calendar;
import java.util.HashMap;
+import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.TimeZone;
@@ -841,4 +844,16 @@ public class ConversionUtils
catch (Exception e) {}
return null;
}
+
+ public static List asList(Object value)
+ {
+ if (value instanceof List) return (List)value;
+ else if (value.getClass().isArray()) return Arrays.asList(value);
+ else
+ {
+ List ret = new ArrayList();
+ ret.add(value);
+ return ret;
+ }
+ }
}
Modified: velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/ConversionTool.java
URL: http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/ConversionTool.java?rev=1827576&r1=1827575&r2=1827576&view=diff
==============================================================================
--- velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/ConversionTool.java (original)
+++ velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/ConversionTool.java Fri Mar 23 15:13:52 2018
@@ -25,6 +25,7 @@ import java.util.Collection;
import java.util.Date;
import java.util.Calendar;
import java.util.Iterator;
+import java.util.List;
import java.util.Locale;
import java.util.TimeZone;
import org.apache.velocity.tools.ConversionUtils;
@@ -657,6 +658,19 @@ public class ConversionTool extends Loca
return calendars;
}
+ /**
+ * Convert a singleton or an array as List
+ * @param value Object to be converted
+ * @return either the object itself if it's already a list,
+ * the object converted to a list if it's an array,
+ * or a new singleton list.
+ */
+ public List toList(Object value)
+ {
+ if (value == null) return null;
+ else return ConversionUtils.asList(value);
+ }
+
// --------------------- basic string parsing methods --------------