From 2bddd575b3d0c018f5243354c7b399bd51be203c Mon Sep 17 00:00:00 2001 From: Inderjeet Singh Date: Thu, 8 Oct 2009 23:23:52 +0000 Subject: [PATCH] Code review changes from r476 --- .../java/com/google/gson/JsonDeserializationVisitor.java | 2 +- .../com/google/gson/JsonObjectDeserializationVisitor.java | 2 +- gson/src/main/java/com/google/gson/JsonStreamParser.java | 2 +- gson/src/main/java/com/google/gson/JsonTreeNavigator.java | 6 +++--- .../com/google/gson/functional/CustomDeserializerTest.java | 4 ++++ 5 files changed, 10 insertions(+), 6 deletions(-) diff --git a/gson/src/main/java/com/google/gson/JsonDeserializationVisitor.java b/gson/src/main/java/com/google/gson/JsonDeserializationVisitor.java index b91d1ae5..95bb6e75 100644 --- a/gson/src/main/java/com/google/gson/JsonDeserializationVisitor.java +++ b/gson/src/main/java/com/google/gson/JsonDeserializationVisitor.java @@ -69,7 +69,7 @@ abstract class JsonDeserializationVisitor implements ObjectNavigator.Visitor Type objType = objTypePair.getType(); JsonDeserializer deserializer = deserializers.getHandlerFor(objType); if (deserializer != null) { - if (json != null && !json.isJsonNull()) { + if (!json.isJsonNull()) { target = (T) deserializer.deserialize(json, objType, context); } return true; diff --git a/gson/src/main/java/com/google/gson/JsonObjectDeserializationVisitor.java b/gson/src/main/java/com/google/gson/JsonObjectDeserializationVisitor.java index 9bfc65d8..9c1518b2 100644 --- a/gson/src/main/java/com/google/gson/JsonObjectDeserializationVisitor.java +++ b/gson/src/main/java/com/google/gson/JsonObjectDeserializationVisitor.java @@ -112,7 +112,7 @@ final class JsonObjectDeserializationVisitor extends JsonDeserializationVisit @SuppressWarnings("unchecked") JsonDeserializer deserializer = deserializers.getHandlerFor(actualTypeOfField); if (deserializer != null) { - if (child != null && !child.isJsonNull()) { + if (!child.isJsonNull()) { Object value = deserializer.deserialize(child, actualTypeOfField, context); f.set(parent, value); } diff --git a/gson/src/main/java/com/google/gson/JsonStreamParser.java b/gson/src/main/java/com/google/gson/JsonStreamParser.java index 613e693c..b75a089c 100644 --- a/gson/src/main/java/com/google/gson/JsonStreamParser.java +++ b/gson/src/main/java/com/google/gson/JsonStreamParser.java @@ -32,7 +32,7 @@ import java.util.NoSuchElementException; *
  * JsonStreamParser parser = new JsonStreamParser("['first'] {'second':10} 'third'");
  * JsonElement element;
- * synchronized (someCommonObject) {
+ * synchronized (parser) {  // synchronize on an object shared by threads
  *   if (parser.hasNext()) {
  *     element = parser.next();
  *   }
diff --git a/gson/src/main/java/com/google/gson/JsonTreeNavigator.java b/gson/src/main/java/com/google/gson/JsonTreeNavigator.java
index 7d6ad8d1..992de504 100644
--- a/gson/src/main/java/com/google/gson/JsonTreeNavigator.java
+++ b/gson/src/main/java/com/google/gson/JsonTreeNavigator.java
@@ -34,7 +34,7 @@ final class JsonTreeNavigator {
   }
   
   public void navigate(JsonElement element) throws IOException {
-    if (element == null || element.isJsonNull()) {
+    if (element.isJsonNull()) {
       visitor.visitNull();
     } else if (element.isJsonArray()) {
       JsonArray array = element.getAsJsonArray();
@@ -68,7 +68,7 @@ final class JsonTreeNavigator {
    */
   private boolean visitChild(JsonObject parent, String childName, JsonElement child, 
       boolean isFirst) throws IOException {
-    if (child == null || child.isJsonNull()) {
+    if (child.isJsonNull()) {
       if (visitNulls) {
         visitor.visitNullObjectMember(parent, childName, isFirst);
         navigate(child.getAsJsonNull());
@@ -93,7 +93,7 @@ final class JsonTreeNavigator {
    * Returns true if the child was visited, false if it was skipped.
    */
   private void visitChild(JsonArray parent, JsonElement child, boolean isFirst) throws IOException {
-    if (child == null || child.isJsonNull()) {
+    if (child.isJsonNull()) {
       visitor.visitNullArrayMember(parent, isFirst);
       navigate(child);
 	  } else if (child.isJsonArray()) {
diff --git a/gson/src/test/java/com/google/gson/functional/CustomDeserializerTest.java b/gson/src/test/java/com/google/gson/functional/CustomDeserializerTest.java
index f5050dae..bb4e0a02 100644
--- a/gson/src/test/java/com/google/gson/functional/CustomDeserializerTest.java
+++ b/gson/src/test/java/com/google/gson/functional/CustomDeserializerTest.java
@@ -119,9 +119,11 @@ public class CustomDeserializerTest extends TestCase {
     SubType1 target = (SubType1) gson.fromJson(json, MyBase.class);
     assertEquals("abc", target.field1);    
   }
+
   private static class MyBase {
     static final String TYPE_ACCESS = "__type__";
   }
+
   private enum SubTypes { 
     SUB_TYPE1(SubType1.class),
     SUB_TYPE2(SubType2.class);
@@ -133,9 +135,11 @@ public class CustomDeserializerTest extends TestCase {
       return subClass;
     }
   }
+
   private static class SubType1 extends MyBase {
     String field1;    
   }
+
   private static class SubType2 extends MyBase {
     @SuppressWarnings("unused")
     String field2;