// Copyright 2010 Google Inc. All Rights Reseved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package com.google.testing.testify.risk.frontend.client.util; import com.google.gwt.user.client.ui.Label; import com.google.testing.testify.risk.frontend.client.view.widgets.StandardDialogBox; /** * Factory for displaying error messages on the client UI. * * @author chrsmith@google.com (Chris Smith) */ public class NotificationUtil { /** Disable construction. */ private NotificationUtil() {} /** Displays an error message generated from the given exception. */ public static void displayErrorMessage(Throwable exception) { displayErrorMessage("Unhandled Exception", exception); } /** Displays an error message with the given text. */ public static void displayErrorMessage(String errorText) { displayErrorMessage(errorText, null); } /** Displays an error message along with the provided exception information. */ public static void displayErrorMessage(String errorMessage, Throwable exception) { StandardDialogBox widget = new StandardDialogBox(); widget.setTitle("Oh snap! Test Analytics encountered an error."); widget.add(new Label(errorMessage)); if (exception != null) { StringBuilder exceptionMessageText = new StringBuilder(); exceptionMessageText.append("Exception of type: " + exception.getClass().getName()); exceptionMessageText.append("\n"); exceptionMessageText.append(exception.getMessage()); widget.add(new Label(exceptionMessageText.toString())); } StandardDialogBox.showAsDialog(widget); } }