рабочий вариант отдельных процессов на разные машины
This commit is contained in:
@@ -2,30 +2,23 @@ package TestingSystem.Common.MachineProcess;
|
||||
import Common.Constants;
|
||||
import Common.Current;
|
||||
import Common.Database.DBObject;
|
||||
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;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Vector;
|
||||
public class MachineProcess extends iDBObject {
|
||||
@Description("DEFAULT ''")
|
||||
public class MachineProcess extends DBObject {
|
||||
public String id = "";
|
||||
public String machineAddress = "";
|
||||
@Description("DEFAULT -1")
|
||||
public int machinePort = Constants.Nan;
|
||||
@Description("DEFAULT ''")
|
||||
public String userName = "";
|
||||
@Description("DEFAULT ''")
|
||||
public String userPassword = "";
|
||||
@Description("DEFAULT ''")
|
||||
public String userWorkspace = "";
|
||||
@Description("DEFAULT ''")
|
||||
public String testingSystemRoot = "";
|
||||
@Description("DEFAULT 'Inactive'")
|
||||
public String serverName = "";
|
||||
public MachineProcessState state = MachineProcessState.Inactive; //0 неактивен
|
||||
//--
|
||||
public MachineProcess() {
|
||||
@@ -34,12 +27,18 @@ public class MachineProcess extends iDBObject {
|
||||
SynchronizeFields(p);
|
||||
}
|
||||
public MachineProcess(DVMPackage p) {
|
||||
id = Utils.getDateName("machine_process");
|
||||
machineAddress = p.machine_address;
|
||||
machinePort = p.machine_port;
|
||||
userName = p.user_name;
|
||||
userPassword = p.user_password;
|
||||
userWorkspace = p.user_workspace;
|
||||
testingSystemRoot = Global.Home;
|
||||
serverName = Global.testingServer.name;
|
||||
}
|
||||
@Override
|
||||
public Object getPK() {
|
||||
return id;
|
||||
}
|
||||
@Override
|
||||
public void SynchronizeFields(DBObject src) {
|
||||
@@ -51,6 +50,7 @@ public class MachineProcess extends iDBObject {
|
||||
userPassword = p.userPassword;
|
||||
userWorkspace = p.userWorkspace;
|
||||
testingSystemRoot = p.testingSystemRoot;
|
||||
serverName = p.serverName;
|
||||
}
|
||||
public String getUniqueKey() {
|
||||
Vector<String> res = new Vector<>();
|
||||
@@ -61,7 +61,7 @@ public class MachineProcess extends iDBObject {
|
||||
return String.join("_", res);
|
||||
}
|
||||
public File getWorkspace() {
|
||||
return new File(Global.MachinesDirectory, String.valueOf(id));
|
||||
return new File(Global.MachinesDirectory, id);
|
||||
}
|
||||
public File getStartedFile() {
|
||||
return new File(getWorkspace(), Constants.STARTED);
|
||||
@@ -90,6 +90,7 @@ public class MachineProcess extends iDBObject {
|
||||
//создание настроек
|
||||
GlobalProperties properties = new GlobalProperties();
|
||||
properties.Mode = Current.Mode.MachineQueue;
|
||||
properties.TestingServerPort = 7996;
|
||||
Utils.jsonToFile(properties, new File(workspace, "properties"));
|
||||
Vector<String> args = new Vector<>();
|
||||
args.add(Utils.DQuotes(machineAddress));
|
||||
@@ -98,10 +99,11 @@ public class MachineProcess extends iDBObject {
|
||||
args.add(Utils.DQuotes(userPassword));
|
||||
args.add(Utils.DQuotes(userWorkspace));
|
||||
args.add(Utils.DQuotes(testingSystemRoot));
|
||||
args.add(Utils.DQuotes(Global.testingServer.name));
|
||||
//--
|
||||
Utils.startScript(workspace, workspace,
|
||||
"start",
|
||||
"java -jar VisualSapfor.jar " + String.join(" ", args));
|
||||
"java -jar VisualSapfor.jar " + String.join(" ", args)+" ");
|
||||
//---
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
package TestingSystem.Common.MachineProcess;
|
||||
import Common.Database.iDBTable;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Vector;
|
||||
public class MachineProcessDBTable extends iDBTable<MachineProcess> {
|
||||
public MachineProcessDBTable() {
|
||||
super(MachineProcess.class);
|
||||
}
|
||||
@Override
|
||||
public String getSingleDescription() {
|
||||
return "процесс машины";
|
||||
}
|
||||
@Override
|
||||
public String getPluralDescription() {
|
||||
return "процессы машины";
|
||||
}
|
||||
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);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package TestingSystem.Common.MachineProcess;
|
||||
import Common.Database.DataSet;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
public class MachineProcessSet extends DataSet<String, MachineProcess> {
|
||||
public MachineProcessSet() {
|
||||
super(String.class, MachineProcess.class);
|
||||
}
|
||||
public LinkedHashMap<String, MachineProcess> getSortedByKeys() {
|
||||
LinkedHashMap<String, MachineProcess> res = new LinkedHashMap<>();
|
||||
for (MachineProcess process : Data.values())
|
||||
res.put(process.getUniqueKey(), process);
|
||||
return res;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user