From ede249643cbaddd24e9091490e45b859a2819852 Mon Sep 17 00:00:00 2001 From: BinaryWang Date: Mon, 12 Sep 2016 17:51:17 +0800 Subject: [PATCH] parameterized some generic types --- .../weixin/mp/api/WxMpMessageRouter.java | 29 ++++++++++--------- .../mp/util/xml/XStreamTransformer.java | 25 +++++++++++----- 2 files changed, 32 insertions(+), 22 deletions(-) diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpMessageRouter.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpMessageRouter.java index b72cc45a..0c7a7105 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpMessageRouter.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpMessageRouter.java @@ -1,24 +1,25 @@ package me.chanjar.weixin.mp.api; +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import me.chanjar.weixin.common.api.WxErrorExceptionHandler; +import me.chanjar.weixin.common.api.WxMessageDuplicateChecker; +import me.chanjar.weixin.common.api.WxMessageInMemoryDuplicateChecker; import me.chanjar.weixin.common.session.InternalSession; import me.chanjar.weixin.common.session.InternalSessionManager; import me.chanjar.weixin.common.session.StandardSessionManager; import me.chanjar.weixin.common.session.WxSessionManager; import me.chanjar.weixin.common.util.LogExceptionHandler; -import me.chanjar.weixin.common.api.WxErrorExceptionHandler; -import me.chanjar.weixin.common.api.WxMessageDuplicateChecker; -import me.chanjar.weixin.common.api.WxMessageInMemoryDuplicateChecker; import me.chanjar.weixin.mp.bean.WxMpXmlMessage; import me.chanjar.weixin.mp.bean.WxMpXmlOutMessage; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; /** *
@@ -155,7 +156,7 @@ public class WxMpMessageRouter {
     }
 
     WxMpXmlOutMessage res = null;
-    final List futures = new ArrayList<>();
+    final List> futures = new ArrayList<>();
     for (final WxMpMessageRouterRule rule : matchRules) {
       // 返回最后一个非异步的rule的执行结果
       if(rule.isAsync()) {
@@ -179,7 +180,7 @@ public class WxMpMessageRouter {
       this.executorService.submit(new Runnable() {
         @Override
         public void run() {
-          for (Future future : futures) {
+          for (Future future : futures) {
             try {
               future.get();
               WxMpMessageRouter.this.log.debug("End session access: async=true, sessionId={}", wxMessage.getFromUserName());
diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/xml/XStreamTransformer.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/xml/XStreamTransformer.java
index 61ecac41..39e3d1dc 100644
--- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/xml/XStreamTransformer.java
+++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/xml/XStreamTransformer.java
@@ -1,16 +1,25 @@
 package me.chanjar.weixin.mp.util.xml;
 
-import com.thoughtworks.xstream.XStream;
-import me.chanjar.weixin.common.util.xml.XStreamInitializer;
-import me.chanjar.weixin.mp.bean.*;
-
 import java.io.InputStream;
 import java.util.HashMap;
 import java.util.Map;
 
+import com.thoughtworks.xstream.XStream;
+
+import me.chanjar.weixin.common.util.xml.XStreamInitializer;
+import me.chanjar.weixin.mp.bean.WxMpXmlMessage;
+import me.chanjar.weixin.mp.bean.WxMpXmlOutImageMessage;
+import me.chanjar.weixin.mp.bean.WxMpXmlOutMessage;
+import me.chanjar.weixin.mp.bean.WxMpXmlOutMusicMessage;
+import me.chanjar.weixin.mp.bean.WxMpXmlOutNewsMessage;
+import me.chanjar.weixin.mp.bean.WxMpXmlOutTextMessage;
+import me.chanjar.weixin.mp.bean.WxMpXmlOutTransferCustomerServiceMessage;
+import me.chanjar.weixin.mp.bean.WxMpXmlOutVideoMessage;
+import me.chanjar.weixin.mp.bean.WxMpXmlOutVoiceMessage;
+
 public class XStreamTransformer {
 
-  protected static final Map CLASS_2_XSTREAM_INSTANCE = configXStreamInstance();
+  protected static final Map, XStream> CLASS_2_XSTREAM_INSTANCE = configXStreamInstance();
 
   /**
    * xml -> pojo
@@ -32,7 +41,7 @@ public class XStreamTransformer {
    * @param clz 类型
    * @param xStream xml解析器
    */
-  public static void register(Class clz,XStream xStream){
+  public static void register(Class clz, XStream xStream) {
     CLASS_2_XSTREAM_INSTANCE.put(clz,xStream);
   }
 
@@ -44,8 +53,8 @@ public class XStreamTransformer {
     return CLASS_2_XSTREAM_INSTANCE.get(clazz).toXML(object);
   }
 
-  private static Map configXStreamInstance() {
-    Map map = new HashMap<>();
+  private static Map, XStream> configXStreamInstance() {
+    Map, XStream> map = new HashMap<>();
     map.put(WxMpXmlMessage.class, config_WxMpXmlMessage());
     map.put(WxMpXmlOutMusicMessage.class, config_WxMpXmlOutMusicMessage());
     map.put(WxMpXmlOutNewsMessage.class, config_WxMpXmlOutNewsMessage());