Author: cbrisson Date: Sun Mar 3 12:17:44 2019 New Revision: 1854697 URL: http://svn.apache.org/viewvc?rev=1854697&view=rev Log: [engine] Rendering of arrays should display their content ('[3, 4, 5]' rather than '[I@15db9742')
Modified: velocity/engine/trunk/src/changes/changes.xml velocity/engine/trunk/velocity-engine-core/src/main/java/org/apache/velocity/util/DuckType.java velocity/engine/trunk/velocity-engine-core/src/test/resources/templates/compare/string.cmp velocity/engine/trunk/velocity-engine-core/src/test/resources/templates/string.vm Modified: velocity/engine/trunk/src/changes/changes.xml URL: http://svn.apache.org/viewvc/velocity/engine/trunk/src/changes/changes.xml?rev=1854697&r1=1854696&r2=1854697&view=diff ============================================================================== --- velocity/engine/trunk/src/changes/changes.xml (original) +++ velocity/engine/trunk/src/changes/changes.xml Sun Mar 3 12:17:44 2019 @@ -27,6 +27,9 @@ <body> <release version="2.1" date="In subversion"> <action type="fix" dev="cbrisson"> + Rendering of arrays should display their content, as for lists. + </action> + <action type="fix" dev="cbrisson"> Enhance space gobbling ("lines" mode): do not eat ending newline when directive doesn't start after a newline. </action> <action type="fix" dev="cbrisson"> Modified: velocity/engine/trunk/velocity-engine-core/src/main/java/org/apache/velocity/util/DuckType.java URL: http://svn.apache.org/viewvc/velocity/engine/trunk/velocity-engine-core/src/main/java/org/apache/velocity/util/DuckType.java?rev=1854697&r1=1854696&r2=1854697&view=diff ============================================================================== --- velocity/engine/trunk/velocity-engine-core/src/main/java/org/apache/velocity/util/DuckType.java (original) +++ velocity/engine/trunk/velocity-engine-core/src/main/java/org/apache/velocity/util/DuckType.java Sun Mar 3 12:17:44 2019 @@ -94,6 +94,20 @@ public class DuckType { return (String)value; } + if (coerceType && value.getClass().isArray()) + { + // nicify arrays string representation + StringBuilder builder = new StringBuilder(); + builder.append('['); + int len = Array.getLength(value); + for (int i = 0; i < len; ++i) + { + if (i > 0) builder.append(", "); + builder.append(asString(Array.get(value, i))); + } + builder.append(']'); + return builder.toString(); + } Object got = get(value, Types.STRING); if (got == NO_METHOD) { Modified: velocity/engine/trunk/velocity-engine-core/src/test/resources/templates/compare/string.cmp URL: http://svn.apache.org/viewvc/velocity/engine/trunk/velocity-engine-core/src/test/resources/templates/compare/string.cmp?rev=1854697&r1=1854696&r2=1854697&view=diff ============================================================================== --- velocity/engine/trunk/velocity-engine-core/src/test/resources/templates/compare/string.cmp (original) +++ velocity/engine/trunk/velocity-engine-core/src/test/resources/templates/compare/string.cmp Sun Mar 3 12:17:44 2019 @@ -27,3 +27,4 @@ R R O O C K K S R R OOOOO CCCCC K K SSSS +[10, 20, 30, 40, 50] Modified: velocity/engine/trunk/velocity-engine-core/src/test/resources/templates/string.vm URL: http://svn.apache.org/viewvc/velocity/engine/trunk/velocity-engine-core/src/test/resources/templates/string.vm?rev=1854697&r1=1854696&r2=1854697&view=diff ============================================================================== --- velocity/engine/trunk/velocity-engine-core/src/test/resources/templates/string.vm (original) +++ velocity/engine/trunk/velocity-engine-core/src/test/resources/templates/string.vm Sun Mar 3 12:17:44 2019 @@ -47,3 +47,5 @@ R R OOOOO CCCCC K K SSSS ) $shape +## test array to string +$intarr