Example usage for com.google.gwt.webworker.client ErrorHandler ErrorHandler

List of usage examples for com.google.gwt.webworker.client ErrorHandler ErrorHandler

Introduction

In this page you can find the example usage for com.google.gwt.webworker.client ErrorHandler ErrorHandler.

Prototype

ErrorHandler

Source Link

Usage

From source file:com.google.speedtracer.client.model.BreakyWorkerHost.java

License:Apache License

/**
 * Initialize the event handlers for the host.
 *//*from   w w  w  . ja v a 2s. com*/
private void init() {
    breakyWorker.setOnError(new ErrorHandler() {
        public void onError(ErrorEvent event) {
            UncaughtExceptionHandler ueh = GWT.getUncaughtExceptionHandler();
            if (ueh != null) {
                try {
                    onBreakyException(event);
                } catch (Exception ex) {
                    ueh.onUncaughtException(ex);
                }
            } else {
                onBreakyException(event);
            }
        }
    });

    breakyWorker.setOnMessage(new MessageHandler() {
        public void onMessage(MessageEvent event) {
            UncaughtExceptionHandler ueh = GWT.getUncaughtExceptionHandler();
            if (ueh != null) {
                try {
                    fireOnBreakyMessage(event);
                } catch (Exception ex) {
                    ueh.onUncaughtException(ex);
                }
            } else {
                fireOnBreakyMessage(event);
            }
        }

        /**
         * Turn a breaky message into a synthesized hint record.
         * 
         * @param event breaky message
         */
        private void fireOnBreakyMessage(MessageEvent event) {
            JavaScriptObject breakyMessage = event.getDataAsJSO();
            int sequence = DataBag.getIntProperty(breakyMessage, "sequence");
            String message = DataBag.getStringProperty(breakyMessage, "message");
            Logging.getLogger().logTextError("Breaky Error:(#" + sequence + ") " + message);

            EventRecord record = dataDispatcher.findEventRecordFromSequence(sequence);
            if (record == null) {
                Logging.getLogger().logTextError("Breaky cannot find record with sequence #" + sequence);
            } else {
                HintRecord validationHint = HintRecord.create("Validation Error", record.getTime(),
                        HintRecord.SEVERITY_VALIDATION, message, sequence);
                hintletHost.onSynthesizedHint(validationHint);
            }
        }
    });
}

From source file:com.google.speedtracer.client.model.HintletEngineHost.java

License:Apache License

private void init() {
    hintletEngineWorker.setOnError(new ErrorHandler() {
        public void onError(ErrorEvent event) {
            UncaughtExceptionHandler ueh = GWT.getUncaughtExceptionHandler();
            if (ueh != null) {
                try {
                    onHintletException(event.<HintletException>cast());
                } catch (Exception ex) {
                    ueh.onUncaughtException(ex);
                }//from  w w w.java  2 s .c o  m
            } else {
                onHintletException(event.<HintletException>cast());
            }
        }
    });

    hintletEngineWorker.setOnMessage(new MessageHandler() {
        public void onMessage(MessageEvent event) {
            UncaughtExceptionHandler ueh = GWT.getUncaughtExceptionHandler();
            if (ueh != null) {
                try {
                    fireOnHint(event);
                } catch (Exception ex) {
                    ueh.onUncaughtException(ex);
                }
            } else {
                fireOnHint(event);
            }
        }

        private void fireOnHint(MessageEvent event) {
            HintMessage msg = HintMessage.create(event.getDataAsString());

            if (msg.isHint()) {
                onHint(msg.getHint());
            } else if (ClientConfig.isDebugMode()) {
                if (msg.isLog()) {
                    Logging.getLogger().logText(msg.getLog());
                } else {
                    Logging.getLogger()
                            .logTextError("Unknown message type from hintlet engine: " + msg.getType());
                    assert false;
                }
            }
        }
    });
}

From source file:org.eclipse.che.ide.ext.java.client.editor.JavaParserWorkerImpl.java

License:Open Source License

@Override
public void onProjectOpened(ProjectActionEvent event) {
    if (worker != null) {
        worker.terminate();/*from  www .  jav  a2 s . c o  m*/
    }
    try {

        //TODO check project type, create worker only if project is Java
        //        worker = Worker.create("http://localhost:8080/ide/_app/javaParserWorker/javaParserWorker.nocache.js");
        worker = Worker.create(GWT.getModuleBaseURL() + "javaParserWorker/javaParserWorker.nocache.js");
        worker.setOnMessage(new MessageHandler() {
            @Override
            public void onMessage(MessageEvent event) {
                MessageImpl message = event.getDataAsJSO().cast();
                messageFilter.dispatchMessage(message);
            }
        });
        worker.setOnError(new ErrorHandler() {
            @Override
            public void onError(ErrorEvent event) {
                Log.error(JavaParserWorkerImpl.class, event.getMessage(), event.getFilename(),
                        event.getLineNumber());
            }
        });

        MessagesImpls.ConfigMessageImpl config = MessagesImpls.ConfigMessageImpl.make();
        config.setRestContext(restContext);
        config.setWsId("/" + workspaceId);
        config.setCaPath(javaCAPath);
        config.setProjectName(event.getProject().getName());
        config.setJavaDocContext(""); //TODO configure doc context
        worker.postMessage(config.serialize());
    } catch (Exception e) {
        Log.error(getClass(), e);
    }
}