Example usage for jdk.nashorn.api.scripting NashornException getFileName

List of usage examples for jdk.nashorn.api.scripting NashornException getFileName

Introduction

In this page you can find the example usage for jdk.nashorn.api.scripting NashornException getFileName.

Prototype

public final String getFileName() 

Source Link

Document

Get the source file name for this NashornException

Usage

From source file:com.baasbox.service.scripting.js.Nashorn.java

License:Apache License

/**
 * Script call evaluation//from  w  ww.  j ava 2s . c o  m
 * @param call
 * @return
 * @throws ScriptEvalException
 */
ScriptResult eval(ScriptCall call) throws ScriptEvalException {
    try {
        ScriptObjectMirror moduleRef = getModule(call);

        if (call.event == null) {
            return null;
        }

        Object result = emitEvent(moduleRef, call.event, call.eventData);
        ScriptResult scriptResult = mMapper.convertResult(result);
        call.validate(scriptResult);
        if (BaasBoxLogger.isTraceEnabled())
            BaasBoxLogger.trace("ScriptResult: %s", scriptResult.toString());
        return scriptResult;
    } catch (Throwable err) {
        if (err instanceof NashornException) {
            if (BaasBoxLogger.isTraceEnabled())
                BaasBoxLogger.trace("Error in script");

            Throwable cause = err.getCause();
            NashornException exc = ((NashornException) err);
            String scriptStack = NashornException.getScriptStackString(exc);
            scriptStack = ExceptionUtils.getFullStackTrace(exc);
            int columnNumber = exc.getColumnNumber();
            int lineNumber = exc.getLineNumber();
            String fileName = exc.getFileName();
            String message = exc.getMessage();
            String errorMessage = String.format("ScriptError: '%s' at: <%s>%d:%d\n%s", message, fileName,
                    lineNumber, columnNumber, scriptStack);
            throw new ScriptEvalException(errorMessage, err);
        }
        throw new ScriptEvalException(ExceptionUtils.getFullStackTrace(err), err);
    }
}

From source file:com.eas.client.AsyncProcess.java

protected void doComplete(F aResult) {
    if (exceptions.isEmpty()) {
        if (onSuccess != null) {
            onSuccess.accept(aResult);//from   w  w  w  .  j a  va  2s  .  c  om
        }
    } else {
        if (onFailure != null) {
            StringBuilder eMessagesSum = new StringBuilder();
            exceptions.stream().forEach((ex) -> {
                if (eMessagesSum.length() > 0) {
                    eMessagesSum.append("\n");
                }
                String message = ex.getMessage() != null && !ex.getMessage().isEmpty() ? ex.getMessage()
                        : ex.toString();
                if (ex instanceof FileNotFoundException) {
                    message = "File or module not found: " + message;
                } else if (ex instanceof NashornException) {
                    NashornException nex = (NashornException) ex;
                    message = nex.getFileName() + ":" + nex.getLineNumber() + " " + message;
                }
                eMessagesSum.append(message);
            });
            onFailure.accept(new IllegalStateException(eMessagesSum.toString()));
        }
    }
}

From source file:com.threecrickets.scripturian.adapter.NashornAdapter.java

License:LGPL

/**
 * Creates an execution exception./* w w w  .j a  va  2s.c  o  m*/
 * 
 * @param x
 *        The exception
 * @param documentName
 *        The document name
 * @return The execution exception
 */
public static ExecutionException createExecutionException(Throwable x, String documentName) {
    Throwable cause = x.getCause();
    if (cause != null) {
        if (cause instanceof ExecutionException)
            return (ExecutionException) cause;
        if (x instanceof NashornException) {
            NashornException nx = (NashornException) x;
            return new ExecutionException(nx.getFileName(), nx.getLineNumber(), nx.getColumnNumber(),
                    nx.getMessage(), cause);
        } else
            return new ExecutionException(documentName, x);
    } else if (x instanceof NashornException) {
        NashornException nx = (NashornException) x;
        return new ExecutionException(nx.getFileName(), nx.getLineNumber(), nx.getColumnNumber(),
                nx.getMessage(), cause);
    } else
        return new ExecutionException(documentName, x);
}

From source file:org.eclipse.californium.actinium.jscoap.JavaScriptResource.java

License:Open Source License

private void callJSCallback(CoapExchange exchange, CoapCallback callback) {
    try {//from   ww w.  j  a v a2  s  . c o m
        callback.call(new JavaScriptCoapExchange(exchange), exchange.advanced().getRequest());
    } catch (NashornException e) {
        exchange.respond(CoAP.ResponseCode.INTERNAL_SERVER_ERROR, e.getMessage());
        System.err.println(
                "JavaScript error in [" + e.getFileName() + "#" + e.getLineNumber() + "]: " + e.getMessage());
        throw e;
    }
}