Skip to content

Commit c72fe72

Browse files
committed
remove all classes referencing to com.google.gson.internal.*
1 parent 0966f9f commit c72fe72

File tree

6 files changed

+23
-12
lines changed

6 files changed

+23
-12
lines changed

core/src/main/java/cn/leancloud/gson/BaseOperationAdapter.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import com.google.gson.JsonElement;
1111
import com.google.gson.JsonObject;
1212
import com.google.gson.TypeAdapter;
13-
import com.google.gson.internal.bind.TypeAdapters;
1413
import com.google.gson.stream.JsonReader;
1514
import com.google.gson.stream.JsonWriter;
1615

@@ -36,11 +35,13 @@ public void write(JsonWriter writer, BaseOperation op) throws IOException {
3635
List<ObjectFieldOperation> subOps = ((CompoundOperation)op).getSubOperations();
3736
jsonObject.add(ATTR_SUBOPS, GsonWrapper.toJsonElement(subOps));
3837
}
39-
TypeAdapters.JSON_ELEMENT.write(writer, jsonObject);
38+
TypeAdapter<JsonElement> elementAdapter = GsonWrapper.getAdapter(JsonElement.class);
39+
elementAdapter.write(writer, jsonObject);
4040
}
4141

4242
public BaseOperation read(JsonReader reader) throws IOException {
43-
JsonElement elem = TypeAdapters.JSON_ELEMENT.read(reader);
43+
TypeAdapter<JsonElement> elementAdapter = GsonWrapper.getAdapter(JsonElement.class);
44+
JsonElement elem = elementAdapter.read(reader);
4445
if (elem.isJsonObject()) {
4546
JsonObject jsonObject = elem.getAsJsonObject();
4647
return parseJSONObject(new GsonObject(jsonObject));

core/src/main/java/cn/leancloud/gson/GsonWrapper.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
import cn.leancloud.sms.LCCaptchaDigest;
88
import cn.leancloud.sms.LCCaptchaValidateResult;
99
import cn.leancloud.upload.FileUploadToken;
10+
import cn.leancloud.utils.LCUtils;
1011
import com.google.gson.*;
11-
import com.google.gson.internal.Primitives;
1212
import com.google.gson.reflect.TypeToken;
1313

1414
import java.lang.reflect.Modifier;
@@ -77,6 +77,10 @@ public static String toJsonString(Map<String, Object> map) {
7777
return gson.toJson(map);
7878
}
7979

80+
public static <T> TypeAdapter<T> getAdapter(Class<T> clazz) {
81+
return gson.getAdapter(clazz);
82+
}
83+
8084
public static JsonElement toJsonElement(Object object) {
8185
if (null == object) {
8286
return null;
@@ -126,7 +130,7 @@ public static <T> T parseObject(String jsonString, Class<T> clazz) {
126130
}
127131

128132
public static <T> T parseObject(String jsonString, Type typeOfT) {
129-
if (Primitives.isPrimitive(typeOfT)
133+
if (LCUtils.isPrimitive(typeOfT)
130134
|| (typeOfT instanceof Class && String.class.isAssignableFrom((Class)typeOfT))) {
131135
JsonElement element = gson.toJsonTree(jsonString, typeOfT);
132136
return gson.fromJson(element, typeOfT);

core/src/main/java/cn/leancloud/gson/JSONArrayAdapter.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import com.google.gson.JsonArray;
55
import com.google.gson.JsonElement;
66
import com.google.gson.TypeAdapter;
7-
import com.google.gson.internal.bind.TypeAdapters;
87
import com.google.gson.stream.JsonReader;
98
import com.google.gson.stream.JsonWriter;
109

@@ -13,14 +12,16 @@
1312
public class JSONArrayAdapter extends TypeAdapter<JSONArray> {
1413
public void write(JsonWriter writer, JSONArray array) throws IOException {
1514
if (array instanceof GsonArray) {
16-
TypeAdapters.JSON_ELEMENT.write(writer, ((GsonArray)array).getRawObject());
15+
TypeAdapter<JsonElement> elementAdapter = GsonWrapper.getAdapter(JsonElement.class);
16+
elementAdapter.write(writer,((GsonArray)array).getRawObject());
1717
} else {
1818
writer.nullValue();
1919
}
2020
}
2121

2222
public JSONArray read(JsonReader reader) throws IOException {
23-
JsonElement jsonObject = TypeAdapters.JSON_ELEMENT.read(reader);
23+
TypeAdapter<JsonElement> elementAdapter = GsonWrapper.getAdapter(JsonElement.class);
24+
JsonElement jsonObject = elementAdapter.read(reader);
2425
return new GsonArray((JsonArray) jsonObject);
2526
}
2627
}

core/src/main/java/cn/leancloud/gson/JSONObjectAdapter.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import com.google.gson.JsonElement;
55
import com.google.gson.JsonObject;
66
import com.google.gson.TypeAdapter;
7-
import com.google.gson.internal.bind.TypeAdapters;
87
import com.google.gson.stream.JsonReader;
98
import com.google.gson.stream.JsonWriter;
109

@@ -16,12 +15,14 @@ public void write(JsonWriter writer, JSONObject object) throws IOException {
1615
if (!(object instanceof GsonObject)) {
1716
writer.nullValue();
1817
} else {
19-
TypeAdapters.JSON_ELEMENT.write(writer, ((GsonObject) object).getRawObject());
18+
TypeAdapter<JsonElement> elementAdapter = GsonWrapper.getAdapter(JsonElement.class);
19+
elementAdapter.write(writer, ((GsonObject) object).getRawObject());
2020
}
2121
}
2222

2323
public JSONObject read(JsonReader reader) throws IOException {
24-
JsonElement jsonObject = TypeAdapters.JSON_ELEMENT.read(reader);
24+
TypeAdapter<JsonElement> elementAdapter = GsonWrapper.getAdapter(JsonElement.class);
25+
JsonElement jsonObject = elementAdapter.read(reader);
2526
return new GsonObject((JsonObject) jsonObject);
2627
}
2728
}

core/src/main/java/cn/leancloud/gson/MapDeserializerDoubleAsIntFix.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package cn.leancloud.gson;
22

33
import com.google.gson.*;
4-
//import com.google.gson.internal.LinkedTreeMap;
54

65
import java.lang.reflect.Type;
76
import java.util.*;

core/src/main/java/cn/leancloud/utils/LCUtils.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import cn.leancloud.json.JSON;
55
import cn.leancloud.json.JSONObject;
66

7+
import java.lang.reflect.Type;
78
import java.math.BigDecimal;
89
import java.util.*;
910
import java.util.concurrent.ConcurrentMap;
@@ -109,6 +110,10 @@ public static void mergeConcurrentMap(ConcurrentMap<String, Object> left, Map<St
109110
}
110111
}
111112

113+
public static boolean isPrimitive(Type type) {
114+
return type instanceof Class && ((Class)type).isPrimitive();
115+
}
116+
112117
public static void putAllWithNullFilter(Map<String, Object> source, Map<String, Object> dest) {
113118
if (null == source || null == dest) {
114119
return;

0 commit comments

Comments
 (0)