Example usage for com.google.gwt.core.server StackTraceDeobfuscator fromUrl

List of usage examples for com.google.gwt.core.server StackTraceDeobfuscator fromUrl

Introduction

In this page you can find the example usage for com.google.gwt.core.server StackTraceDeobfuscator fromUrl.

Prototype

public static StackTraceDeobfuscator fromUrl(final URL urlPath) 

Source Link

Document

Creates a deobfuscator that loads symbol and source map files beneath the given URL.

Usage

From source file:com.allen_sauer.gwt.log.server.RemoteLoggerServlet.java

License:Apache License

@Override
public final void init(ServletConfig config) throws ServletException {
    super.init(config);

    deobfuscatorList = new ArrayList<StackTraceDeobfuscator>();
    for (@SuppressWarnings("unchecked")
    Enumeration<String> e = config.getInitParameterNames(); e.hasMoreElements();) {
        String name = e.nextElement();
        String value = config.getInitParameter(name);

        if (name.startsWith(PARAMETER_SYMBOL_MAPS_FILE_SYSTEM)) {
            deobfuscatorList.add(StackTraceDeobfuscator.fromFileSystem(value));
        } else if (name.startsWith(PARAMETER_SYMBOL_MAPS_RESOURCE_PATH)) {
            deobfuscatorList.add(StackTraceDeobfuscator.fromResource(value));
        } else if (name.startsWith(PARAMETER_SYMBOL_MAPS_URL)) {
            try {
                URL url = new URL(value);
                deobfuscatorList.add(StackTraceDeobfuscator.fromUrl(url));
            } catch (MalformedURLException ex) {
                Log.error(/*from w w  w  . j  ava 2  s  .  co  m*/
                        "Servlet configuration parameter '" + name + "' specifies invalid URL '" + value + "'",
                        ex);
            }
        } else if (name.startsWith(PARAMETER_SYMBOL_MAPS)) {
            Log.warn("Servlet configuration parameter '" + name + "' is no longer supported");
        }
    }
    if (deobfuscatorList.isEmpty()) {
        Log.warn("In order to enable stack trace deobfuscation, please specify the '" + PARAMETER_SYMBOL_MAPS
                + "' <init-param> for the " + RemoteLoggerServlet.class.getName() + " servlet in your web.xml");
    }

    accessControlAllowOriginHeader = config.getInitParameter(ACCESS_CONTROL_ALLOW_ORIGIN);
}

From source file:uk.ac.ebi.fg.annotare2.web.server.rpc.RemoteLoggingServiceImpl.java

License:Apache License

public final String logOnServer(LogRecord lr) {

    String modulePath = getRequestModuleBasePath();
    String strongName = getPermutationStrongName();
    try {/*from w  ww. j  av  a  2  s.c  om*/

        if (!deobfuscators.containsKey(modulePath)) {
            deobfuscators.put(modulePath, StackTraceDeobfuscator
                    .fromUrl(getServletContext().getResource("/WEB-INF/deploy" + modulePath + "symbolMaps/")));
        }

        logOnServer(lr, strongName, deobfuscators.get(modulePath), null);
    } catch (RemoteLoggingException e) {
        logger.error("Remote logging failed", e);
        return "Remote logging failed, check stack trace for details.";
    } catch (MalformedURLException e) {
        logger.error("Remote logging failed", e);
        return "Remote logging failed, check stack trace for details.";
    }
    return null;
}