Завершение обновления безопасности.
v++
This commit is contained in:
16
src/_VisualDVM/Passes/All/GetDVMPackageCredetials.java
Normal file
16
src/_VisualDVM/Passes/All/GetDVMPackageCredetials.java
Normal file
@@ -0,0 +1,16 @@
|
||||
package _VisualDVM.Passes.All;
|
||||
import _VisualDVM.Passes.Server.TestingServerPass;
|
||||
import _VisualDVM.Repository.Server.ServerCode;
|
||||
import _VisualDVM.TestingSystem.DVM.DVMPackage.DVMPackage;
|
||||
import _VisualDVM.TestingSystem.DVM.PackageCredentials.DVMPackageCredentials;
|
||||
public class GetDVMPackageCredetials extends TestingServerPass<DVMPackageCredentials> {
|
||||
@Override
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
target = null;
|
||||
return SendRequest(ServerCode.GetDVMPackageCredentials, "", ((DVMPackage)args[0]).id);
|
||||
}
|
||||
@Override
|
||||
protected void performDone() throws Exception {
|
||||
target = (DVMPackageCredentials) request.server_response.object;
|
||||
}
|
||||
}
|
||||
@@ -2,8 +2,10 @@ 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;
|
||||
|
||||
import java.util.Date;
|
||||
public class PauseDVMPackage extends ConnectionPass<DVMPackage> {
|
||||
@@ -20,7 +22,10 @@ public class PauseDVMPackage extends ConnectionPass<DVMPackage> {
|
||||
if (!Global.testingServer.db.dvmPackages.getUI().CheckCurrent(Log))
|
||||
return false;
|
||||
target = Global.testingServer.db.dvmPackages.getUI().getCurrent();
|
||||
switch (target.state){
|
||||
if (!Global.mainModule.getAccount().CheckAuthorship(target.sender_address, Log))
|
||||
return false;
|
||||
//--
|
||||
switch (target.state) {
|
||||
case CompilationExecution:
|
||||
case RunningExecution:
|
||||
break;
|
||||
@@ -28,20 +33,25 @@ public class PauseDVMPackage extends ConnectionPass<DVMPackage> {
|
||||
Log.Writeln_("Возможно поставить на паузу только пакет в состоянии [компиляция] или [запуск]");
|
||||
return false;
|
||||
}
|
||||
machine =target.getMachine();
|
||||
user = target.getUser();
|
||||
return Global.mainModule.getAccount().CheckAuthorship(target.sender_address,Log);
|
||||
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)){
|
||||
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){
|
||||
user.connection.writeToFile("pause at " + new Date(), pauseFile);
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,8 +2,10 @@ 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() {
|
||||
@@ -18,6 +20,8 @@ public class ResumeDVMPackage extends ConnectionPass<DVMPackage> {
|
||||
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;
|
||||
@@ -25,9 +29,15 @@ public class ResumeDVMPackage extends ConnectionPass<DVMPackage> {
|
||||
Log.Writeln_("Возможно возобновить только пакет в состоянии [пауза]");
|
||||
return false;
|
||||
}
|
||||
machine = target.getMachine();
|
||||
user = target.getUser();
|
||||
return Global.mainModule.getAccount().CheckAuthorship(target.sender_address,Log);
|
||||
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 {
|
||||
|
||||
@@ -10,6 +10,8 @@ import _VisualDVM.GlobalData.User.User;
|
||||
import _VisualDVM.GlobalData.User.UserState;
|
||||
import _VisualDVM.Passes.PassCode;
|
||||
import _VisualDVM.Passes.Server.PublishServerObject;
|
||||
import _VisualDVM.Repository.Server.SafeServerExchangeUnit;
|
||||
import _VisualDVM.Repository.Server.ServerCode;
|
||||
import _VisualDVM.TestingSystem.Common.TestingServer;
|
||||
import _VisualDVM.TestingSystem.DVM.DVMConfiguration.DVMConfiguration;
|
||||
import _VisualDVM.TestingSystem.DVM.DVMPackage.DVMPackage;
|
||||
@@ -24,17 +26,26 @@ public class StartSelectedDVMConfigurations extends PublishServerObject<TestingS
|
||||
return "/Common/icons/BlueStart.png";
|
||||
}
|
||||
//--
|
||||
Machine machine;
|
||||
User user;
|
||||
Compiler compiler;
|
||||
//--
|
||||
@Override
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
//--
|
||||
machine =null;
|
||||
user= null;
|
||||
compiler =null;
|
||||
//--
|
||||
if (!Global.mainModule.getAccount().CheckRegistered(Log)) {
|
||||
return false;
|
||||
}
|
||||
if (!MainModule_.instance.getDb().CheckCurrent(Log, Machine.class, User.class, Compiler.class))
|
||||
return false;
|
||||
//--
|
||||
Machine machine = MainModule_.instance.getDb().getTable(Machine.class).getUI().getCurrent();
|
||||
User user = MainModule_.instance.getDb().getTable(User.class).getUI().getCurrent();
|
||||
Compiler compiler = MainModule_.instance.getDb().getTable(Compiler.class).getUI().getCurrent();
|
||||
machine = MainModule_.instance.getDb().getTable(Machine.class).getUI().getCurrent();
|
||||
user = MainModule_.instance.getDb().getTable(User.class).getUI().getCurrent();
|
||||
compiler = MainModule_.instance.getDb().getTable(Compiler.class).getUI().getCurrent();
|
||||
//--
|
||||
if (!machine.type.equals(MachineType.Server)) {
|
||||
Log.Writeln_("Тестирование поддерживается только на одиночном удалённом сервере.");
|
||||
@@ -71,4 +82,9 @@ public class StartSelectedDVMConfigurations extends PublishServerObject<TestingS
|
||||
}
|
||||
return UI.Question("Будет запущено " + target.tasksCount + " задач. Продолжить");
|
||||
}
|
||||
@Override
|
||||
protected void ServerAction() throws Exception {
|
||||
Command(new SafeServerExchangeUnit(ServerCode.PublishObject, user.password, target));
|
||||
pk = server_response.object;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user