package rhogenwizard.sdk.task;
import java.io.File;
import org.eclipse.jface.preference.IPreferenceStore;
import rhogenwizard.Activator;
import rhogenwizard.RhodesStore;
import rhogenwizard.SysCommandExecutor;
public class StopSyncAppTask extends SeqRunTask
{
private static final RunTask[] empty = {};
private static RunTask[] getTasks()
{
if (Activator.getDefault() == null)
return empty;
IPreferenceStore store = Activator.getDefault().getPreferenceStore();
if (store == null)
return empty;
final String prevRunningRhoconnectApp = new RhodesStore(store).lastSyncRunApp();
if (prevRunningRhoconnectApp == null || prevRunningRhoconnectApp.length() == 0)
return empty;
File appFolder = new File(prevRunningRhoconnectApp);
if (!appFolder.exists())
return empty;
RunTask stopRhoconnectTask = new RubyExecTask(prevRunningRhoconnectApp, SysCommandExecutor.RUBY_BAT,
"rhoconnect", "stop");
RunTask stopRedisTask = new RubyExecTask(prevRunningRhoconnectApp, SysCommandExecutor.RUBY_BAT,
"rhoconnect", "redis-stop");
return new RunTask[] { stopRhoconnectTask, stopRedisTask };
}
public StopSyncAppTask()
{
super(getTasks());
}
}