Browse Source

优化XStreamTransformer

Binary Wang 7 years ago
parent
commit
030ab99674

+ 5 - 3
weixin-java-common/src/main/java/me/chanjar/weixin/common/util/xml/XStreamInitializer.java

@@ -1,5 +1,7 @@
 package me.chanjar.weixin.common.util.xml;
 
+import java.io.Writer;
+
 import com.thoughtworks.xstream.XStream;
 import com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider;
 import com.thoughtworks.xstream.core.util.QuickWriter;
@@ -9,8 +11,6 @@ import com.thoughtworks.xstream.io.xml.XppDriver;
 import com.thoughtworks.xstream.security.NullPermission;
 import com.thoughtworks.xstream.security.PrimitiveTypePermission;
 
-import java.io.Writer;
-
 public class XStreamInitializer {
 
   public static XStream getInstance() {
@@ -38,7 +38,8 @@ public class XStreamInitializer {
 
           @Override
           public String encodeNode(String name) {
-            return name;//防止将_转换成__
+            //防止将_转换成__
+            return name;
           }
         };
       }
@@ -48,6 +49,7 @@ public class XStreamInitializer {
     xstream.setMode(XStream.NO_REFERENCES);
     xstream.addPermission(NullPermission.NULL);
     xstream.addPermission(PrimitiveTypePermission.PRIMITIVES);
+    xstream.setClassLoader(Thread.currentThread().getContextClassLoader());
     return xstream;
   }
 

+ 0 - 6
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/xml/XStreamTransformer.java

@@ -63,7 +63,6 @@ public class XStreamTransformer {
 
   private static XStream configWxCpXmlMessage() {
     XStream xstream = XStreamInitializer.getInstance();
-    xstream.setClassLoader(Thread.currentThread().getContextClassLoader());
 
     xstream.processAnnotations(WxCpXmlMessage.class);
     xstream.processAnnotations(WxCpXmlMessage.ScanCodeInfo.class);
@@ -75,7 +74,6 @@ public class XStreamTransformer {
 
   private static XStream configWxCpXmlOutImageMessage() {
     XStream xstream = XStreamInitializer.getInstance();
-    xstream.setClassLoader(Thread.currentThread().getContextClassLoader());
 
     xstream.processAnnotations(WxCpXmlOutMessage.class);
     xstream.processAnnotations(WxCpXmlOutImageMessage.class);
@@ -84,7 +82,6 @@ public class XStreamTransformer {
 
   private static XStream configWxCpXmlOutNewsMessage() {
     XStream xstream = XStreamInitializer.getInstance();
-    xstream.setClassLoader(Thread.currentThread().getContextClassLoader());
 
     xstream.processAnnotations(WxCpXmlOutMessage.class);
     xstream.processAnnotations(WxCpXmlOutNewsMessage.class);
@@ -94,7 +91,6 @@ public class XStreamTransformer {
 
   private static XStream configWxCpXmlOutTextMessage() {
     XStream xstream = XStreamInitializer.getInstance();
-    xstream.setClassLoader(Thread.currentThread().getContextClassLoader());
 
     xstream.processAnnotations(WxCpXmlOutMessage.class);
     xstream.processAnnotations(WxCpXmlOutTextMessage.class);
@@ -103,7 +99,6 @@ public class XStreamTransformer {
 
   private static XStream configWxCpXmlOutVideoMessage() {
     XStream xstream = XStreamInitializer.getInstance();
-    xstream.setClassLoader(Thread.currentThread().getContextClassLoader());
 
     xstream.processAnnotations(WxCpXmlOutMessage.class);
     xstream.processAnnotations(WxCpXmlOutVideoMessage.class);
@@ -113,7 +108,6 @@ public class XStreamTransformer {
 
   private static XStream configWxCpXmlOutVoiceMessage() {
     XStream xstream = XStreamInitializer.getInstance();
-    xstream.setClassLoader(Thread.currentThread().getContextClassLoader());
 
     xstream.processAnnotations(WxCpXmlOutMessage.class);
     xstream.processAnnotations(WxCpXmlOutVoiceMessage.class);

+ 0 - 1
weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/util/xml/XStreamTransformer.java

@@ -60,7 +60,6 @@ public class XStreamTransformer {
    */
   private static void registerClass(Class<?> clz) {
     XStream xstream = XStreamInitializer.getInstance();
-    xstream.setClassLoader(Thread.currentThread().getContextClassLoader());
 
     xstream.processAnnotations(clz);
     xstream.processAnnotations(getInnerClasses(clz));

+ 0 - 1
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/xml/XStreamTransformer.java

@@ -71,7 +71,6 @@ public class XStreamTransformer {
    */
   private static void registerClass(Class<?> clz) {
     XStream xstream = XStreamInitializer.getInstance();
-    xstream.setClassLoader(Thread.currentThread().getContextClassLoader());
 
     xstream.processAnnotations(clz);
     xstream.processAnnotations(getInnerClasses(clz));

+ 0 - 1
weixin-java-open/src/main/java/me/chanjar/weixin/open/util/xml/XStreamTransformer.java

@@ -60,7 +60,6 @@ public class XStreamTransformer {
    */
   private static void registerClass(Class<?> clz) {
     XStream xstream = XStreamInitializer.getInstance();
-    xstream.setClassLoader(Thread.currentThread().getContextClassLoader());
 
     xstream.processAnnotations(clz);
     xstream.processAnnotations(getInnerClasses(clz));