280 lines
14 KiB
Java
280 lines
14 KiB
Java
package com.thoughtworks.xstream;
|
|
|
|
import com.thoughtworks.xstream.io.HierarchicalStreamDriver;
|
|
import com.thoughtworks.xstream.io.StreamException;
|
|
import com.thoughtworks.xstream.io.xml.XppDriver;
|
|
import com.thoughtworks.xstream.security.TypeHierarchyPermission;
|
|
import com.thoughtworks.xstream.security.TypePermission;
|
|
import com.thoughtworks.xstream.security.WildcardTypePermission;
|
|
import java.io.IOException;
|
|
import java.io.ObjectOutputStream;
|
|
import java.io.ObjectStreamException;
|
|
import java.io.Reader;
|
|
import java.io.StringReader;
|
|
import java.io.StringWriter;
|
|
import java.io.Writer;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class XStreamer {
|
|
private static final TypePermission[] PERMISSIONS;
|
|
static /* synthetic */ Class class$com$thoughtworks$xstream$MarshallingStrategy;
|
|
static /* synthetic */ Class class$com$thoughtworks$xstream$XStream;
|
|
static /* synthetic */ Class class$com$thoughtworks$xstream$converters$ConverterLookup;
|
|
static /* synthetic */ Class class$com$thoughtworks$xstream$converters$ConverterMatcher;
|
|
static /* synthetic */ Class class$com$thoughtworks$xstream$converters$ConverterRegistry;
|
|
static /* synthetic */ Class class$com$thoughtworks$xstream$converters$MarshallingContext;
|
|
static /* synthetic */ Class class$com$thoughtworks$xstream$converters$UnmarshallingContext;
|
|
static /* synthetic */ Class class$com$thoughtworks$xstream$converters$javabean$JavaBeanProvider;
|
|
static /* synthetic */ Class class$com$thoughtworks$xstream$converters$reflection$FieldKeySorter;
|
|
static /* synthetic */ Class class$com$thoughtworks$xstream$converters$reflection$ReflectionProvider;
|
|
static /* synthetic */ Class class$com$thoughtworks$xstream$core$JVM;
|
|
static /* synthetic */ Class class$com$thoughtworks$xstream$io$HierarchicalStreamDriver;
|
|
static /* synthetic */ Class class$com$thoughtworks$xstream$io$naming$NameCoder;
|
|
static /* synthetic */ Class class$com$thoughtworks$xstream$mapper$Mapper;
|
|
static /* synthetic */ Class class$com$thoughtworks$xstream$security$TypePermission;
|
|
static /* synthetic */ Class class$javax$xml$datatype$DatatypeFactory;
|
|
|
|
static {
|
|
TypePermission[] typePermissionArr = new TypePermission[16];
|
|
Class cls = class$com$thoughtworks$xstream$converters$ConverterMatcher;
|
|
if (cls == null) {
|
|
cls = class$("com.thoughtworks.xstream.converters.ConverterMatcher");
|
|
class$com$thoughtworks$xstream$converters$ConverterMatcher = cls;
|
|
}
|
|
typePermissionArr[0] = new TypeHierarchyPermission(cls);
|
|
Class cls2 = class$com$thoughtworks$xstream$mapper$Mapper;
|
|
if (cls2 == null) {
|
|
cls2 = class$("com.thoughtworks.xstream.mapper.Mapper");
|
|
class$com$thoughtworks$xstream$mapper$Mapper = cls2;
|
|
}
|
|
typePermissionArr[1] = new TypeHierarchyPermission(cls2);
|
|
Class cls3 = class$com$thoughtworks$xstream$XStream;
|
|
if (cls3 == null) {
|
|
cls3 = class$("com.thoughtworks.xstream.XStream");
|
|
class$com$thoughtworks$xstream$XStream = cls3;
|
|
}
|
|
typePermissionArr[2] = new TypeHierarchyPermission(cls3);
|
|
Class cls4 = class$com$thoughtworks$xstream$converters$reflection$ReflectionProvider;
|
|
if (cls4 == null) {
|
|
cls4 = class$("com.thoughtworks.xstream.converters.reflection.ReflectionProvider");
|
|
class$com$thoughtworks$xstream$converters$reflection$ReflectionProvider = cls4;
|
|
}
|
|
typePermissionArr[3] = new TypeHierarchyPermission(cls4);
|
|
Class cls5 = class$com$thoughtworks$xstream$converters$javabean$JavaBeanProvider;
|
|
if (cls5 == null) {
|
|
cls5 = class$("com.thoughtworks.xstream.converters.javabean.JavaBeanProvider");
|
|
class$com$thoughtworks$xstream$converters$javabean$JavaBeanProvider = cls5;
|
|
}
|
|
typePermissionArr[4] = new TypeHierarchyPermission(cls5);
|
|
Class cls6 = class$com$thoughtworks$xstream$converters$reflection$FieldKeySorter;
|
|
if (cls6 == null) {
|
|
cls6 = class$("com.thoughtworks.xstream.converters.reflection.FieldKeySorter");
|
|
class$com$thoughtworks$xstream$converters$reflection$FieldKeySorter = cls6;
|
|
}
|
|
typePermissionArr[5] = new TypeHierarchyPermission(cls6);
|
|
Class cls7 = class$com$thoughtworks$xstream$converters$ConverterLookup;
|
|
if (cls7 == null) {
|
|
cls7 = class$("com.thoughtworks.xstream.converters.ConverterLookup");
|
|
class$com$thoughtworks$xstream$converters$ConverterLookup = cls7;
|
|
}
|
|
typePermissionArr[6] = new TypeHierarchyPermission(cls7);
|
|
Class cls8 = class$com$thoughtworks$xstream$converters$ConverterRegistry;
|
|
if (cls8 == null) {
|
|
cls8 = class$("com.thoughtworks.xstream.converters.ConverterRegistry");
|
|
class$com$thoughtworks$xstream$converters$ConverterRegistry = cls8;
|
|
}
|
|
typePermissionArr[7] = new TypeHierarchyPermission(cls8);
|
|
Class cls9 = class$com$thoughtworks$xstream$io$HierarchicalStreamDriver;
|
|
if (cls9 == null) {
|
|
cls9 = class$("com.thoughtworks.xstream.io.HierarchicalStreamDriver");
|
|
class$com$thoughtworks$xstream$io$HierarchicalStreamDriver = cls9;
|
|
}
|
|
typePermissionArr[8] = new TypeHierarchyPermission(cls9);
|
|
Class cls10 = class$com$thoughtworks$xstream$MarshallingStrategy;
|
|
if (cls10 == null) {
|
|
cls10 = class$("com.thoughtworks.xstream.MarshallingStrategy");
|
|
class$com$thoughtworks$xstream$MarshallingStrategy = cls10;
|
|
}
|
|
typePermissionArr[9] = new TypeHierarchyPermission(cls10);
|
|
Class cls11 = class$com$thoughtworks$xstream$converters$MarshallingContext;
|
|
if (cls11 == null) {
|
|
cls11 = class$("com.thoughtworks.xstream.converters.MarshallingContext");
|
|
class$com$thoughtworks$xstream$converters$MarshallingContext = cls11;
|
|
}
|
|
typePermissionArr[10] = new TypeHierarchyPermission(cls11);
|
|
Class cls12 = class$com$thoughtworks$xstream$converters$UnmarshallingContext;
|
|
if (cls12 == null) {
|
|
cls12 = class$("com.thoughtworks.xstream.converters.UnmarshallingContext");
|
|
class$com$thoughtworks$xstream$converters$UnmarshallingContext = cls12;
|
|
}
|
|
typePermissionArr[11] = new TypeHierarchyPermission(cls12);
|
|
Class cls13 = class$com$thoughtworks$xstream$io$naming$NameCoder;
|
|
if (cls13 == null) {
|
|
cls13 = class$("com.thoughtworks.xstream.io.naming.NameCoder");
|
|
class$com$thoughtworks$xstream$io$naming$NameCoder = cls13;
|
|
}
|
|
typePermissionArr[12] = new TypeHierarchyPermission(cls13);
|
|
Class cls14 = class$com$thoughtworks$xstream$security$TypePermission;
|
|
if (cls14 == null) {
|
|
cls14 = class$("com.thoughtworks.xstream.security.TypePermission");
|
|
class$com$thoughtworks$xstream$security$TypePermission = cls14;
|
|
}
|
|
typePermissionArr[13] = new TypeHierarchyPermission(cls14);
|
|
String[] strArr = new String[1];
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
Class cls15 = class$com$thoughtworks$xstream$core$JVM;
|
|
if (cls15 == null) {
|
|
cls15 = class$("com.thoughtworks.xstream.core.JVM");
|
|
class$com$thoughtworks$xstream$core$JVM = cls15;
|
|
}
|
|
stringBuffer.append(cls15.getPackage().getName());
|
|
stringBuffer.append(".**");
|
|
strArr[0] = stringBuffer.toString();
|
|
typePermissionArr[14] = new WildcardTypePermission(strArr);
|
|
Class cls16 = class$javax$xml$datatype$DatatypeFactory;
|
|
if (cls16 == null) {
|
|
cls16 = class$("javax.xml.datatype.DatatypeFactory");
|
|
class$javax$xml$datatype$DatatypeFactory = cls16;
|
|
}
|
|
typePermissionArr[15] = new TypeHierarchyPermission(cls16);
|
|
PERMISSIONS = typePermissionArr;
|
|
}
|
|
|
|
static /* synthetic */ Class class$(String str) {
|
|
try {
|
|
return Class.forName(str);
|
|
} catch (ClassNotFoundException e) {
|
|
throw new NoClassDefFoundError().initCause(e);
|
|
}
|
|
}
|
|
|
|
public static TypePermission[] getDefaultPermissions() {
|
|
return (TypePermission[]) PERMISSIONS.clone();
|
|
}
|
|
|
|
public Object fromXML(String str) throws ClassNotFoundException, ObjectStreamException {
|
|
try {
|
|
return fromXML(new StringReader(str));
|
|
} catch (ObjectStreamException e) {
|
|
throw e;
|
|
} catch (IOException e2) {
|
|
throw new StreamException("Unexpected IO error from a StringReader", e2);
|
|
}
|
|
}
|
|
|
|
public String toXML(XStream xStream, Object obj) throws ObjectStreamException {
|
|
StringWriter stringWriter = new StringWriter();
|
|
try {
|
|
toXML(xStream, obj, stringWriter);
|
|
return stringWriter.toString();
|
|
} catch (ObjectStreamException e) {
|
|
throw e;
|
|
} catch (IOException e2) {
|
|
throw new StreamException("Unexpected IO error from a StringWriter", e2);
|
|
}
|
|
}
|
|
|
|
public Object fromXML(String str, TypePermission[] typePermissionArr) throws ClassNotFoundException, ObjectStreamException {
|
|
try {
|
|
return fromXML(new StringReader(str), typePermissionArr);
|
|
} catch (ObjectStreamException e) {
|
|
throw e;
|
|
} catch (IOException e2) {
|
|
throw new StreamException("Unexpected IO error from a StringReader", e2);
|
|
}
|
|
}
|
|
|
|
public void toXML(XStream xStream, Object obj, Writer writer) throws IOException {
|
|
XStream xStream2 = new XStream();
|
|
XStream.setupDefaultSecurity(xStream2);
|
|
ObjectOutputStream createObjectOutputStream = xStream2.createObjectOutputStream(writer);
|
|
try {
|
|
createObjectOutputStream.writeObject(xStream);
|
|
createObjectOutputStream.flush();
|
|
xStream.toXML(obj, writer);
|
|
} finally {
|
|
createObjectOutputStream.close();
|
|
}
|
|
}
|
|
|
|
public Object fromXML(HierarchicalStreamDriver hierarchicalStreamDriver, String str) throws ClassNotFoundException, ObjectStreamException {
|
|
try {
|
|
return fromXML(hierarchicalStreamDriver, new StringReader(str));
|
|
} catch (ObjectStreamException e) {
|
|
throw e;
|
|
} catch (IOException e2) {
|
|
throw new StreamException("Unexpected IO error from a StringReader", e2);
|
|
}
|
|
}
|
|
|
|
public Object fromXML(HierarchicalStreamDriver hierarchicalStreamDriver, String str, TypePermission[] typePermissionArr) throws ClassNotFoundException, ObjectStreamException {
|
|
try {
|
|
return fromXML(hierarchicalStreamDriver, new StringReader(str), typePermissionArr);
|
|
} catch (ObjectStreamException e) {
|
|
throw e;
|
|
} catch (IOException e2) {
|
|
throw new StreamException("Unexpected IO error from a StringReader", e2);
|
|
}
|
|
}
|
|
|
|
public Object fromXML(Reader reader) throws IOException, ClassNotFoundException {
|
|
return fromXML(new XppDriver(), reader);
|
|
}
|
|
|
|
public Object fromXML(Reader reader, TypePermission[] typePermissionArr) throws IOException, ClassNotFoundException {
|
|
return fromXML(new XppDriver(), reader, typePermissionArr);
|
|
}
|
|
|
|
public Object fromXML(HierarchicalStreamDriver hierarchicalStreamDriver, Reader reader) throws IOException, ClassNotFoundException {
|
|
return fromXML(hierarchicalStreamDriver, reader, PERMISSIONS);
|
|
}
|
|
|
|
/* JADX WARN: Code restructure failed: missing block: B:19:0x0036, code lost:
|
|
|
|
r4 = move-exception;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:21:0x003a, code lost:
|
|
|
|
throw r4;
|
|
*/
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
|
*/
|
|
public java.lang.Object fromXML(com.thoughtworks.xstream.io.HierarchicalStreamDriver r4, java.io.Reader r5, com.thoughtworks.xstream.security.TypePermission[] r6) throws java.io.IOException, java.lang.ClassNotFoundException {
|
|
/*
|
|
r3 = this;
|
|
com.thoughtworks.xstream.XStream r0 = new com.thoughtworks.xstream.XStream
|
|
r0.<init>(r4)
|
|
com.thoughtworks.xstream.XStream.setupDefaultSecurity(r0)
|
|
r1 = 0
|
|
L9:
|
|
int r2 = r6.length
|
|
if (r1 >= r2) goto L14
|
|
r2 = r6[r1]
|
|
r0.addPermission(r2)
|
|
int r1 = r1 + 1
|
|
goto L9
|
|
L14:
|
|
com.thoughtworks.xstream.io.HierarchicalStreamReader r4 = r4.createReader(r5)
|
|
java.io.ObjectInputStream r5 = r0.createObjectInputStream(r4)
|
|
java.lang.Object r6 = r5.readObject() // Catch: java.lang.Throwable -> L36
|
|
com.thoughtworks.xstream.XStream r6 = (com.thoughtworks.xstream.XStream) r6 // Catch: java.lang.Throwable -> L36
|
|
java.io.ObjectInputStream r4 = r6.createObjectInputStream(r4) // Catch: java.lang.Throwable -> L36
|
|
java.lang.Object r6 = r4.readObject() // Catch: java.lang.Throwable -> L31
|
|
r4.close() // Catch: java.lang.Throwable -> L36
|
|
r5.close()
|
|
return r6
|
|
L31:
|
|
r6 = move-exception
|
|
r4.close() // Catch: java.lang.Throwable -> L36
|
|
throw r6 // Catch: java.lang.Throwable -> L36
|
|
L36:
|
|
r4 = move-exception
|
|
r5.close()
|
|
throw r4
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: com.thoughtworks.xstream.XStreamer.fromXML(com.thoughtworks.xstream.io.HierarchicalStreamDriver, java.io.Reader, com.thoughtworks.xstream.security.TypePermission[]):java.lang.Object");
|
|
}
|
|
}
|