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 { @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(); } } } }