запись результатов тестирования в бд

This commit is contained in:
2023-10-25 16:33:02 +03:00
parent accf547d22
commit 2eb77faf31
14 changed files with 204 additions and 5658 deletions

View File

@@ -17,6 +17,7 @@ import Repository.Server.ServerExchangeUnit_2021;
import SapforTestingSystem.Json.SapforTasksResults_json;
import SapforTestingSystem.SapforTask.SapforTask;
import SapforTestingSystem.SapforTasksPackage.SapforTasksPackage;
import SapforTestingSystem.SapforTasksPackage.SapforTasksPackageInterface;
import SapforTestingSystem.ServerSapfor.ServerSapfor;
import TestingSystem.Group.Group;
import TestingSystem.Group.GroupInterface;
@@ -185,11 +186,22 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
)
);
} else if (object instanceof SapforTasksPackage) {
SapforTasksPackage sapforTasksPackage = (SapforTasksPackage) object;
File workspace = new File(
((SapforTasksPackage) object).workspace
sapforTasksPackage.workspace
);
System.out.println(Utils.Brackets(workspace.getAbsolutePath()));
Utils.forceDeleteWithCheck(workspace);
Utils.forceDeleteWithCheck(SapforTasksPackageInterface.getPackageArchive(sapforTasksPackage));
//внешние ключи не работают
Vector<SapforTask> tasks = new Vector<>();
for (SapforTask task : account_db.sapforTasks.Data.values()) {
if (task.sapfortaskspackage_id.equals(sapforTasksPackage.id)) // todo group_name -> group_id
tasks.add(task);
}
for (SapforTask task : tasks) {
account_db.Delete(task);
}
}
}
@Override
@@ -357,18 +369,32 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
DBObject dbObject = null;
Test test = null;
switch (code) {
case PublishSapforPackageTasks:
Print("Опубликовать задачи SAPFOR для пользователя " + request.arg);
SetCurrentAccountDB(request.arg);
Vector<Object> tasks = (Vector<Object>) request.object;
account_db.BeginTransaction();
for (Object object : tasks) {
SapforTask task = (SapforTask) object;
task.id = db.IncMaxTaskId();
if (account_db.InsertWithCheck_(task) != null)
PublishAction(task);
}
account_db.Commit();
response = new ServerExchangeUnit_2021(ServerCode.OK);
break;
case DownloadSapforTasksPackage:
Print("Загрузить пакет тестов SAPFOR " + request.object + " для пользователя " + request.arg);
SetCurrentAccountDB(request.arg);
response = new ServerExchangeUnit_2021(ServerCode.OK);
//---
if (!account_db.sapforTasksPackages.containsKey(request.object))
throw new RepositoryRefuseException("Не существует пакета с ключом "+Utils.Brackets(request.object));
throw new RepositoryRefuseException("Не существует пакета с ключом " + Utils.Brackets(request.object));
//--
SapforTasksPackage sapforTasksPackage = account_db.sapforTasksPackages.get(request.object);
//---
//1 - архивировать пакет.
File packageArchive = new File(Global.SapforPackagesDirectory, sapforTasksPackage.id+".zip");
File packageArchive = SapforTasksPackageInterface.getPackageArchive(sapforTasksPackage);
Utils.forceDeleteWithCheck(packageArchive);
//---
ZipFolderPass zip = new ZipFolderPass();
@@ -377,7 +403,6 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
Print("Архив успешно запакован");
} else throw new RepositoryRefuseException("Не удалось запаковать архив пакета");
//---
break;
case SynchronizeTests:
//временный проход. синхронизирует тесты на заданной машине, с сервера.
@@ -432,9 +457,9 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
case PublishAccountObjects:
Print("Опубликовать объекты для пользователя " + request.arg);
SetCurrentAccountDB(request.arg);
Vector<Object> objects_ = (Vector<Object>) request.object;
Vector<Object> objects__ = (Vector<Object>) request.object;
account_db.BeginTransaction();
for (Object object : objects_)
for (Object object : objects__)
if (account_db.InsertWithCheck_((DBObject) object) != null)
PublishAction((DBObject) object);
account_db.Commit();