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()); } /** */