Repository: wicket
Updated Branches:
  refs/heads/master 3a36b0a23 -> e910b592e


WICKET-5820 interpolate null with 'null' in resourceKey

Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/e910b592
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/e910b592
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/e910b592

Branch: refs/heads/master
Commit: e910b592e08f31505510fa00f31ed0f485b8b95a
Parents: 3a36b0a
Author: Sven Meier <svenme...@apache.org>
Authored: Thu Jan 29 16:18:01 2015 +0100
Committer: Sven Meier <svenme...@apache.org>
Committed: Thu Jan 29 16:18:01 2015 +0100

----------------------------------------------------------------------
 .../java/org/apache/wicket/model/StringResourceModel.java   | 9 ++++++++-
 .../model/StringResourceModelTest$TestPage.properties       | 1 +
 .../org/apache/wicket/model/StringResourceModelTest.java    | 3 +++
 3 files changed, 12 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/e910b592/wicket-core/src/main/java/org/apache/wicket/model/StringResourceModel.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/model/StringResourceModel.java 
b/wicket-core/src/main/java/org/apache/wicket/model/StringResourceModel.java
index 9f558ee..4a9d36b 100644
--- a/wicket-core/src/main/java/org/apache/wicket/model/StringResourceModel.java
+++ b/wicket-core/src/main/java/org/apache/wicket/model/StringResourceModel.java
@@ -566,7 +566,14 @@ public class StringResourceModel extends 
LoadableDetachableModel<String>
        {
                if (model != null)
                {
-                       return new PropertyVariableInterpolator(resourceKey, 
model.getObject()).toString();
+                       return new PropertyVariableInterpolator(resourceKey, 
model.getObject()) {
+                               protected String getValue(String variableName) {
+                                       String result = 
super.getValue(variableName);
+                                       
+                                       // WICKET-5820 interpolate null with 
'null'
+                                       return result == null ? "null" : result;
+                               };
+                       }.toString();
                }
                else
                {

http://git-wip-us.apache.org/repos/asf/wicket/blob/e910b592/wicket-core/src/test/java/org/apache/wicket/model/StringResourceModelTest$TestPage.properties
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/model/StringResourceModelTest$TestPage.properties
 
b/wicket-core/src/test/java/org/apache/wicket/model/StringResourceModelTest$TestPage.properties
index 51d45ed..68203b1 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/model/StringResourceModelTest$TestPage.properties
+++ 
b/wicket-core/src/test/java/org/apache/wicket/model/StringResourceModelTest$TestPage.properties
@@ -21,6 +21,7 @@ wrappedOnAssignment.text=Non-wrapped text
 resourceModelWithoutComponent.wrappedOnAssignment.text=Wrapped text
 weather.sunny=It's sunny, wear sunscreen
 weather.raining=It's raining, take an umbrella
+weather.null=It's ... i don't know
 weather.message=Weather station "${name}" reports that the temperature is 
${currentTemperature} ${units}
 weather.mixed=Weather station "${name}" reports that the temperature is {0} {1}
 weather.detail=The report for {0,date,medium}, shows the temperature as 
{2,number,###.##} {3} and the weather to be {1}

http://git-wip-us.apache.org/repos/asf/wicket/blob/e910b592/wicket-core/src/test/java/org/apache/wicket/model/StringResourceModelTest.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/model/StringResourceModelTest.java
 
b/wicket-core/src/test/java/org/apache/wicket/model/StringResourceModelTest.java
index e4fda1f..f3283d1 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/model/StringResourceModelTest.java
+++ 
b/wicket-core/src/test/java/org/apache/wicket/model/StringResourceModelTest.java
@@ -98,6 +98,9 @@ public class StringResourceModelTest extends WicketTestCase
                ws.setCurrentStatus("raining");
                assertEquals("Text should be as expected", "It's raining, take 
an umbrella",
                        model.getString());
+               ws.setCurrentStatus(null);
+               assertEquals("Text should be as expected", "It's ... i don't 
know",
+                       model.getString());
        }
 
        /** */

Reply via email to