forward port r1571643
with `svn merge -c1571643 ^/tiles/framework/branches/TILES_3_0_X .`
ref: http://thread.gmane.org/gmane.comp.apache.tiles.scm/576
git-svn-id: https://svn.apache.org/repos/asf/tiles/framework/trunk@1571644 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/tiles-core/src/main/java/org/apache/tiles/definition/pattern/PatternUtil.java b/tiles-core/src/main/java/org/apache/tiles/definition/pattern/PatternUtil.java
index edc82b9..f84d0f7 100644
--- a/tiles-core/src/main/java/org/apache/tiles/definition/pattern/PatternUtil.java
+++ b/tiles-core/src/main/java/org/apache/tiles/definition/pattern/PatternUtil.java
@@ -67,12 +67,15 @@
*
* @param d The definition to replace.
* @param name The name of the definition to be created.
- * @param vars The variables to be substituted.
+ * @param varsOrig The variables to be substituted.
* @return The definition that can be rendered.
* @since 2.2.0
*/
public static Definition replacePlaceholders(Definition d, String name,
- Object... vars) {
+ Object... varsOrig) {
+
+ Object[] vars = replaceNullsWithBlank(varsOrig);
+
Definition nudef = new Definition();
nudef.setExtends(replace(d.getExtends(), vars));
@@ -229,4 +232,12 @@
}
return st;
}
+
+ private static Object[] replaceNullsWithBlank(Object[] varsOrig) {
+ Object[] vars = new Object[varsOrig.length];
+ for(int i = 0; i < varsOrig.length; ++i) {
+ vars[i] = null != varsOrig[i] ? varsOrig[i] : "";
+ }
+ return vars;
+ }
}