From 172143df7c37482f8c1d43ac4bff769d40ee5ac9 Mon Sep 17 00:00:00 2001 From: Jesse Wilson Date: Sat, 12 Nov 2011 23:32:44 +0000 Subject: [PATCH] Removing JsonObject.deepCopy() and JsonArray.deepCopy() --- .../main/java/com/google/gson/JsonArray.java | 12 ------- .../java/com/google/gson/JsonElement.java | 5 --- .../main/java/com/google/gson/JsonNull.java | 4 --- .../main/java/com/google/gson/JsonObject.java | 12 ------- .../java/com/google/gson/JsonPrimitive.java | 4 --- .../java/com/google/gson/JsonArrayTest.java | 33 ------------------- .../java/com/google/gson/JsonObjectTest.java | 33 ------------------- 7 files changed, 103 deletions(-) diff --git a/gson/src/main/java/com/google/gson/JsonArray.java b/gson/src/main/java/com/google/gson/JsonArray.java index 1192b8c8..a658ce78 100644 --- a/gson/src/main/java/com/google/gson/JsonArray.java +++ b/gson/src/main/java/com/google/gson/JsonArray.java @@ -61,18 +61,6 @@ public final class JsonArray extends JsonElement implements Iterable entry : result.members.entrySet()) { - entry.setValue(entry.getValue().deepCopy()); - } - return result; - } - /** * Returns a set of members of this object. The set is ordered, and the order is in which the * elements were added. diff --git a/gson/src/main/java/com/google/gson/JsonPrimitive.java b/gson/src/main/java/com/google/gson/JsonPrimitive.java index 42463f8f..90bbfc89 100644 --- a/gson/src/main/java/com/google/gson/JsonPrimitive.java +++ b/gson/src/main/java/com/google/gson/JsonPrimitive.java @@ -98,10 +98,6 @@ public final class JsonPrimitive extends JsonElement { } } - @Override JsonElement deepCopy() { - return this; // immutable! - } - /** * Check whether this primitive contains a boolean value. * diff --git a/gson/src/test/java/com/google/gson/JsonArrayTest.java b/gson/src/test/java/com/google/gson/JsonArrayTest.java index 6692ea5c..6c8ddf3e 100644 --- a/gson/src/test/java/com/google/gson/JsonArrayTest.java +++ b/gson/src/test/java/com/google/gson/JsonArrayTest.java @@ -49,37 +49,4 @@ public final class JsonArrayTest extends TestCase { assertFalse(a.equals(b)); assertFalse(b.equals(a)); } - - public void testDeepCopy() { - JsonObject v1 = new JsonObject(); - v1.add("k", new JsonPrimitive("v")); - JsonNull v2 = JsonNull.INSTANCE; - JsonPrimitive v3 = new JsonPrimitive("abc"); - JsonArray v4 = new JsonArray(); - v4.add(new JsonPrimitive("def")); - - JsonArray array = new JsonArray(); - array.add(v1); - array.add(v2); - array.add(v3); - array.add(v4); - - // the deep copy must be equal - JsonArray deepCopy = array.deepCopy(); - assertEquals(array, deepCopy); - - // collections must be copied by value - JsonObject d1 = deepCopy.get(0).getAsJsonObject(); - assertEquals(v1, d1); - assertTrue(v1 != d1); - JsonArray d4 = deepCopy.get(3).getAsJsonArray(); - assertEquals(v4, d4); - assertTrue(v4 != d4); - - // collections should themselves be deeply immutable - v1.add("k2", new JsonPrimitive("v2")); - assertEquals(1, d1.entrySet().size()); - v4.add(new JsonPrimitive("ghi")); - assertEquals(1, d4.size()); - } } diff --git a/gson/src/test/java/com/google/gson/JsonObjectTest.java b/gson/src/test/java/com/google/gson/JsonObjectTest.java index 720c466d..d0747a6e 100644 --- a/gson/src/test/java/com/google/gson/JsonObjectTest.java +++ b/gson/src/test/java/com/google/gson/JsonObjectTest.java @@ -156,37 +156,4 @@ public class JsonObjectTest extends TestCase { assertFalse(a.equals(b)); assertFalse(b.equals(a)); } - - public void testDeepCopy() { - JsonObject v1 = new JsonObject(); - v1.add("k", new JsonPrimitive("v")); - JsonNull v2 = JsonNull.INSTANCE; - JsonPrimitive v3 = new JsonPrimitive("abc"); - JsonArray v4 = new JsonArray(); - v4.add(new JsonPrimitive("def")); - - JsonObject object = new JsonObject(); - object.add("1", v1); - object.add("2", v2); - object.add("3", v3); - object.add("4", v4); - - // the deep copy must be equal - JsonObject deepCopy = object.deepCopy(); - assertEquals(object, deepCopy); - - // collections must be copied by value - JsonObject d1 = deepCopy.get("1").getAsJsonObject(); - assertEquals(v1, d1); - assertTrue(v1 != d1); - JsonArray d4 = deepCopy.get("4").getAsJsonArray(); - assertEquals(v4, d4); - assertTrue(v4 != d4); - - // collections should themselves be deeply immutable - v1.add("k2", new JsonPrimitive("v2")); - assertEquals(1, d1.entrySet().size()); - v4.add(new JsonPrimitive("ghi")); - assertEquals(1, d4.size()); - } }