package fr.opensagres.mongodb.ide.launching.internal.jobs;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.core.ILaunch;
import org.eclipse.osgi.util.NLS;
import fr.opensagres.mongodb.ide.core.model.Database;
import fr.opensagres.mongodb.ide.launching.internal.Messages;
import fr.opensagres.mongodb.ide.launching.internal.Trace;
public class StopShellJob extends DatabaseJob {
public StopShellJob(Database database) {
super(database, NLS.bind(Messages.jobStopping, database.getName()));
}
@Override
protected IStatus run(IProgressMonitor monitor) {
Database database = super.getDatabase();
ILaunch launch = (ILaunch) database.getLaunch();
if (launch != null) {
try {
launch.terminate();
} catch (DebugException e) {
Trace.trace(Trace.STRING_SEVERE, "", e);
} finally {
database.setLaunch(null);
}
}
return Status.OK_STATUS;
}
}