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

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

Introduction

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

Prototype

MessageHandler

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 va  2 s. c  o  m*/
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   ww  w . j  ava 2s  . com
            } 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.drools.workbench.screens.guided.dtable.client.widget.analysis.Receiver.java

License:Apache License

public void setUp(final Worker worker) {
    worker.setOnMessage(new MessageHandler() {
        @Override//from   w  w w.  j a  v a 2  s.c  om
        public void onMessage(final MessageEvent messageEvent) {
            received(messageEvent.getDataAsString());
        }
    });
}

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  w ww. j  a  v 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);
    }
}