mirror of
				https://gitee.com/binary/weixin-java-tools.git
				synced 2025-10-31 10:38:42 +08:00 
			
		
		
		
	优化XStreamTransformer
This commit is contained in:
		| @ -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; | ||||
|   } | ||||
|  | ||||
|  | ||||
| @ -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); | ||||
|  | ||||
| @ -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)); | ||||
|  | ||||
| @ -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)); | ||||
|  | ||||
| @ -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)); | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Binary Wang
					Binary Wang