diff --git a/CHANGE.md b/CHANGE.md index 864ea2f1..f55a695f 100644 --- a/CHANGE.md +++ b/CHANGE.md @@ -469,4 +469,8 @@ + weixin4j-[mp|qy]:version upgrade to 1.6.1 - + weixin4j-server:version upgrade to 1.1.1 \ No newline at end of file + + weixin4j-server:version upgrade to 1.1.1 + +* 2015-09-21 + + 重要:工程运行环境由jdk1.7调整为jdk1.6 \ No newline at end of file diff --git a/pom.xml b/pom.xml index a56b3483..f2bffcc5 100644 --- a/pom.xml +++ b/pom.xml @@ -54,8 +54,8 @@ maven-compiler-plugin 3.0 - 1.7 - 1.7 + 1.6 + 1.6 ${project.build.sourceEncoding} diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/HttpClientFactory.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/HttpClientFactory.java index 2d381bb0..47014143 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/HttpClientFactory.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/HttpClientFactory.java @@ -94,8 +94,12 @@ public abstract class HttpClientFactory { new X509TrustManager[] { createX509TrustManager() }, new java.security.SecureRandom()); return sslContext; - } catch (NoSuchAlgorithmException | KeyManagementException e) { - throw new HttpClientException("Create SSLContext Error:", e); + } catch (NoSuchAlgorithmException e) { + throw new HttpClientException( + "Create SSLContext NoSuchAlgorithmException:", e); + } catch (KeyManagementException e) { + throw new HttpClientException( + "Create SSLContext KeyManagementException:", e); } } diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/Netty4HttpClient.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/Netty4HttpClient.java index bd51d9cf..0b7d7b6b 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/Netty4HttpClient.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/Netty4HttpClient.java @@ -108,10 +108,18 @@ public class Netty4HttpClient extends AbstractHttpClient { .addListener(listener); response = future.get(); handleResponse(response); - } catch (IOException | InterruptedException | ExecutionException e) { + } catch (IOException e) { throw new HttpClientException("I/O error on " + request.getMethod().name() + " request for \"" + request.getURI().toString() + "\":" + e.getMessage(), e); + } catch (InterruptedException e) { + throw new HttpClientException("Execute error on " + + request.getMethod().name() + " request for \"" + + request.getURI().toString() + "\":" + e.getMessage(), e); + } catch (ExecutionException e) { + throw new HttpClientException("Execute error on " + + request.getMethod().name() + " request for \"" + + request.getURI().toString() + "\":" + e.getMessage(), e); } finally { if (response != null) { response.close(); @@ -135,9 +143,9 @@ public class Netty4HttpClient extends AbstractHttpClient { HttpEntity entity = request.getEntity(); if (entity != null) { ByteBuf byteBuf = ByteBufAllocator.DEFAULT.buffer(); - try (ByteBufOutputStream out = new ByteBufOutputStream(byteBuf)) { - entity.writeTo(out); - } + ByteBufOutputStream out = new ByteBufOutputStream(byteBuf); + entity.writeTo(out); + out.close(); uriRequest = new DefaultFullHttpRequest( uriRequest.getProtocolVersion(), uriRequest.getMethod(), uriRequest.getUri(), byteBuf); diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/Tuple.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/Tuple.java index e9f5fc56..21927892 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/Tuple.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/tuple/Tuple.java @@ -1,9 +1,8 @@ package com.foxinmy.weixin4j.tuple; -import java.beans.Transient; import java.io.Serializable; -import com.alibaba.fastjson.annotation.JSONField; +import javax.xml.bind.annotation.XmlTransient; /** * 消息元件 @@ -21,7 +20,6 @@ public interface Tuple extends Serializable { * * @return */ - @Transient - @JSONField(deserialize = false, serialize = false) + @XmlTransient public String getMessageType(); } diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/util/StringUtil.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/util/StringUtil.java index be20ded0..fee0d92e 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/util/StringUtil.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/util/StringUtil.java @@ -2,7 +2,6 @@ package com.foxinmy.weixin4j.util; import java.nio.charset.Charset; import java.util.Iterator; -import java.util.Objects; import com.foxinmy.weixin4j.model.Consts; @@ -159,8 +158,7 @@ public final class StringUtil { } final Object first = iterator.next(); if (!iterator.hasNext()) { - String result = Objects.toString(first); - return result; + return String.valueOf(first); } // two or more elements diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/JsPayRequestV2.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/JsPayRequestV2.java index 2f0bcb32..d1c04d16 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/JsPayRequestV2.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/JsPayRequestV2.java @@ -1,10 +1,9 @@ package com.foxinmy.weixin4j.mp.payment.v2; -import java.beans.Transient; - import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlTransient; import com.alibaba.fastjson.annotation.JSONField; import com.foxinmy.weixin4j.model.WeixinPayAccount; @@ -13,8 +12,7 @@ import com.foxinmy.weixin4j.util.DigestUtil; import com.foxinmy.weixin4j.util.MapUtil; /** - * V2微信JS支付:get_brand_wcpay_request
- * 所列参数均为非空字符串 + * V2微信JS支付:get_brand_wcpay_request
所列参数均为非空字符串 *

* get_brand_wcpay_request:ok 支付成功
* get_brand_wcpay_request:cancel 支付过程中用户取消
@@ -33,17 +31,18 @@ public class JsPayRequestV2 extends PayRequest { private static final long serialVersionUID = -5972173459255255197L; - protected JsPayRequestV2(){ + protected JsPayRequestV2() { // jaxb required } - - public JsPayRequestV2(WeixinPayAccount weixinAccount, PayPackageV2 payPackage) { + + public JsPayRequestV2(WeixinPayAccount weixinAccount, + PayPackageV2 payPackage) { this.setAppId(weixinAccount.getId()); this.setPackageInfo(package2string(payPackage, weixinAccount.getPartnerKey())); } - @Transient + @XmlTransient @JSONField(serialize = false) private String package2string(PayPackageV2 payPackage, String partnerKey) { StringBuilder sb = new StringBuilder(); diff --git a/weixin4j-server/pom.xml b/weixin4j-server/pom.xml index 41b9b13e..a8b08718 100644 --- a/weixin4j-server/pom.xml +++ b/weixin4j-server/pom.xml @@ -48,8 +48,9 @@ maven-compiler-plugin 3.0 - 1.7 - 1.7 + 1.6 + 1.6 + ${project.build.sourceEncoding} diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/qy/chat/ChatItem.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/qy/chat/ChatItem.java index a4e60489..31d6a454 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/qy/chat/ChatItem.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/qy/chat/ChatItem.java @@ -1,6 +1,5 @@ package com.foxinmy.weixin4j.qy.chat; -import java.beans.Transient; import java.io.Serializable; import java.util.Arrays; import java.util.Date; @@ -111,7 +110,6 @@ public class ChatItem implements Serializable { return createTime; } - @Transient @XmlTransient public Date getFormatCreateTime() { return createTime > 0l ? new Date(createTime * 1000l) : null; @@ -121,7 +119,6 @@ public class ChatItem implements Serializable { return msgType; } - @Transient @XmlTransient public MessageType getFormatMsgType() { return msgType != null ? MessageType.valueOf(msgType) : null; @@ -131,7 +128,6 @@ public class ChatItem implements Serializable { return eventType; } - @Transient @XmlTransient public ChatEventType getFormatEventType() { return eventType != null ? ChatEventType.valueOf(eventType) : null; @@ -153,7 +149,6 @@ public class ChatItem implements Serializable { return members; } - @Transient @XmlTransient public List getFormatMembers() { return members != null ? Arrays.asList(members.split(LIST_SEPARATOR)) @@ -164,7 +159,6 @@ public class ChatItem implements Serializable { return addMembers; } - @Transient @XmlTransient public List getFormatAddMembers() { return addMembers != null ? Arrays.asList(addMembers @@ -175,7 +169,6 @@ public class ChatItem implements Serializable { return deleteMembers; } - @Transient @XmlTransient public List getFormatDeleteMembers() { return deleteMembers != null ? Arrays.asList(deleteMembers diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/qy/chat/ChatReceiver.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/qy/chat/ChatReceiver.java index 36a09dec..5fb47fb4 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/qy/chat/ChatReceiver.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/qy/chat/ChatReceiver.java @@ -1,6 +1,5 @@ package com.foxinmy.weixin4j.qy.chat; -import java.beans.Transient; import java.io.Serializable; import javax.xml.bind.annotation.XmlElement; @@ -37,7 +36,6 @@ public class ChatReceiver implements Serializable { return chatType; } - @Transient @XmlTransient public ChatType getFormatChatType() { return ChatType.valueOf(chatType); diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/qy/chat/WeixinChatMessage.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/qy/chat/WeixinChatMessage.java index df760e8f..e6c0428e 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/qy/chat/WeixinChatMessage.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/qy/chat/WeixinChatMessage.java @@ -1,6 +1,5 @@ package com.foxinmy.weixin4j.qy.chat; -import java.beans.Transient; import java.io.Serializable; import java.util.List; @@ -61,7 +60,6 @@ public class WeixinChatMessage implements Serializable { return agentType; } - @Transient @XmlTransient public AgentType getFormatAgentType() { return AgentType.valueOf(agentType); diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/qy/suite/WeixinSuiteMessage.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/qy/suite/WeixinSuiteMessage.java index 8ab9d682..3ec40a9d 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/qy/suite/WeixinSuiteMessage.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/qy/suite/WeixinSuiteMessage.java @@ -1,6 +1,5 @@ package com.foxinmy.weixin4j.qy.suite; -import java.beans.Transient; import java.io.Serializable; import java.util.Date; @@ -58,7 +57,6 @@ public class WeixinSuiteMessage implements Serializable { return eventType; } - @Transient @XmlTransient public SuiteEventType getFormatEventType() { return SuiteEventType.valueOf(eventType); @@ -68,7 +66,6 @@ public class WeixinSuiteMessage implements Serializable { return timeStamp; } - @Transient @XmlTransient public Date getFormatTimeStamp() { return timeStamp > 0l ? new Date(timeStamp * 1000l) : null; diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/request/WeixinMessage.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/request/WeixinMessage.java index 4e036238..d9ddeab5 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/request/WeixinMessage.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/request/WeixinMessage.java @@ -1,6 +1,5 @@ package com.foxinmy.weixin4j.request; -import java.beans.Transient; import java.io.Serializable; import java.util.Date; @@ -95,7 +94,6 @@ public class WeixinMessage implements Serializable { return createTime; } - @Transient @XmlTransient public Date getFormatCreateTime() { return createTime > 0l ? new Date(createTime * 1000l) : null; @@ -105,7 +103,6 @@ public class WeixinMessage implements Serializable { return msgType; } - @Transient @XmlTransient public MessageType getFormatMsgType() { return MessageType.valueOf(msgType); diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/util/ClassUtil.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/util/ClassUtil.java index 5c8286a2..bae68375 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/util/ClassUtil.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/util/ClassUtil.java @@ -139,7 +139,9 @@ public final class ClassUtil { bis = new ByteArrayInputStream(bos.toByteArray()); ois = new ObjectInputStream(bis); return ois.readObject(); - } catch (IOException | ClassNotFoundException e) { + } catch (IOException e) { + throw new RuntimeException(e); + } catch (ClassNotFoundException e) { throw new RuntimeException(e); } finally { try { diff --git a/weixin4j-server/src/test/java/com/foxinmy/weixin4j/server/test/MessagePush.java b/weixin4j-server/src/test/java/com/foxinmy/weixin4j/server/test/MessagePush.java index c5b89219..2e77c2bb 100644 --- a/weixin4j-server/src/test/java/com/foxinmy/weixin4j/server/test/MessagePush.java +++ b/weixin4j-server/src/test/java/com/foxinmy/weixin4j/server/test/MessagePush.java @@ -2,7 +2,6 @@ package com.foxinmy.weixin4j.server.test; import java.io.IOException; import java.net.URI; -import java.nio.charset.StandardCharsets; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; @@ -14,6 +13,8 @@ import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils; +import com.foxinmy.weixin4j.util.Consts; + /** * 发送消息请求到服务器 * @@ -51,7 +52,7 @@ public class MessagePush { public String push(String para, String xml) throws IOException { httpPost.setURI(URI.create(server + para)); - httpPost.setEntity(new StringEntity(xml, StandardCharsets.UTF_8)); + httpPost.setEntity(new StringEntity(xml, Consts.UTF_8)); HttpResponse httpResponse = httpClient.execute(httpPost); return entity(httpResponse); } @@ -68,6 +69,6 @@ public class MessagePush { throw new IOException(Integer.toString(status) + "uri moved"); } return EntityUtils.toString(httpResponse.getEntity(), - StandardCharsets.UTF_8); + Consts.UTF_8); } } \ No newline at end of file