mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-09-20 02:29:44 +08:00
优化XStreamTransformer
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
package me.chanjar.weixin.common.util.xml;
|
package me.chanjar.weixin.common.util.xml;
|
||||||
|
|
||||||
|
import java.io.Writer;
|
||||||
|
|
||||||
import com.thoughtworks.xstream.XStream;
|
import com.thoughtworks.xstream.XStream;
|
||||||
import com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider;
|
import com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider;
|
||||||
import com.thoughtworks.xstream.core.util.QuickWriter;
|
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.NullPermission;
|
||||||
import com.thoughtworks.xstream.security.PrimitiveTypePermission;
|
import com.thoughtworks.xstream.security.PrimitiveTypePermission;
|
||||||
|
|
||||||
import java.io.Writer;
|
|
||||||
|
|
||||||
public class XStreamInitializer {
|
public class XStreamInitializer {
|
||||||
|
|
||||||
public static XStream getInstance() {
|
public static XStream getInstance() {
|
||||||
@@ -38,7 +38,8 @@ public class XStreamInitializer {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String encodeNode(String name) {
|
public String encodeNode(String name) {
|
||||||
return name;//防止将_转换成__
|
//防止将_转换成__
|
||||||
|
return name;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -48,6 +49,7 @@ public class XStreamInitializer {
|
|||||||
xstream.setMode(XStream.NO_REFERENCES);
|
xstream.setMode(XStream.NO_REFERENCES);
|
||||||
xstream.addPermission(NullPermission.NULL);
|
xstream.addPermission(NullPermission.NULL);
|
||||||
xstream.addPermission(PrimitiveTypePermission.PRIMITIVES);
|
xstream.addPermission(PrimitiveTypePermission.PRIMITIVES);
|
||||||
|
xstream.setClassLoader(Thread.currentThread().getContextClassLoader());
|
||||||
return xstream;
|
return xstream;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -63,7 +63,6 @@ public class XStreamTransformer {
|
|||||||
|
|
||||||
private static XStream configWxCpXmlMessage() {
|
private static XStream configWxCpXmlMessage() {
|
||||||
XStream xstream = XStreamInitializer.getInstance();
|
XStream xstream = XStreamInitializer.getInstance();
|
||||||
xstream.setClassLoader(Thread.currentThread().getContextClassLoader());
|
|
||||||
|
|
||||||
xstream.processAnnotations(WxCpXmlMessage.class);
|
xstream.processAnnotations(WxCpXmlMessage.class);
|
||||||
xstream.processAnnotations(WxCpXmlMessage.ScanCodeInfo.class);
|
xstream.processAnnotations(WxCpXmlMessage.ScanCodeInfo.class);
|
||||||
@@ -75,7 +74,6 @@ public class XStreamTransformer {
|
|||||||
|
|
||||||
private static XStream configWxCpXmlOutImageMessage() {
|
private static XStream configWxCpXmlOutImageMessage() {
|
||||||
XStream xstream = XStreamInitializer.getInstance();
|
XStream xstream = XStreamInitializer.getInstance();
|
||||||
xstream.setClassLoader(Thread.currentThread().getContextClassLoader());
|
|
||||||
|
|
||||||
xstream.processAnnotations(WxCpXmlOutMessage.class);
|
xstream.processAnnotations(WxCpXmlOutMessage.class);
|
||||||
xstream.processAnnotations(WxCpXmlOutImageMessage.class);
|
xstream.processAnnotations(WxCpXmlOutImageMessage.class);
|
||||||
@@ -84,7 +82,6 @@ public class XStreamTransformer {
|
|||||||
|
|
||||||
private static XStream configWxCpXmlOutNewsMessage() {
|
private static XStream configWxCpXmlOutNewsMessage() {
|
||||||
XStream xstream = XStreamInitializer.getInstance();
|
XStream xstream = XStreamInitializer.getInstance();
|
||||||
xstream.setClassLoader(Thread.currentThread().getContextClassLoader());
|
|
||||||
|
|
||||||
xstream.processAnnotations(WxCpXmlOutMessage.class);
|
xstream.processAnnotations(WxCpXmlOutMessage.class);
|
||||||
xstream.processAnnotations(WxCpXmlOutNewsMessage.class);
|
xstream.processAnnotations(WxCpXmlOutNewsMessage.class);
|
||||||
@@ -94,7 +91,6 @@ public class XStreamTransformer {
|
|||||||
|
|
||||||
private static XStream configWxCpXmlOutTextMessage() {
|
private static XStream configWxCpXmlOutTextMessage() {
|
||||||
XStream xstream = XStreamInitializer.getInstance();
|
XStream xstream = XStreamInitializer.getInstance();
|
||||||
xstream.setClassLoader(Thread.currentThread().getContextClassLoader());
|
|
||||||
|
|
||||||
xstream.processAnnotations(WxCpXmlOutMessage.class);
|
xstream.processAnnotations(WxCpXmlOutMessage.class);
|
||||||
xstream.processAnnotations(WxCpXmlOutTextMessage.class);
|
xstream.processAnnotations(WxCpXmlOutTextMessage.class);
|
||||||
@@ -103,7 +99,6 @@ public class XStreamTransformer {
|
|||||||
|
|
||||||
private static XStream configWxCpXmlOutVideoMessage() {
|
private static XStream configWxCpXmlOutVideoMessage() {
|
||||||
XStream xstream = XStreamInitializer.getInstance();
|
XStream xstream = XStreamInitializer.getInstance();
|
||||||
xstream.setClassLoader(Thread.currentThread().getContextClassLoader());
|
|
||||||
|
|
||||||
xstream.processAnnotations(WxCpXmlOutMessage.class);
|
xstream.processAnnotations(WxCpXmlOutMessage.class);
|
||||||
xstream.processAnnotations(WxCpXmlOutVideoMessage.class);
|
xstream.processAnnotations(WxCpXmlOutVideoMessage.class);
|
||||||
@@ -113,7 +108,6 @@ public class XStreamTransformer {
|
|||||||
|
|
||||||
private static XStream configWxCpXmlOutVoiceMessage() {
|
private static XStream configWxCpXmlOutVoiceMessage() {
|
||||||
XStream xstream = XStreamInitializer.getInstance();
|
XStream xstream = XStreamInitializer.getInstance();
|
||||||
xstream.setClassLoader(Thread.currentThread().getContextClassLoader());
|
|
||||||
|
|
||||||
xstream.processAnnotations(WxCpXmlOutMessage.class);
|
xstream.processAnnotations(WxCpXmlOutMessage.class);
|
||||||
xstream.processAnnotations(WxCpXmlOutVoiceMessage.class);
|
xstream.processAnnotations(WxCpXmlOutVoiceMessage.class);
|
||||||
|
@@ -60,7 +60,6 @@ public class XStreamTransformer {
|
|||||||
*/
|
*/
|
||||||
private static void registerClass(Class<?> clz) {
|
private static void registerClass(Class<?> clz) {
|
||||||
XStream xstream = XStreamInitializer.getInstance();
|
XStream xstream = XStreamInitializer.getInstance();
|
||||||
xstream.setClassLoader(Thread.currentThread().getContextClassLoader());
|
|
||||||
|
|
||||||
xstream.processAnnotations(clz);
|
xstream.processAnnotations(clz);
|
||||||
xstream.processAnnotations(getInnerClasses(clz));
|
xstream.processAnnotations(getInnerClasses(clz));
|
||||||
|
@@ -71,7 +71,6 @@ public class XStreamTransformer {
|
|||||||
*/
|
*/
|
||||||
private static void registerClass(Class<?> clz) {
|
private static void registerClass(Class<?> clz) {
|
||||||
XStream xstream = XStreamInitializer.getInstance();
|
XStream xstream = XStreamInitializer.getInstance();
|
||||||
xstream.setClassLoader(Thread.currentThread().getContextClassLoader());
|
|
||||||
|
|
||||||
xstream.processAnnotations(clz);
|
xstream.processAnnotations(clz);
|
||||||
xstream.processAnnotations(getInnerClasses(clz));
|
xstream.processAnnotations(getInnerClasses(clz));
|
||||||
|
@@ -60,7 +60,6 @@ public class XStreamTransformer {
|
|||||||
*/
|
*/
|
||||||
private static void registerClass(Class<?> clz) {
|
private static void registerClass(Class<?> clz) {
|
||||||
XStream xstream = XStreamInitializer.getInstance();
|
XStream xstream = XStreamInitializer.getInstance();
|
||||||
xstream.setClassLoader(Thread.currentThread().getContextClassLoader());
|
|
||||||
|
|
||||||
xstream.processAnnotations(clz);
|
xstream.processAnnotations(clz);
|
||||||
xstream.processAnnotations(getInnerClasses(clz));
|
xstream.processAnnotations(getInnerClasses(clz));
|
||||||
|
Reference in New Issue
Block a user