Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| GWT 2.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.google.gwt.logging.server
Class StackTraceDeobfuscator

    java.lang.Object
      com.google.gwt.logging.server.StackTraceDeobfuscator

    public class StackTraceDeobfuscator

extends java.lang.Object

Deobfuscates stack traces on the server side. This class requires that you have turned on emulated stack traces, via `<set-property name="compiler.stackMode" value="emulated" />` in your `.gwt.xml` module file, and moved your symbol map files to a location accessible by your server sever side code. You can use the GWT compiler `-deploy` command line argument to specify the location of the folder into which the generated `symbolMaps` directory is written. By default, the final `symbolMaps` directory is `war/WEB-INF/deploy/yourmodulename/symbolMaps/`. Pass the resulting directory location into this class' `symbolMapsDirectory` constructor or `setSymbolMapsDirectory(String)` setter method. TODO(unnurg): Combine this code with similar code in JUnitHostImpl

Constructor Summary
`StackTraceDeobfuscator(java.lang.String symbolMapsDirectory)` Constructor, which takes a `symbolMaps` directory as its argument.

Method Summary
`java.util.logging.LogRecord` | `deobfuscateLogRecord(java.util.logging.LogRecord lr, java.lang.String strongName)` Best effort resymbolization of a log record's stack trace.
`java.lang.StackTraceElement[]` | `deobfuscateStackTrace(java.lang.StackTraceElement[] st, java.lang.String strongName)` Convenience method which resymbolizes an entire stack trace to extent possible.
`protected java.io.InputStream` | `getSymbolMapInputStream(java.lang.String permutationStrongName)` Retrieves a new `InputStream` for the given permutation strong name.
`java.lang.StackTraceElement` | `resymbolize(java.lang.StackTraceElement ste, java.lang.String strongName)` Best effort resymbolization of a a single stack trace element.
`void` | `setSymbolMapsDirectory(java.lang.String symbolMapsDirectory)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### StackTraceDeobfuscator

    public StackTraceDeobfuscator(java.lang.String symbolMapsDirectory)

  Constructor, which takes a `symbolMaps` directory as its argument. Symbol maps are generated into the location specified by the GWT compiler `-deploy` command line argument.

  Parameters:
    `symbolMapsDirectory` - the `symbolMaps` directory with, or without trailing directory separator character

Method Detail

### deobfuscateLogRecord

    public java.util.logging.LogRecord deobfuscateLogRecord(java.util.logging.LogRecord lr,
                                                            java.lang.String strongName)

  Best effort resymbolization of a log record's stack trace.

  Parameters:
    `lr` - the log record to resymbolize
    `strongName` - the GWT permutation strong name
  Returns:
    the best effort resymbolized log record

### deobfuscateStackTrace

    public java.lang.StackTraceElement[] deobfuscateStackTrace(java.lang.StackTraceElement[] st,
                                                               java.lang.String strongName)

  Convenience method which resymbolizes an entire stack trace to extent possible.

  Parameters:
    `st` - the stack trace to resymbolize
    `strongName` - the GWT permutation strong name
  Returns:
    a best effort resymbolized stack trace

### resymbolize

    public java.lang.StackTraceElement resymbolize(java.lang.StackTraceElement ste,
                                                   java.lang.String strongName)

  Best effort resymbolization of a a single stack trace element.

  Parameters:
    `ste` - the stack trace element to resymbolize
    `strongName` - the GWT permutation strong name
  Returns:
    the best effort resymbolized stack trace element

### setSymbolMapsDirectory

    public void setSymbolMapsDirectory(java.lang.String symbolMapsDirectory)

### getSymbolMapInputStream

    protected java.io.InputStream getSymbolMapInputStream(java.lang.String permutationStrongName)
                                                   throws java.io.IOException

  Retrieves a new `InputStream` for the given permutation strong name. This implementation, which subclasses may override, returns a `InputStream` for the `permutation-strong-name.symbolMap` file in the `symbolMaps` directory.

  Parameters:
    `permutationStrongName` - the GWT permutation strong name
  Returns:
    a new `InputStream`
  Throws:
    `java.io.IOException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| GWT 2.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD