no message

This commit is contained in:
2024-04-23 00:36:37 +03:00
parent 5f7b600c6d
commit cefbd875c8
4 changed files with 97 additions and 23 deletions

View File

@@ -6,6 +6,7 @@ import Common.Database.iDBObject;
import Common.Global;
import Common.GlobalProperties;
import Common.Utils.Utils;
import TestingSystem.DVM.DVMPackage.DVMPackage;
import com.sun.org.glassfish.gmbal.Description;
import org.apache.commons.io.FileUtils;
@@ -32,6 +33,14 @@ public class MachineProcess extends iDBObject {
public MachineProcess(MachineProcess p) {
SynchronizeFields(p);
}
public MachineProcess(DVMPackage p) {
machineAddress = p.machine_address;
machinePort = p.machine_port;
userName = p.user_name;
userPassword = p.user_password;
userWorkspace = p.user_workspace;
testingSystemRoot = Global.Home;
}
@Override
public void SynchronizeFields(DBObject src) {
super.SynchronizeFields(src);
@@ -43,9 +52,18 @@ public class MachineProcess extends iDBObject {
userWorkspace = p.userWorkspace;
testingSystemRoot = p.testingSystemRoot;
}
public String getUniqueKey(){
Vector<String> res = new Vector<>();
res.add(machineAddress);
res.add(String.valueOf(machinePort));
res.add(userName);
res.add(userWorkspace);
return String.join("_", res);
}
public File getWorkspace() {
return new File(Global.MachinesDirectory, String.valueOf(id));
}
public File getAbortedFile() {
return new File(getWorkspace(), Constants.ABORTED);
}

View File

@@ -1,6 +1,7 @@
package TestingSystem.Common.MachineProcess;
import Common.Database.iDBTable;
import java.util.LinkedHashMap;
import java.util.Vector;
public class MachineProcessDBTable extends iDBTable<MachineProcess> {
public MachineProcessDBTable() {
@@ -14,18 +15,12 @@ public class MachineProcessDBTable extends iDBTable<MachineProcess> {
public String getPluralDescription() {
return "процессы машины";
}
public void checkProcesses() throws Exception {
Vector<MachineProcess> toUpdate = new Vector<>();
for (MachineProcess machineProcess : Data.values()) {
if (machineProcess.isAborted()) {
toUpdate.add(machineProcess);
}
public LinkedHashMap<String, MachineProcess> getActiveSortedByKeys(){
LinkedHashMap<String, MachineProcess> res = new LinkedHashMap<>();
for (MachineProcess process: Data.values()){
if (process.state.equals(MachineProcessState.Active))
res.put(process.getUniqueKey(), process);
}
getDb().BeginTransaction();
for (MachineProcess machineProcess: toUpdate){
machineProcess.state = MachineProcessState.Aborted;
getDb().Update(machineProcess);
}
getDb().Commit();
return res;
}
}