diff options
Diffstat (limited to 'org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/BackgroundResourceRefresher.java')
-rw-r--r-- | org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/BackgroundResourceRefresher.java | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/BackgroundResourceRefresher.java b/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/BackgroundResourceRefresher.java deleted file mode 100644 index 2b19d3b78..000000000 --- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/BackgroundResourceRefresher.java +++ /dev/null @@ -1,87 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.ui.externaltools.internal.program.launchConfigurations; - - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.jobs.Job; -import org.eclipse.debug.core.DebugEvent; -import org.eclipse.debug.core.DebugPlugin; -import org.eclipse.debug.core.IDebugEventSetListener; -import org.eclipse.debug.core.ILaunchConfiguration; -import org.eclipse.debug.core.model.IProcess; -import org.eclipse.debug.ui.RefreshTab; -import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin; - -/** - * Refreshes resources as specified by a launch configuration, when - * an associated process terminates. - */ -public class BackgroundResourceRefresher implements IDebugEventSetListener { - - private ILaunchConfiguration fConfiguration; - private IProcess fProcess; - - public BackgroundResourceRefresher(ILaunchConfiguration configuration, IProcess process) { - fConfiguration = configuration; - fProcess = process; - } - - /** - * If the process has already terminated, resource refreshing is done - * immediately in the current thread. Otherwise, refreshing is done when the - * process terminates. - */ - public void startBackgroundRefresh() { - synchronized (fProcess) { - if (fProcess.isTerminated()) { - refresh(); - } else { - DebugPlugin.getDefault().addDebugEventListener(this); - } - } - } - - /* (non-Javadoc) - * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse.debug.core.DebugEvent[]) - */ - public void handleDebugEvents(DebugEvent[] events) { - for (int i = 0; i < events.length; i++) { - DebugEvent event = events[i]; - if (event.getSource() == fProcess && event.getKind() == DebugEvent.TERMINATE) { - DebugPlugin.getDefault().removeDebugEventListener(this); - refresh(); - break; - } - } - } - - /** - * Submits a job to do the refresh - */ - protected void refresh() { - Job job= new Job(ExternalToolsProgramMessages.getString("BackgroundResourceRefresher.0")) { //$NON-NLS-1$ - public IStatus run(IProgressMonitor monitor) { - try { - RefreshTab.refreshResources(fConfiguration, monitor); - } catch (CoreException e) { - ExternalToolsPlugin.getDefault().log(e); - return e.getStatus(); - } - return Status.OK_STATUS; - } - }; - job.schedule(); - } -}
\ No newline at end of file |