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