/** * Given a type identifier in the stream, attempt to deobfuscate it. Retuns * the original identifier if deobfuscation is unnecessary or no mapping is * known. */ private static String maybeDeobfuscate(ServerSerializationStreamReader streamReader, String name) throws SerializationException { int index; if (streamReader.hasFlags(AbstractSerializationStream.FLAG_ELIDE_TYPE_NAMES)) { SerializationPolicy serializationPolicy = streamReader.getSerializationPolicy(); if (!(serializationPolicy instanceof TypeNameObfuscator)) { throw new IncompatibleRemoteServiceException( "RPC request was encoded with obfuscated type names, " + "but the SerializationPolicy in use does not implement " + TypeNameObfuscator.class.getName()); } String maybe = ((TypeNameObfuscator) serializationPolicy).getClassNameForTypeId(name); if (maybe != null) { return maybe; } } else if ((index = name.indexOf('/')) != -1) { return name.substring(0, index); } return name; }
@Override protected String getObjectTypeSignature(Object instance) throws SerializationException { assert (instance != null); Class<?> clazz = getClassForSerialization(instance); if (hasFlags(FLAG_ELIDE_TYPE_NAMES)) { if (serializationPolicy instanceof TypeNameObfuscator) { return ((TypeNameObfuscator) serializationPolicy).getTypeIdForClass(clazz); } throw new SerializationException("The GWT module was compiled with RPC " + "type name elision enabled, but " + serializationPolicy.getClass().getName() + " does not implement " + TypeNameObfuscator.class.getName()); } else { return SerializabilityUtil.encodeSerializedInstanceReference(clazz, serializationPolicy); } }
if (getSerializationPolicy() instanceof TypeNameObfuscator) { TypeNameObfuscator obfuscator = (TypeNameObfuscator) getSerializationPolicy(); String instanceClassName = obfuscator.getClassNameForTypeId(typeSignature); instanceClass = Class.forName(instanceClassName, false, classLoader); } else {
@Override protected String getObjectTypeSignature(Object instance) throws SerializationException { assert (instance != null); Class<?> clazz = getClassForSerialization(instance); if (hasFlags(FLAG_ELIDE_TYPE_NAMES)) { if (serializationPolicy instanceof TypeNameObfuscator) { return ((TypeNameObfuscator) serializationPolicy).getTypeIdForClass(clazz); } throw new SerializationException("The GWT module was compiled with RPC " + "type name elision enabled, but " + serializationPolicy.getClass().getName() + " does not implement " + TypeNameObfuscator.class.getName()); } else { return SerializabilityUtil.encodeSerializedInstanceReference(clazz, serializationPolicy); } }
/** * Given a type identifier in the stream, attempt to deobfuscate it. Retuns * the original identifier if deobfuscation is unnecessary or no mapping is * known. */ private static String maybeDeobfuscate(ServerSerializationStreamReader streamReader, String name) throws SerializationException { int index; if (streamReader.hasFlags(AbstractSerializationStream.FLAG_ELIDE_TYPE_NAMES)) { SerializationPolicy serializationPolicy = streamReader.getSerializationPolicy(); if (!(serializationPolicy instanceof TypeNameObfuscator)) { throw new IncompatibleRemoteServiceException( "RPC request was encoded with obfuscated type names, " + "but the SerializationPolicy in use does not implement " + TypeNameObfuscator.class.getName()); } String maybe = ((TypeNameObfuscator) serializationPolicy).getClassNameForTypeId(name); if (maybe != null) { return maybe; } } else if ((index = name.indexOf('/')) != -1) { return name.substring(0, index); } return name; }
@Override protected String getObjectTypeSignature(Object instance) throws SerializationException { assert (instance != null); Class<?> clazz = getClassForSerialization(instance); if (hasFlags(FLAG_ELIDE_TYPE_NAMES)) { if (serializationPolicy instanceof TypeNameObfuscator) { return ((TypeNameObfuscator) serializationPolicy).getTypeIdForClass(clazz); } throw new SerializationException("The GWT module was compiled with RPC " + "type name elision enabled, but " + serializationPolicy.getClass().getName() + " does not implement " + TypeNameObfuscator.class.getName()); } else { return SerializabilityUtil.encodeSerializedInstanceReference(clazz, serializationPolicy); } }
/** * Given a type identifier in the stream, attempt to deobfuscate it. Retuns * the original identifier if deobfuscation is unnecessary or no mapping is * known. */ private static String maybeDeobfuscate(ServerSerializationStreamReader streamReader, String name) throws SerializationException { int index; if (streamReader.hasFlags(AbstractSerializationStream.FLAG_ELIDE_TYPE_NAMES)) { SerializationPolicy serializationPolicy = streamReader.getSerializationPolicy(); if (!(serializationPolicy instanceof TypeNameObfuscator)) { throw new IncompatibleRemoteServiceException( "RPC request was encoded with obfuscated type names, " + "but the SerializationPolicy in use does not implement " + TypeNameObfuscator.class.getName()); } String maybe = ((TypeNameObfuscator) serializationPolicy).getClassNameForTypeId(name); if (maybe != null) { return maybe; } } else if ((index = name.indexOf('/')) != -1) { return name.substring(0, index); } return name; }
if (getSerializationPolicy() instanceof TypeNameObfuscator) { TypeNameObfuscator obfuscator = (TypeNameObfuscator) getSerializationPolicy(); String instanceClassName = obfuscator.getClassNameForTypeId(typeSignature); instanceClass = Class.forName(instanceClassName, false, classLoader); } else {
if (getSerializationPolicy() instanceof TypeNameObfuscator) { TypeNameObfuscator obfuscator = (TypeNameObfuscator) getSerializationPolicy(); String instanceClassName = obfuscator.getClassNameForTypeId(typeSignature); instanceClass = Class.forName(instanceClassName, false, classLoader); } else {