2023-12-15 18:38:05 +03:00
|
|
|
|
package TestingSystem.SAPFOR.SapforPackage;
|
2023-12-15 18:10:27 +03:00
|
|
|
|
import Common.Constants;
|
2024-03-10 00:42:29 +03:00
|
|
|
|
import Common.Current;
|
2023-12-16 03:57:01 +03:00
|
|
|
|
import Common.Database.DBObject;
|
2023-12-15 18:38:05 +03:00
|
|
|
|
import Common.Global;
|
2024-03-07 18:56:47 +03:00
|
|
|
|
import Common.Utils.Utils;
|
2024-09-19 17:37:34 +03:00
|
|
|
|
import GlobalData.Account.Account;
|
|
|
|
|
|
import TestingSystem.Common.TasksPackageState;
|
2023-12-15 18:10:27 +03:00
|
|
|
|
import TestingSystem.Common.TestingPackage.TestingPackage;
|
2023-12-25 00:33:14 +03:00
|
|
|
|
import TestingSystem.SAPFOR.Json.SapforPackage_json;
|
2024-03-08 01:17:54 +03:00
|
|
|
|
import TestingSystem.SAPFOR.Json.SapforTestingSet_json;
|
2024-03-07 18:56:47 +03:00
|
|
|
|
import TestingSystem.SAPFOR.SapforTask.SapforTask;
|
2024-09-19 17:37:34 +03:00
|
|
|
|
import TestingSystem.SAPFOR.ServerSapfor.ServerSapfor;
|
2023-12-15 18:38:05 +03:00
|
|
|
|
|
|
|
|
|
|
import java.io.File;
|
2024-03-08 01:17:54 +03:00
|
|
|
|
import java.util.Vector;
|
2023-12-25 00:33:14 +03:00
|
|
|
|
public class SapforPackage extends TestingPackage<SapforPackage_json> {
|
2023-12-15 18:10:27 +03:00
|
|
|
|
public int sapforId = Constants.Nan; // так как сапфор на машине.
|
2024-03-07 18:56:47 +03:00
|
|
|
|
public SapforPackage() {
|
2023-12-16 03:57:01 +03:00
|
|
|
|
}
|
|
|
|
|
|
public SapforPackage(SapforPackage sapforPackage) {
|
|
|
|
|
|
SynchronizeFields(sapforPackage);
|
|
|
|
|
|
}
|
2024-09-19 17:37:34 +03:00
|
|
|
|
public SapforPackage(Account account, ServerSapfor serverSapfor) {
|
|
|
|
|
|
id = Constants.Nan;
|
|
|
|
|
|
//-
|
|
|
|
|
|
sender_name = account.name;
|
|
|
|
|
|
sender_address = account.email;
|
|
|
|
|
|
//-
|
|
|
|
|
|
sapforId = serverSapfor.id;
|
|
|
|
|
|
//-
|
|
|
|
|
|
drv = serverSapfor.call_command;
|
|
|
|
|
|
version = serverSapfor.version;
|
|
|
|
|
|
kernels = Global.properties.TestingKernels;
|
|
|
|
|
|
needsEmail = Global.properties.EmailOnTestingProgress ? 1 : 0;
|
|
|
|
|
|
///-------------------------------
|
|
|
|
|
|
package_json = new SapforPackage_json();
|
|
|
|
|
|
package_json.kernels = kernels;
|
|
|
|
|
|
package_json.sapfor_drv = serverSapfor.call_command;
|
|
|
|
|
|
//-
|
|
|
|
|
|
state = TasksPackageState.Queued;
|
|
|
|
|
|
//-
|
|
|
|
|
|
}
|
2023-12-16 03:57:01 +03:00
|
|
|
|
@Override
|
|
|
|
|
|
public void SynchronizeFields(DBObject src) {
|
|
|
|
|
|
super.SynchronizeFields(src);
|
|
|
|
|
|
SapforPackage p = (SapforPackage) src;
|
|
|
|
|
|
sapforId = p.sapforId;
|
|
|
|
|
|
}
|
2023-12-15 18:10:27 +03:00
|
|
|
|
@Override
|
|
|
|
|
|
public Class getJsonClass() {
|
2023-12-25 00:33:14 +03:00
|
|
|
|
return SapforPackage_json.class;
|
2023-12-15 18:10:27 +03:00
|
|
|
|
}
|
2023-12-15 18:38:05 +03:00
|
|
|
|
@Override
|
|
|
|
|
|
public File getHomeDirectory() {
|
|
|
|
|
|
return Global.SapforPackagesDirectory;
|
|
|
|
|
|
}
|
2024-03-07 18:56:47 +03:00
|
|
|
|
//--
|
|
|
|
|
|
public void init() throws Exception {
|
|
|
|
|
|
for (SapforTask task : package_json.tasks)
|
|
|
|
|
|
task.sapfortaskspackage_id = id;
|
|
|
|
|
|
Utils.CheckAndCleanDirectory(getLocalWorkspace());
|
|
|
|
|
|
saveJson();
|
|
|
|
|
|
package_json = null; // объект больше не нужен.
|
|
|
|
|
|
}
|
2024-03-08 01:17:54 +03:00
|
|
|
|
//-проверка, какие задачи из набора, не пересекаются с уже имеющимися в пакете.
|
2024-09-19 17:37:34 +03:00
|
|
|
|
public Vector<SapforTask> getActualTestingSetTasks(SapforTestingSet_json testingSet) {
|
2024-03-08 01:17:54 +03:00
|
|
|
|
Vector<SapforTask> possible_tasks = testingSet.createTasks();
|
|
|
|
|
|
Vector<String> keys = package_json.getTasksKeys();
|
|
|
|
|
|
Vector<SapforTask> new_tasks = new Vector<>();
|
|
|
|
|
|
//----
|
|
|
|
|
|
for (SapforTask task : possible_tasks) {
|
|
|
|
|
|
String key = task.getUniqueKey();
|
|
|
|
|
|
if (!keys.contains(key)) {
|
|
|
|
|
|
keys.add(key);
|
|
|
|
|
|
new_tasks.add(task);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return new_tasks;
|
|
|
|
|
|
}
|
2024-03-10 00:42:29 +03:00
|
|
|
|
@Override
|
|
|
|
|
|
public boolean isVisible() {
|
2024-09-19 17:37:34 +03:00
|
|
|
|
return (!SapforPackageDBTable.filterMyOnly || Current.getAccount().email.equals(sender_address)) &&
|
|
|
|
|
|
(!SapforPackageDBTable.filterActive || state.isActive())
|
2024-07-22 20:52:37 +03:00
|
|
|
|
;
|
2024-03-10 00:42:29 +03:00
|
|
|
|
}
|
2023-12-15 18:10:27 +03:00
|
|
|
|
}
|