50 lines
1.8 KiB
Java
50 lines
1.8 KiB
Java
package _VisualDVM.Passes.All;
|
|
import _VisualDVM.Constants;
|
|
import _VisualDVM.Global;
|
|
import _VisualDVM.GlobalData.RemoteFile.RemoteFile;
|
|
import _VisualDVM.Passes.SSH.ConnectionPass;
|
|
import _VisualDVM.TestingSystem.DVM.DVMPackage.DVMPackage;
|
|
|
|
import java.util.Date;
|
|
public class PauseDVMPackage extends ConnectionPass<DVMPackage> {
|
|
@Override
|
|
public String getIconPath() {
|
|
return "/icons/Pause.png";
|
|
}
|
|
@Override
|
|
public String getButtonText() {
|
|
return "";
|
|
}
|
|
@Override
|
|
protected boolean canStart(Object... args) throws Exception {
|
|
if (!Global.testingServer.db.dvmPackages.getUI().CheckCurrent(Log))
|
|
return false;
|
|
target = Global.testingServer.db.dvmPackages.getUI().getCurrent();
|
|
switch (target.state){
|
|
case CompilationExecution:
|
|
case RunningExecution:
|
|
break;
|
|
default:
|
|
Log.Writeln_("Возможно поставить на паузу только пакет в состоянии [компиляция] или [запуск]");
|
|
return false;
|
|
}
|
|
machine =target.getMachine();
|
|
user = target.getUser();
|
|
return true;
|
|
}
|
|
@Override
|
|
protected void ServerAction() throws Exception {
|
|
RemoteFile packageRemoteWorkspace = new RemoteFile(
|
|
target.user_workspace+ "/tests", String.valueOf(target.id), true);
|
|
if (user.connection.Exists(packageRemoteWorkspace)){
|
|
try {
|
|
RemoteFile pauseFile = new RemoteFile(packageRemoteWorkspace, Constants.pause);
|
|
user.connection.writeToFile("pause at "+new Date(), pauseFile);
|
|
}
|
|
catch (Exception ex){
|
|
ex.printStackTrace();
|
|
}
|
|
}
|
|
}
|
|
}
|