Files
VisualSapfor/src/_VisualDVM/Passes/All/ResumeDVMPackage.java

56 lines
2.2 KiB
Java

package _VisualDVM.Passes.All;
import _VisualDVM.Constants;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.RemoteFile.RemoteFile;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Passes.SSH.ConnectionPass;
import _VisualDVM.TestingSystem.DVM.DVMPackage.DVMPackage;
import _VisualDVM.TestingSystem.DVM.PackageCredentials.DVMPackageCredentials;
public class ResumeDVMPackage extends ConnectionPass<DVMPackage> {
@Override
public String getIconPath() {
return "/icons/Resume.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();
if (!Global.mainModule.getAccount().CheckAuthorship(target.sender_address, Log))
return false;
switch (target.state) {
case Paused:
break;
default:
Log.Writeln_("Возможно возобновить только пакет в состоянии [пауза]");
return false;
}
GetDVMPackageCredetials pass_ = (GetDVMPackageCredetials) Global.mainModule.getPass(PassCode.GetDVMPackageCredetials);
if (pass_.Do(target)) {
DVMPackageCredentials credentials = pass_.target;
machine = target.getMachine();
user = target.getUser();
user.password = credentials.userPassword;
return true;
}
return false;
}
@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);
if (user.connection.Exists(pauseFile))
user.connection.sftpChannel.rm(pauseFile.full_name);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
}