diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/guiutils/Alerts.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/guiutils/Alerts.java | 837 |
1 files changed, 0 insertions, 837 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/guiutils/Alerts.java b/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/guiutils/Alerts.java deleted file mode 100644 index 54c3a27a7..000000000 --- a/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/guiutils/Alerts.java +++ /dev/null @@ -1,837 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Sybase, Inc. and others. - * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Sybase, Inc. - initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.jsf.common.ui.internal.guiutils; - -import java.lang.reflect.InvocationTargetException; -import java.text.MessageFormat; -import java.util.MissingResourceException; -import java.util.ResourceBundle; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.MultiStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.jface.dialogs.ErrorDialog; -import org.eclipse.jface.dialogs.IInputValidator; -import org.eclipse.jface.dialogs.InputDialog; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.plugin.AbstractUIPlugin; - -/** - * This class will provide UI alert dialogs to the user. These will - * automatically get the message from the plugin's resource bundle. - * - * NOTE: there are some generic exception methods included in this file. They - * need resource bundles also, and they make the alerts bettern when the - * exception is caught at a later stage. - * - * @author mengbo - */ -public class Alerts { - // this is used for junit testing to turn off all alerts and return the - // default on yes/no dialogs. - private static boolean _noAlerts = false; - - private ResourceBundle _rb; - - private String _pluginId; - - /** - * Construct a alerts with the provided attributes. This constructor should - * be used from the root plugin that has access to the resource bundle for - * this plugin. - * - * @param plugin - * @param rb - * the resource bundle to use. - */ - public Alerts(AbstractUIPlugin plugin, ResourceBundle rb) { - _rb = rb; - if (_rb == null) { - throw new NullPointerException( - "No resource bundle was provided to the Alerts."); //$NON-NLS-1$ - } - if (plugin == null) { - throw new NullPointerException( - "No plugin was provided to the Alerts."); //$NON-NLS-1$ - } - _pluginId = plugin.getBundle().getSymbolicName(); - } - - /** - * Returns the text entered by a user in a simple request dialog. - * - * @param titleKey - - * the title resource bundle key for the message - * @param msgKey - - * message resource bundle key for the message displayed to the - * user - * @param initialValue - - * initial value in the text area. - * @param validator - - * something that checks for validity on the name. - * @return null is returned if the user hits cancel, otherwise it is the - * text they entered. - */ - public String getInput(String titleKey, String msgKey, String initialValue, - IInputValidator validator) { - if (_noAlerts) { - return null; - } - - InputDialog inDialog = new InputDialog(PlatformUI.getWorkbench() - .getActiveWorkbenchWindow().getShell(), - getResourceString(titleKey), getResourceString(msgKey), - initialValue, validator); - inDialog.open(); - return inDialog.getValue(); - } - - /** - * Displays an Error message to the user. - * - * @param titleKey - - * the title resource bundle key for the message - * @param msgKey - - * message resource bundle key for the message displayed to the - * user - */ - public void error(String titleKey, String msgKey) { - if (_noAlerts) { - return; - } - - MessageDialog.openError(PlatformUI.getWorkbench() - .getActiveWorkbenchWindow().getShell(), - getResourceString(titleKey), getResourceString(msgKey)); - } - - /** - * Displays an Error message to the user. - * - * @param titleKey - - * the title resource bundle key for the message - * @param msgKey - - * message resource bundle key for the message displayed to the - * user - * @param arg0 - - * arg to place into the resource bundle message. - */ - public void error(String titleKey, String msgKey, Object arg0) { - if (_noAlerts) { - return; - } - - Object[] args = new Object[1]; - args[0] = arg0; - - MessageFormat formatter = new MessageFormat(getResourceString(msgKey)); - - MessageDialog.openError(PlatformUI.getWorkbench() - .getActiveWorkbenchWindow().getShell(), - getResourceString(titleKey), formatter.format(args)); - } - - /** - * Displays an Error message to the user. - * - * @param titleKey - - * the title resource bundle key for the message - * @param msgKey - - * message resource bundle key for the message displayed to the - * user - * @param arg0 - - * arg to place into the resource bundle message. - * @param arg1 - - * arg to place into the resource bundle message. - */ - public void error(String titleKey, String msgKey, Object arg0, Object arg1) { - if (_noAlerts) { - return; - } - - Object[] args = new Object[2]; - args[0] = arg0; - args[1] = arg1; - - MessageFormat formatter = new MessageFormat(getResourceString(msgKey)); - - MessageDialog.openError(PlatformUI.getWorkbench() - .getActiveWorkbenchWindow().getShell(), - getResourceString(titleKey), formatter.format(args)); - } - - /** - * Displays an Error message to the user. - * - * @param titleKey - - * the title resource bundle key for the message - * @param msgKey - - * message resource bundle key for the message displayed to the - * user - * @param arg0 - - * arg to place into the resource bundle message. - * @param arg1 - - * arg to place into the resource bundle message. - * @param arg2 - - * arg to place into the resource bundle message. - */ - public void error(String titleKey, String msgKey, Object arg0, Object arg1, - Object arg2) { - if (_noAlerts) { - return; - } - - Object[] args = new Object[3]; - args[0] = arg0; - args[1] = arg1; - args[2] = arg2; - - MessageFormat formatter = new MessageFormat(getResourceString(msgKey)); - - MessageDialog.openError(PlatformUI.getWorkbench() - .getActiveWorkbenchWindow().getShell(), - getResourceString(titleKey), formatter.format(args)); - } - - /** - * Displays an Error message to the user. - * - * @param titleKey - - * the title resource bundle key for the message - * @param msgKey - - * message resource bundle key for the message displayed to the - * user - * @param arg0 - - * arg to place into the resource bundle message. - * @param arg1 - - * arg to place into the resource bundle message. - * @param arg2 - - * arg to place into the resource bundle message. - * @param arg3 - - * arg to place into the resource bundle message. - */ - public void error(String titleKey, String msgKey, Object arg0, Object arg1, - Object arg2, Object arg3) { - if (_noAlerts) { - return; - } - - Object[] args = new Object[4]; - args[0] = arg0; - args[1] = arg1; - args[2] = arg2; - args[3] = arg3; - - MessageFormat formatter = new MessageFormat(getResourceString(msgKey)); - - MessageDialog.openError(PlatformUI.getWorkbench() - .getActiveWorkbenchWindow().getShell(), - getResourceString(titleKey), formatter.format(args)); - } - - /** - * Displays an Error message to the user. - * - * @param shell - - * the shell for the error dialog - * @param titleKey - - * the title resource bundle key for the message - * @param msgKey - - * message resource bundle key for the message displayed to the - * user - */ - public void error(Shell shell, String titleKey, String msgKey) { - if (_noAlerts) { - return; - } - - MessageDialog.openError(shell, getResourceString(titleKey), - getResourceString(msgKey)); - } - - /** - * Displays an Error message to the user with a status using the Display - * background thread. - * - * @param titleKey - - * the title resource bundle key for the message - * @param msgKey - - * message resource bundle key for the message displayed to the - * user - */ - public void detailError(String titleKey, String msgKey) { - if (_noAlerts) { - return; - } - - final IStatus fstatus = new Status(IStatus.ERROR, _pluginId, - IStatus.OK, getResourceString(msgKey), null); - final String ftitle = getResourceString(titleKey); - - Display display = getStandardDisplay(); - display.asyncExec(new Runnable() { - public void run() { - ErrorDialog.openError(null, ftitle, null, fstatus); - } - }); - } - - /** - * Displays an Error message to the user with a status using the Display - * background thread. This will give the details button. - * - * @param titleKey - - * the title resource bundle key for the message - * @param msgKey - - * message resource bundle key for the message displayed to the - * user - * @param tt - - * exception to place in the details. - */ - public void detailError(String titleKey, String msgKey, Throwable tt) { - if (_noAlerts) { - return; - } - - internalDetailError(getResourceString(titleKey), - getResourceString(msgKey), tt); - } - - /** - * Displays an Error message to the user with a status using the Display - * background thread. This will give the details button. - * - * @param titleKey - - * the title resource bundle key for the message - * @param msgKey - - * message resource bundle key for the message displayed to the - * user - * @param arg0 - - * arg to place into the resource bundle message. - * @param tt - - * exception to place in the details. - */ - public void detailError(String titleKey, String msgKey, Object arg0, - Throwable tt) { - if (_noAlerts) { - return; - } - - Object[] args = new Object[1]; - args[0] = arg0; - - MessageFormat formatter = new MessageFormat(getResourceString(msgKey)); - - internalDetailError(getResourceString(titleKey), - formatter.format(args), tt); - } - - /** - * Displays an Error message to the user with a status using the Display - * background thread. This will give the details button. - * - * @param titleKey - - * the title resource bundle key for the message - * @param msgKey - - * message resource bundle key for the message displayed to the - * user - * @param arg0 - - * arg to place into the resource bundle message. - * @param arg1 - - * arg to place into the resource bundle message. - * @param tt - - * exception to place in the details. - */ - public void detailError(String titleKey, String msgKey, Object arg0, - Object arg1, Throwable tt) { - if (_noAlerts) { - return; - } - - Object[] args = new Object[1]; - args[0] = arg0; - args[1] = arg1; - - MessageFormat formatter = new MessageFormat(getResourceString(msgKey)); - - internalDetailError(getResourceString(titleKey), - formatter.format(args), tt); - } - - /** - * Displays an Error message to the user with a status using the Display - * background thread. This will give the details button. - * - * @param title - - * the title message - * @param message - - * message displayed to the user - */ - private void internalDetailError(String title, String msg, Throwable tt) { - if (_noAlerts) { - return; - } - - if (tt instanceof InvocationTargetException) { - tt = ((InvocationTargetException) tt).getTargetException(); - } - - IStatus status = null; - if (tt instanceof CoreException) { - status = ((CoreException) tt).getStatus(); - - if ((status instanceof MultiStatus) == false) { - // convert to a multistatus to show the exception details. - - Throwable th = status.getException(); - if (th == null) { - th = tt; - } - - status = buildStackTraceStatus(IStatus.ERROR, status - .getPlugin(), status.getMessage(), th); - } - } else { - status = buildStackTraceStatus(IStatus.ERROR, _pluginId, tt - .getMessage(), tt); - } - - final String ftitle = title; - final IStatus fstatus = status; - final String fmsg = msg; - Display display = getStandardDisplay(); - display.asyncExec(new Runnable() { - public void run() { - ErrorDialog.openError(null, ftitle, fmsg, fstatus); - } - }); - } - - /** - * Builds a multistatus, so that the stack trace shows up in the alery - * message for detailed alerts. - * - * @param code - * @param pluginId - * @param message - * @param tt - * @return the result of the operation - */ - public IStatus buildStackTraceStatus(int code, String pluginId, - String message, Throwable tt) { - if (tt == null) { - return new Status(code, pluginId, IStatus.OK, message, tt); - } - - MultiStatus mstat = new MultiStatus(pluginId, code, message, tt); - - StackTraceElement[] trace = tt.getStackTrace(); - - mstat.add(new Status(code, pluginId, IStatus.OK, tt.toString(), null)); - for (int ii = 0; ii < trace.length; ii++) { - mstat.add(new Status(code, pluginId, IStatus.OK, trace[ii] - .toString(), null)); - } - return mstat; - } - - /** - * Displays an Error message to the user with a status using the Display - * background thread. This will give the details button. - * - * @param status - - * the status - * @param title - - * the title of the message - */ - public void detailError(String title, IStatus status) { - if (_noAlerts) { - return; - } - - final IStatus fstatus = status; - final String ftitle = title; - Display display = getStandardDisplay(); - display.asyncExec(new Runnable() { - public void run() { - ErrorDialog.openError(null, ftitle, null, fstatus); - } - }); - } - - /** - * Displays an information message to the user. - * - * @param titleKey - - * the title resource bundle key for the message - * @param msgKey - - * message resource bundle key for the message displayed to the - * user - */ - public void info(String titleKey, String msgKey) { - if (_noAlerts) { - return; - } - - MessageDialog.openInformation(PlatformUI.getWorkbench() - .getActiveWorkbenchWindow().getShell(), - getResourceString(titleKey), getResourceString(msgKey)); - } - - /** - * Displays an information message to the user. - * - * @param titleKey - - * the title resource bundle key for the message - * @param msgKey - - * message resource bundle key for the message displayed to the - * user - * @param arg0 - - * arg to place into the resource bundle message. - */ - public void info(String titleKey, String msgKey, Object arg0) { - if (_noAlerts) { - return; - } - - Object[] args = new Object[1]; - args[0] = arg0; - - MessageFormat formatter = new MessageFormat(getResourceString(msgKey)); - - MessageDialog.openInformation(PlatformUI.getWorkbench() - .getActiveWorkbenchWindow().getShell(), - getResourceString(titleKey), formatter.format(args)); - } - - /** - * Displays an confirmation message to the user. - * - * @param titleKey - - * the title resource bundle key for the message - * @param msgKey - - * message resource bundle key for the message displayed to the - * user - * @return true if the user presses the OK button, false otherwise - */ - public boolean confirm(String titleKey, String msgKey) { - if (_noAlerts) { - return true; - } - - return MessageDialog.openConfirm(PlatformUI.getWorkbench() - .getActiveWorkbenchWindow().getShell(), - getResourceString(titleKey), getResourceString(msgKey)); - } - - /** - * Displays an confirmation message to the user. - * - * @param titleKey - - * the title resource bundle key for the message - * @param msgKey - - * message resource bundle key for the message displayed to the - * user - * @param arg0 - - * arg to place into the resource bundle message. - * @return true if the user presses the OK button, false otherwise - */ - public boolean confirm(String titleKey, String msgKey, Object arg0) { - if (_noAlerts) { - return true; - } - - Object[] args = new Object[1]; - args[0] = arg0; - - MessageFormat formatter = new MessageFormat(getResourceString(msgKey)); - - return MessageDialog.openConfirm(PlatformUI.getWorkbench() - .getActiveWorkbenchWindow().getShell(), - getResourceString(titleKey), formatter.format(args)); - } - - /** - * Displays an question message to the user. - * - * @param titleKey - - * the title resource bundle key for the message - * @param msgKey - - * message resource bundle key for the message displayed to the - * user - * @return true if the user presses the "yes" button, false otherwise - */ - public boolean question(String titleKey, String msgKey) { - if (_noAlerts) { - return true; - } - - return MessageDialog.openQuestion(PlatformUI.getWorkbench() - .getActiveWorkbenchWindow().getShell(), - getResourceString(titleKey), getResourceString(msgKey)); - } - - /** - * Displays an question message to the user. - * - * @param titleKey - - * the title resource bundle key for the message - * @param msgKey - - * message resource bundle key for the message displayed to the - * user - * @param arg0 - - * arg to place into the resource bundle message. - * @return true if the user presses the "yes" button, false otherwise - */ - public boolean question(String titleKey, String msgKey, Object arg0) { - if (_noAlerts) { - return true; - } - - Object[] args = new Object[1]; - args[0] = arg0; - - MessageFormat formatter = new MessageFormat(getResourceString(msgKey)); - - return MessageDialog.openQuestion(PlatformUI.getWorkbench() - .getActiveWorkbenchWindow().getShell(), - getResourceString(titleKey), formatter.format(args)); - } - - /** - * Displays an warning message to the user. - * - * @param titleKey - - * the title resource bundle key for the message - * @param msgKey - - * message resource bundle key for the message displayed to the - * user - */ - public void warning(String titleKey, String msgKey) { - if (_noAlerts) { - return; - } - - MessageDialog.openWarning(PlatformUI.getWorkbench() - .getActiveWorkbenchWindow().getShell(), - getResourceString(titleKey), getResourceString(msgKey)); - } - - /** - * Displays an warning message to the user. - * - * @param titleKey - - * the title resource bundle key for the message - * @param msgKey - - * message resource bundle key for the message displayed to the - * user - * @param arg0 - - * arg to place into the resource bundle message. - */ - public void warning(String titleKey, String msgKey, Object arg0) { - if (_noAlerts) { - return; - } - - Object[] args = new Object[1]; - args[0] = arg0; - - MessageFormat formatter = new MessageFormat(getResourceString(msgKey)); - - MessageDialog.openWarning(PlatformUI.getWorkbench() - .getActiveWorkbenchWindow().getShell(), - getResourceString(titleKey), formatter.format(args)); - } - - /** - * Returns the standard display to be used. The method first checks, if the - * thread calling this method has an associated dispaly. If so, this display - * is returned. Otherwise the method returns the default display. - * - * TODO: should probably use the workbench display - */ - private Display getStandardDisplay() { - Display display = Display.getCurrent(); - if (display == null) { - display = Display.getDefault(); - } - return display; - } - - /** - * Returns the string from the resource bundle, or 'key' if not found. - */ - private String getResourceString(String key) { - if (key == null) { - return null; - } - - try { - return _rb.getString(key); - } catch (MissingResourceException ee) { - return key; - } - } - - /** - * Throw a core exception built around the message with the correct plugin - * id and resource bundle string. - * - * @param msgKey - - * message resource bundle key for the message displayed to the - * user - * @throws CoreException - */ - public void throwCoreException(String msgKey) throws CoreException { - IStatus status = new Status(IStatus.ERROR, _pluginId, IStatus.OK, - getResourceString(msgKey), null); - throw new CoreException(status); - } - - /** - * Throw a core exception built around the message with the correct plugin - * id and resource bundle string. - * - * @param ee - - * the real exception. - * @throws CoreException - */ - public void throwCoreException(Throwable ee) throws CoreException { - IStatus status = new Status(IStatus.ERROR, _pluginId, IStatus.OK, ee - .getMessage(), ee); - throw new CoreException(status); - } - - /** - * Throw a core exception built around the message with the correct plugin - * id and resource bundle string. - * - * @param msgKey - - * message resource bundle key for the message displayed to the - * user - * @param ee - - * the real exception. - * @throws CoreException - */ - public void throwCoreException(String msgKey, Throwable ee) - throws CoreException { - IStatus status = new Status(IStatus.ERROR, _pluginId, IStatus.OK, - getResourceString(msgKey), ee); - throw new CoreException(status); - } - - /** - * Throw a core exception built around the message with the correct plugin - * id and resource bundle string. - * - * @param msgKey - - * message resource bundle key for the message displayed to the - * user - * @param arg0 - - * arg to place into the resource bundle message. - * @throws CoreException - */ - public void throwCoreException(String msgKey, Object arg0) - throws CoreException { - Object[] args = new Object[1]; - args[0] = arg0; - - MessageFormat formatter = new MessageFormat(getResourceString(msgKey)); - - IStatus status = new Status(IStatus.ERROR, _pluginId, IStatus.OK, - formatter.format(args), null); - throw new CoreException(status); - } - - /** - * Throw a core exception built around the message with the correct plugin - * id and resource bundle string. - * - * @param msgKey - - * message resource bundle key for the message displayed to the - * user - * @param arg0 - - * arg to place into the resource bundle message. - * @param ee - - * the real exception. - * @throws CoreException - */ - public void throwCoreException(String msgKey, Object arg0, Throwable ee) - throws CoreException { - Object[] args = new Object[1]; - args[0] = arg0; - - MessageFormat formatter = new MessageFormat(getResourceString(msgKey)); - - IStatus status = new Status(IStatus.ERROR, _pluginId, IStatus.OK, - formatter.format(args), ee); - throw new CoreException(status); - } - - /** - * Throw a core exception built around the message with the correct plugin - * id and resource bundle string. - * - * @param msgKey - - * message resource bundle key for the message displayed to the - * user - * @param arg0 - - * arg to place into the resource bundle message. - * @param arg1 - - * arg to place into the resource bundle message. - * @throws CoreException - */ - public void throwCoreException(String msgKey, Object arg0, Object arg1) - throws CoreException { - Object[] args = new Object[2]; - args[0] = arg0; - args[1] = arg1; - - MessageFormat formatter = new MessageFormat(getResourceString(msgKey)); - - IStatus status = new Status(IStatus.ERROR, _pluginId, IStatus.OK, - formatter.format(args), null); - throw new CoreException(status); - } - - /** - * Throw a core exception built around the message with the correct plugin - * id and resource bundle string. - * - * @param msgKey - - * message resource bundle key for the message displayed to the - * user - * @param arg0 - - * arg to place into the resource bundle message. - * @param arg1 - - * arg to place into the resource bundle message. - * @param ee - - * the real exception. - * @throws CoreException - */ - public void throwCoreException(String msgKey, Object arg0, Object arg1, - Throwable ee) throws CoreException { - Object[] args = new Object[2]; - args[0] = arg0; - args[1] = arg1; - - MessageFormat formatter = new MessageFormat(getResourceString(msgKey)); - - IStatus status = new Status(IStatus.ERROR, _pluginId, IStatus.OK, - formatter.format(args), ee); - throw new CoreException(status); - } -} |