Skip to content

Commit 0acae57

Browse files
committed
Merge pull request #184 from codepiano/develop
使用java1.7新语法,改进序列化代码
2 parents a00d693 + 4da11fc commit 0acae57

9 files changed

+29
-29
lines changed

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpServiceImpl.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package me.chanjar.weixin.mp.api;
22

3-
import com.google.gson.Gson;
43
import com.google.gson.JsonArray;
54
import com.google.gson.JsonElement;
65
import com.google.gson.JsonObject;
@@ -24,6 +23,7 @@
2423
import me.chanjar.weixin.common.util.fs.FileUtils;
2524
import me.chanjar.weixin.common.util.http.*;
2625
import me.chanjar.weixin.common.util.json.GsonHelper;
26+
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
2727
import me.chanjar.weixin.common.util.xml.XStreamInitializer;
2828
import me.chanjar.weixin.mp.bean.*;
2929
import me.chanjar.weixin.mp.bean.result.*;
@@ -275,11 +275,11 @@ public WxMpMaterialCountResult materialCount() throws WxErrorException {
275275

276276
public WxMpMaterialNewsBatchGetResult materialNewsBatchGet(int offset, int count) throws WxErrorException {
277277
String url = "https://api.weixin.qq.com/cgi-bin/material/batchget_material";
278-
Map<String, Object> params = new HashMap<String, Object>();
278+
Map<String, Object> params = new HashMap<>();
279279
params.put("type", WxConsts.MATERIAL_NEWS);
280280
params.put("offset", offset);
281281
params.put("count", count);
282-
String responseText = post(url, new Gson().toJson(params));
282+
String responseText = post(url, WxGsonBuilder.create().toJson(params));
283283
WxError wxError = WxError.fromJson(responseText);
284284
if (wxError.getErrorCode() == 0) {
285285
return WxMpGsonBuilder.create().fromJson(responseText, WxMpMaterialNewsBatchGetResult.class);
@@ -290,11 +290,11 @@ public WxMpMaterialNewsBatchGetResult materialNewsBatchGet(int offset, int count
290290

291291
public WxMpMaterialFileBatchGetResult materialFileBatchGet(String type, int offset, int count) throws WxErrorException {
292292
String url = "https://api.weixin.qq.com/cgi-bin/material/batchget_material";
293-
Map<String, Object> params = new HashMap<String, Object>();
293+
Map<String, Object> params = new HashMap<>();
294294
params.put("type", type);
295295
params.put("offset", offset);
296296
params.put("count", count);
297-
String responseText = post(url, new Gson().toJson(params));
297+
String responseText = post(url, WxGsonBuilder.create().toJson(params));
298298
WxError wxError = WxError.fromJson(responseText);
299299
if (wxError.getErrorCode() == 0) {
300300
return WxMpGsonBuilder.create().fromJson(responseText, WxMpMaterialFileBatchGetResult.class);

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/MaterialDeleteRequestExecutor.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package me.chanjar.weixin.mp.util.http;
22

3-
import com.google.gson.Gson;
43
import me.chanjar.weixin.common.bean.result.WxError;
54
import me.chanjar.weixin.common.exception.WxErrorException;
65
import me.chanjar.weixin.common.util.http.RequestExecutor;
76
import me.chanjar.weixin.common.util.http.Utf8ResponseHandler;
7+
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
88
import org.apache.http.HttpHost;
99
import org.apache.http.client.ClientProtocolException;
1010
import org.apache.http.client.config.RequestConfig;
@@ -31,9 +31,9 @@ public Boolean execute(CloseableHttpClient httpclient, HttpHost httpProxy, Strin
3131
httpPost.setConfig(config);
3232
}
3333

34-
Map<String, String> params = new HashMap<String, String>();
34+
Map<String, String> params = new HashMap<>();
3535
params.put("media_id", materialId);
36-
httpPost.setEntity(new StringEntity(new Gson().toJson(params)));
36+
httpPost.setEntity(new StringEntity(WxGsonBuilder.create().toJson(params)));
3737
CloseableHttpResponse response = httpclient.execute(httpPost);
3838
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
3939
WxError error = WxError.fromJson(responseContent);

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/MaterialNewsInfoRequestExecutor.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package me.chanjar.weixin.mp.util.http;
22

3-
import com.google.gson.Gson;
43
import me.chanjar.weixin.common.bean.result.WxError;
54
import me.chanjar.weixin.common.exception.WxErrorException;
65
import me.chanjar.weixin.common.util.http.RequestExecutor;
76
import me.chanjar.weixin.common.util.http.Utf8ResponseHandler;
7+
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
88
import me.chanjar.weixin.mp.bean.WxMpMaterialNews;
99
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
1010
import org.apache.http.HttpHost;
@@ -32,9 +32,9 @@ public WxMpMaterialNews execute(CloseableHttpClient httpclient, HttpHost httpPro
3232
httpPost.setConfig(config);
3333
}
3434

35-
Map<String, String> params = new HashMap<String, String>();
35+
Map<String, String> params = new HashMap<>();
3636
params.put("media_id", materialId);
37-
httpPost.setEntity(new StringEntity(new Gson().toJson(params)));
37+
httpPost.setEntity(new StringEntity(WxGsonBuilder.create().toJson(params)));
3838
CloseableHttpResponse response = httpclient.execute(httpPost);
3939
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
4040
WxError error = WxError.fromJson(responseContent);

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/MaterialUploadRequestExecutor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package me.chanjar.weixin.mp.util.http;
22

3-
import com.google.gson.Gson;
43
import me.chanjar.weixin.common.bean.result.WxError;
54
import me.chanjar.weixin.common.exception.WxErrorException;
65
import me.chanjar.weixin.common.util.http.RequestExecutor;
76
import me.chanjar.weixin.common.util.http.Utf8ResponseHandler;
7+
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
88
import me.chanjar.weixin.mp.bean.WxMpMaterial;
99
import me.chanjar.weixin.mp.bean.result.WxMpMaterialUploadResult;
1010
import org.apache.http.HttpHost;
@@ -39,7 +39,7 @@ public WxMpMaterialUploadResult execute(CloseableHttpClient httpclient, HttpHost
3939
multipartEntityBuilder.addPart("media", new InputStreamBody(bufferedInputStream, material.getName()));
4040
Map<String, String> form = material.getForm();
4141
if (material.getForm() != null) {
42-
multipartEntityBuilder.addTextBody("description", new Gson().toJson(form));
42+
multipartEntityBuilder.addTextBody("description", WxGsonBuilder.create().toJson(form));
4343
}
4444
httpPost.setEntity(multipartEntityBuilder.build());
4545
httpPost.setHeader("Content-Type", ContentType.MULTIPART_FORM_DATA.toString());

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/MaterialVideoInfoRequestExecutor.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package me.chanjar.weixin.mp.util.http;
22

3-
import com.google.gson.Gson;
43
import me.chanjar.weixin.common.bean.result.WxError;
54
import me.chanjar.weixin.common.exception.WxErrorException;
65
import me.chanjar.weixin.common.util.http.RequestExecutor;
76
import me.chanjar.weixin.common.util.http.Utf8ResponseHandler;
7+
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
88
import me.chanjar.weixin.mp.bean.result.WxMpMaterialVideoInfoResult;
99
import org.apache.http.HttpHost;
1010
import org.apache.http.client.ClientProtocolException;
@@ -31,9 +31,9 @@ public WxMpMaterialVideoInfoResult execute(CloseableHttpClient httpclient, HttpH
3131
httpPost.setConfig(config);
3232
}
3333

34-
Map<String, String> params = new HashMap<String, String>();
34+
Map<String, String> params = new HashMap<>();
3535
params.put("media_id", materialId);
36-
httpPost.setEntity(new StringEntity(new Gson().toJson(params)));
36+
httpPost.setEntity(new StringEntity(WxGsonBuilder.create().toJson(params)));
3737
CloseableHttpResponse response = httpclient.execute(httpPost);
3838
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
3939
WxError error = WxError.fromJson(responseContent);

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/MaterialVoiceAndImageDownloadRequestExecutor.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package me.chanjar.weixin.mp.util.http;
22

3-
import com.google.gson.Gson;
43
import me.chanjar.weixin.common.bean.result.WxError;
54
import me.chanjar.weixin.common.exception.WxErrorException;
65
import me.chanjar.weixin.common.util.http.InputStreamResponseHandler;
76
import me.chanjar.weixin.common.util.http.RequestExecutor;
7+
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
88
import org.apache.commons.io.IOUtils;
99
import org.apache.http.HttpHost;
1010
import org.apache.http.client.ClientProtocolException;
@@ -41,17 +41,17 @@ public InputStream execute(CloseableHttpClient httpclient, HttpHost httpProxy, S
4141
httpPost.setConfig(config);
4242
}
4343

44-
Map<String, String> params = new HashMap<String, String>();
44+
Map<String, String> params = new HashMap<>();
4545
params.put("media_id", materialId);
46-
httpPost.setEntity(new StringEntity(new Gson().toJson(params)));
46+
httpPost.setEntity(new StringEntity(WxGsonBuilder.create().toJson(params)));
4747
CloseableHttpResponse response = httpclient.execute(httpPost);
4848
// 下载媒体文件出错
4949
InputStream inputStream = InputStreamResponseHandler.INSTANCE.handleResponse(response);
5050
byte[] responseContent = IOUtils.toByteArray(inputStream);
5151
String responseContentString = new String(responseContent, "UTF-8");
5252
if (responseContentString.length() < 100) {
5353
try {
54-
WxError wxError = new Gson().fromJson(responseContentString, WxError.class);
54+
WxError wxError = WxGsonBuilder.create().fromJson(responseContentString, WxError.class);
5555
if (wxError.getErrorCode() != 0) {
5656
throw new WxErrorException(wxError);
5757
}

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpMaterialFileBatchGetGsonAdapter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public WxMpMaterialFileBatchGetResult deserialize(JsonElement jsonElement, Type
2929
}
3030
if (json.get("item") != null && !json.get("item").isJsonNull()) {
3131
JsonArray item = json.getAsJsonArray("item");
32-
List<WxMpMaterialFileBatchGetResult.WxMaterialFileBatchGetNewsItem> items = new ArrayList<WxMpMaterialFileBatchGetResult.WxMaterialFileBatchGetNewsItem>();
32+
List<WxMpMaterialFileBatchGetResult.WxMaterialFileBatchGetNewsItem> items = new ArrayList<>();
3333
for (JsonElement anItem : item) {
3434
JsonObject articleInfo = anItem.getAsJsonObject();
3535
items.add(WxMpGsonBuilder.create().fromJson(articleInfo, WxMpMaterialFileBatchGetResult.WxMaterialFileBatchGetNewsItem.class));

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpMaterialNewsBatchGetGsonAdapter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public WxMpMaterialNewsBatchGetResult deserialize(JsonElement jsonElement, Type
2929
}
3030
if (json.get("item") != null && !json.get("item").isJsonNull()) {
3131
JsonArray item = json.getAsJsonArray("item");
32-
List<WxMpMaterialNewsBatchGetResult.WxMaterialNewsBatchGetNewsItem> items = new ArrayList<WxMpMaterialNewsBatchGetResult.WxMaterialNewsBatchGetNewsItem>();
32+
List<WxMpMaterialNewsBatchGetResult.WxMaterialNewsBatchGetNewsItem> items = new ArrayList<>();
3333
for (JsonElement anItem : item) {
3434
JsonObject articleInfo = anItem.getAsJsonObject();
3535
items.add(WxMpGsonBuilder.create().fromJson(articleInfo, WxMpMaterialNewsBatchGetResult.WxMaterialNewsBatchGetNewsItem.class));

weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/WxMpMaterialAPITest.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public class WxMpMaterialAPITest {
3131
@Inject
3232
protected WxMpServiceImpl wxService;
3333

34-
private Map<String, Map<String, Object>> media_ids = new LinkedHashMap<String, Map<String, Object>>();
34+
private Map<String, Map<String, Object>> media_ids = new LinkedHashMap<>();
3535
// 缩略图的id,测试上传图文使用
3636
private String thumbMediaId = "";
3737
// 单图文消息media_id
@@ -64,7 +64,7 @@ public void testUploadMaterial(String mediaType, String fileType, String fileNam
6464
thumbMediaId = res.getMediaId();
6565
}
6666

67-
Map<String, Object> materialInfo = new HashMap<String, Object>();
67+
Map<String, Object> materialInfo = new HashMap<>();
6868
materialInfo.put("media_id", res.getMediaId());
6969
materialInfo.put("length", tempFile.length());
7070
materialInfo.put("filename", tempFile.getName());
@@ -217,18 +217,18 @@ public void testDeleteMaterial(String mediaId) throws WxErrorException {
217217
public Object[][] downloadMaterial() {
218218
Object[][] params = new Object[this.media_ids.size()][];
219219
int index = 0;
220-
for (Iterator<String> iterator = this.media_ids.keySet().iterator(); iterator.hasNext(); ) {
221-
params[index] = new Object[]{iterator.next()};
220+
for (String mediaId : this.media_ids.keySet()) {
221+
params[index] = new Object[]{mediaId};
222222
index++;
223223
}
224224
return params;
225225
}
226226

227227
@DataProvider
228228
public Iterator<Object[]> allTestMaterial() {
229-
List<Object[]> params = new ArrayList<Object[]>();
230-
for (Iterator<String> iterator = this.media_ids.keySet().iterator(); iterator.hasNext(); ) {
231-
params.add(new Object[]{iterator.next()});
229+
List<Object[]> params = new ArrayList<>();
230+
for (String mediaId : this.media_ids.keySet()) {
231+
params.add(new Object[]{mediaId});
232232
}
233233
params.add(new Object[]{this.singleNewsMediaId});
234234
params.add(new Object[]{this.multiNewsMediaId});

0 commit comments

Comments
 (0)