You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2012/07/09 00:21:33 UTC
[5/9] git commit: Add JSONObject.putAll(Map)
Add JSONObject.putAll(Map)
Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/806795e0
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/806795e0
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/806795e0
Branch: refs/heads/5.4-js-rewrite
Commit: 806795e0e92daa2f92edcb509fcb5bebac8e2c7c
Parents: a25b7ac
Author: Howard M. Lewis Ship <hl...@apache.org>
Authored: Sun Jul 8 14:59:04 2012 -0700
Committer: Howard M. Lewis Ship <hl...@apache.org>
Committed: Sun Jul 8 14:59:04 2012 -0700
----------------------------------------------------------------------
.../java/org/apache/tapestry5/json/JSONObject.java | 19 +++++++++++++++
.../test/groovy/json/specs/JSONObjectSpec.groovy | 13 ++++++++++
2 files changed, 32 insertions(+), 0 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/806795e0/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONObject.java
----------------------------------------------------------------------
diff --git a/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONObject.java b/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONObject.java
index 2ea4319..e171cc0 100644
--- a/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONObject.java
+++ b/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONObject.java
@@ -954,4 +954,23 @@ public final class JSONObject extends JSONCollection
{
return Collections.unmodifiableMap(properties);
}
+
+ /**
+ * Invokes {@link #put(String, Object)} for each value from the map.
+ *
+ * @param newProperties
+ * to add to this JSONObject
+ * @return this JSONObject
+ */
+ public JSONObject putAll(Map<String, Object> newProperties)
+ {
+ assert newProperties != null;
+
+ for (Map.Entry<String, Object> e : newProperties.entrySet())
+ {
+ put(e.getKey(), e.getValue());
+ }
+
+ return this;
+ }
}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/806795e0/tapestry-json/src/test/groovy/json/specs/JSONObjectSpec.groovy
----------------------------------------------------------------------
diff --git a/tapestry-json/src/test/groovy/json/specs/JSONObjectSpec.groovy b/tapestry-json/src/test/groovy/json/specs/JSONObjectSpec.groovy
index c4bd4ef..1741ce7 100644
--- a/tapestry-json/src/test/groovy/json/specs/JSONObjectSpec.groovy
+++ b/tapestry-json/src/test/groovy/json/specs/JSONObjectSpec.groovy
@@ -776,4 +776,17 @@ class JSONObjectSpec extends Specification {
object.length() == 0
map.isEmpty()
}
+
+ def "can add new properties via putAll()"() {
+ def object = new JSONObject("fred", "flintstone")
+
+ when:
+
+ def result = object.putAll([barney: "rubble", wilma: "flintstone"])
+
+ then:
+
+ result.is object
+ object.toCompactString() == /{"wilma":"flintstone","fred":"flintstone","barney":"rubble"}/
+ }
}