восстановление тестирование сапфор с инкрементными ключами.
This commit is contained in:
@@ -24,6 +24,7 @@ import TestingSystem.DVM.Tasks.TestTask;
|
||||
import TestingSystem.DVM.TasksPackage.TasksPackage;
|
||||
import TestingSystem.DVM.UserConnection;
|
||||
import TestingSystem.SAPFOR.SapforTask.SapforTask;
|
||||
import TestingSystem.SAPFOR.SapforTasksPackage.SapforPackageData;
|
||||
import TestingSystem.SAPFOR.SapforTasksPackage.SapforTasksPackage;
|
||||
import TestingSystem.SAPFOR.ServerSapfor.ServerSapfor;
|
||||
import Visual_DVM_2021.Passes.All.DownloadRepository;
|
||||
@@ -35,6 +36,7 @@ import javafx.util.Pair;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.io.File;
|
||||
import java.io.Serializable;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.Comparator;
|
||||
import java.util.LinkedHashMap;
|
||||
@@ -154,7 +156,7 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
||||
//внешние ключи не работают
|
||||
Vector<SapforTask> tasks = new Vector<>();
|
||||
for (SapforTask task : account_db.sapforTasks.Data.values()) {
|
||||
if (task.sapfortaskspackage_id==sapforTasksPackage.id) // todo group_name -> group_id
|
||||
if (task.sapfortaskspackage_id == sapforTasksPackage.id) // todo group_name -> group_id
|
||||
tasks.add(task);
|
||||
}
|
||||
for (SapforTask task : tasks) {
|
||||
@@ -496,6 +498,54 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
||||
DeleteAction(account_db.DeleteByPK(to_delete.getKey(), to_delete.getValue()));
|
||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
break;
|
||||
case PublishAccountAIObject:
|
||||
Print("Опубликовать объект с автоинкрементным ключом для пользователя " + request.arg);
|
||||
SetCurrentAccountDB(request.arg);
|
||||
dbObject = (DBObject) request.object;
|
||||
account_db.Insert(dbObject); //проверка не нужна,АИ гарантирует что ключ уникален.
|
||||
PublishAction(dbObject);
|
||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
response.object = (Serializable) dbObject.getPK(); //чтобы пользователь знал, какой ключ.
|
||||
break;
|
||||
case GetActualSapforPackageData:
|
||||
Print("Запросить актуальные данные пакета");
|
||||
sapforTasksPackage = (SapforTasksPackage) request.object;
|
||||
SapforPackageData sapforPackageData = new SapforPackageData();
|
||||
Vector<String> notFoundLines = new Vector<>();
|
||||
//---
|
||||
String[] configurations = sapforTasksPackage.configurationsIds.split("\n");
|
||||
for (String id_s : configurations) {
|
||||
int id = Integer.parseInt(id_s);
|
||||
if (db.sapforConfigurations.containsKey(id)) {
|
||||
sapforPackageData.sapforConfigurations.put(id, db.sapforConfigurations.get(id));
|
||||
} else {
|
||||
notFoundLines.add("конфигурация с ключом " + id_s + " не существует");
|
||||
}
|
||||
}
|
||||
//---
|
||||
String[] tests = sapforTasksPackage.testsIds.split("\n");
|
||||
for (String id_s : tests) {
|
||||
int id = Integer.parseInt(id_s);
|
||||
if (db.tests.containsKey(id)) { //если есть тест есть и группа.
|
||||
test = db.tests.get(id);
|
||||
sapforPackageData.tests.put(id, test);
|
||||
sapforPackageData.groups.put(test.group_id, db.groups.get(test.group_id));
|
||||
} else {
|
||||
notFoundLines.add("теста с ключом " + id_s + " не существует");
|
||||
}
|
||||
}
|
||||
//--
|
||||
if (db.serverSapfors.containsKey(sapforTasksPackage.sapforId)) {
|
||||
sapforPackageData.sapfor = db.serverSapfors.get(sapforTasksPackage.sapforId);
|
||||
} else
|
||||
notFoundLines.add("версии SAPFOR с ключом" + sapforTasksPackage.sapforId + " не существует");
|
||||
//---
|
||||
if (!notFoundLines.isEmpty())
|
||||
sapforPackageData.notFound = String.join("\n", notFoundLines);
|
||||
//---
|
||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
response.object = sapforPackageData;
|
||||
break;
|
||||
default:
|
||||
throw new RepositoryRefuseException("Неподдерживаемый код: " + code);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user