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