Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSAbstractResolutionGenerator.java')
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSAbstractResolutionGenerator.java121
1 files changed, 0 insertions, 121 deletions
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSAbstractResolutionGenerator.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSAbstractResolutionGenerator.java
deleted file mode 100644
index 2b2fdfc39..000000000
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSAbstractResolutionGenerator.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.team.internal.ccvs.ui;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.ui.IMarkerResolutionGenerator;
-import org.eclipse.ui.IWorkbenchWindow;
-
-public abstract class CVSAbstractResolutionGenerator implements IMarkerResolutionGenerator {
- protected Shell getShell() {
- IWorkbenchWindow window = CVSUIPlugin.getPlugin().getWorkbench().getActiveWorkbenchWindow();
- if (window != null) {
- return window.getShell();
- } else {
- Display display = Display.getCurrent();
- return new Shell(display);
- }
- }
-
- protected void run(final IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException {
- final Exception[] exception = new Exception[] {null};
- Display.getDefault().syncExec(new Runnable() {
- public void run() {
- try {
- new ProgressMonitorDialog(getShell()).run(true, true, runnable);
- } catch (InterruptedException e) {
- exception[0] = e;
- } catch (InvocationTargetException e) {
- exception[0] = e;
- }
- }
- });
- if (exception[0] != null) {
- if (exception[0] instanceof InvocationTargetException) {
- throw (InvocationTargetException)exception[0];
- } else if (exception[0] instanceof InterruptedException) {
- throw (InterruptedException)exception[0];
- } else {
- throw new InvocationTargetException(exception[0]);
- }
- }
- }
-
- /**
- * Shows the given errors to the user.
- *
- * @param status the status containing the error
- * @param title the title of the error dialog
- * @param message the message for the error dialog
- * @param shell the shell to open the error dialog in
- */
- protected void handle(Throwable exception, String title, final String message) {
- // Handle the target exception for InvocationTargetExceptions
- if (exception instanceof InvocationTargetException) {
- handle(((InvocationTargetException)exception).getTargetException(), title, message);
- return;
- }
-
- // Create a status to be displayed for the exception
- IStatus status = null;
- boolean log = false;
- boolean dialog = false;
- if (exception instanceof TeamException) {
- status = ((TeamException)exception).getStatus();
- log = false;
- dialog = true;
- } else if (exception instanceof CoreException) {
- status = ((CoreException)exception).getStatus();
- log = true;
- dialog = true;
- } else if (exception instanceof InterruptedException) {
- return;
- } else {
- status = new Status(IStatus.ERROR, CVSUIPlugin.ID, 1, Policy.bind("TeamAction.internal"), exception); //$NON-NLS-1$
- log = true;
- dialog = true;
- }
-
- // Display and/or log as appropriate
- if (status == null) return;
- if (!status.isOK()) {
- IStatus toShow = status;
- if (status.isMultiStatus()) {
- IStatus[] children = status.getChildren();
- if (children.length == 1) {
- toShow = children[0];
- }
- }
- if (title == null) title = status.getMessage();
- if (dialog) {
- final IStatus showStatus = toShow;
- final String displayTitle = title;
- Display.getDefault().syncExec(new Runnable() {
- public void run() {
- ErrorDialog.openError(getShell(), displayTitle, message, showStatus);
- }
- });
- }
- if (log) CVSUIPlugin.log(toShow);
- }
- }
-}

Back to the top