Обощение массовой загрузки пакетов с сервера.
This commit is contained in:
@@ -219,6 +219,10 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
||||
Print("Загрузить пакет DVM");
|
||||
DownloadDVMPackage();
|
||||
break;
|
||||
case DownloadDVMPackages:
|
||||
Print("Загрузить пакеты DVM");
|
||||
DownloadDVMPackages();
|
||||
break;
|
||||
default:
|
||||
throw new RepositoryRefuseException("Неподдерживаемый код: " + code);
|
||||
}
|
||||
@@ -433,4 +437,19 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
||||
File package_json = dvmPackage.getJsonFile();
|
||||
response.object = new Pair(Utils.packFile(results_zip), Utils.packFile(package_json));
|
||||
}
|
||||
private void DownloadDVMPackages() throws Exception {
|
||||
Vector<Integer> ids = (Vector<Integer>) request.object;
|
||||
Vector<Pair<Integer, Pair<byte[], byte[]>>> res = new Vector<>();
|
||||
for (int dvmPackage_id : ids) {
|
||||
if (!db.dvmPackages.containsKey(dvmPackage_id))
|
||||
throw new RepositoryRefuseException("Не найдено пакета тестирования DVM с ключом " + dvmPackage_id);
|
||||
DVMPackage dvmPackage = db.dvmPackages.get(dvmPackage_id);
|
||||
File workspace = dvmPackage.getLocalWorkspace();
|
||||
File results_zip = new File(workspace, "results.zip");
|
||||
File package_json = dvmPackage.getJsonFile();
|
||||
res.add(new Pair<>(dvmPackage_id, new Pair(Utils.packFile(results_zip), Utils.packFile(package_json))));
|
||||
}
|
||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
response.object = res;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user