List of usage examples for com.google.gwt.core.server StackTraceDeobfuscator resymbolize
public final StackTraceElement resymbolize(StackTraceElement ste, String strongName)
From source file:com.allen_sauer.gwt.log.server.RemoteLoggerServlet.java
License:Apache License
private void deobfuscate(WrappedClientThrowable wrappedClientThrowable) { if (wrappedClientThrowable == null) { // no throwable to deobfuscate return;/*from w w w . jav a 2 s .c o m*/ } // recursive deobfuscate(wrappedClientThrowable.getCause()); String permutationStrongName = getPermutationStrongName(); if ("HostedMode".equals(permutationStrongName)) { // For Development Mode return; } StackTraceElement[] originalStackTrace = wrappedClientThrowable.getClientStackTrace(); StackTraceElement[] deobfuscatedStackTrace = originalStackTrace; for (StackTraceDeobfuscator deobf : deobfuscatorList) { deobfuscatedStackTrace = deobf.resymbolize(deobfuscatedStackTrace, permutationStrongName); } // Verify each permutation once that a symbolMap is available if (permutationStrongNamesChecked.add(permutationStrongName)) { if (equal(originalStackTrace, deobfuscatedStackTrace)) { Log.warn("Failed to deobfuscate stack trace for permutation " + permutationStrongName + ". Verify that the corresponding symbolMap is available."); } } wrappedClientThrowable.setClientStackTrace(deobfuscatedStackTrace); }