Files
VisualSapfor/src/SapforTestingSystem/SapforTasksPackage/SapforTasksPackage.java

95 lines
3.5 KiB
Java
Raw Normal View History

2023-09-21 20:55:14 +03:00
package SapforTestingSystem.SapforTasksPackage;
import Common.Constants;
import Common.Database.DBObject;
import Common.Database.nDBObject;
2023-11-08 23:38:07 +03:00
import Common.Global;
import Common.Utils.Utils;
2023-11-07 19:13:07 +03:00
import SapforTestingSystem.Json.SapforTasksResults_json;
2023-11-08 23:38:07 +03:00
import SapforTestingSystem.SapforTask.SapforTask;
import TestingSystem.TasksPackage.TasksPackageState;
2023-09-17 22:13:42 +03:00
import com.sun.org.glassfish.gmbal.Description;
2023-11-05 19:01:03 +03:00
2023-11-08 23:38:07 +03:00
import java.io.File;
import java.nio.file.Paths;
2023-11-09 01:47:46 +03:00
import java.util.Comparator;
public class SapforTasksPackage extends nDBObject {
2023-09-27 14:13:43 +03:00
@Description("DEFAULT ''")
public String testsNames = "";//имена тестов через ; для отображения
//---
public int sapforId = Constants.Nan;
public String sapfor_version = "?"; //тестируемая версия SAPFOR
public long sapfor_build_date = 0;
public String sapfor_drv = "";
public String sapfor_process_name = "";
//---
public String workspace = ""; //домашняя папка
2023-09-17 22:13:42 +03:00
//---
public int tasksCount = 0; //Общее число задач
//---
public int needsEmail = 0;
public long StartDate = 0; //дата начала выполнения
public long ChangeDate = 0;//дата окончания выполнения
//-
public int kernels = 1; //количество потоков.
@Description("DEFAULT 'TestsSynchronize'")
public TasksPackageState state = TasksPackageState.TestsSynchronize;
@Description("DEFAULT ''")
public String testsIds = "";
@Description("DEFAULT ''")
public String configurationsIds = "";
@Description("DEFAULT ''")
public String summary = "";
@Override
public void SynchronizeFields(DBObject src) {
super.SynchronizeFields(src);
SapforTasksPackage p = (SapforTasksPackage) src;
sapforId = p.sapforId;
testsNames = p.testsNames;
sapfor_version = p.sapfor_version;
sapfor_build_date = p.sapfor_build_date;
workspace = p.workspace;
tasksCount = p.tasksCount;
StartDate = p.StartDate;
ChangeDate = p.ChangeDate;
kernels = p.kernels;
sapfor_process_name = p.sapfor_process_name;
2023-10-13 21:23:25 +03:00
state = p.state;
needsEmail = p.needsEmail;
}
2023-11-07 19:13:07 +03:00
//---
@Description("IGNORE")
public SapforTasksResults_json results = null;
2023-11-08 23:38:07 +03:00
///---
public File getArchive() {
return new File(Global.SapforPackagesDirectory, id + ".zip");
}
public File getLocalWorkspace() {
return new File(Global.SapforPackagesDirectory, id);
}
public File getLoadedSign() {
return Paths.get(Global.SapforPackagesDirectory.getAbsolutePath(), id, Constants.LOADED).toFile();
}
public boolean isLoaded() {
return getLoadedSign().exists();
}
public void readResults() {
2023-11-08 23:38:07 +03:00
File json_file = new File(getLocalWorkspace(), Constants.results_json);
results = null;
try {
results = (SapforTasksResults_json) Utils.jsonFromFile(json_file,
SapforTasksResults_json.class);
2023-11-09 01:47:46 +03:00
//----
results.tasks.sort(Comparator.comparing(SapforTask::getUniqueKey));
for (SapforTask task : results.tasks)
results.allTasks.put(task.getUniqueKey(), task);
//---
results.SortTasks(); //по состояниям конфигурациям и группам
//---
results.buildTree(this);
//---
2023-11-08 23:38:07 +03:00
} catch (Exception ex) {
ex.printStackTrace();
}
}
2023-09-17 22:13:42 +03:00
}