List of usage examples for com.google.gwt.webworker.client ErrorHandler ErrorHandler
ErrorHandler
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); } }