Восстановление Excel. Осталось восстановить отображение сапфора.

This commit is contained in:
2023-12-17 20:04:15 +03:00
parent eefbc25be0
commit 6011a2851c
7 changed files with 92 additions and 80 deletions

19
.idea/workspace.xml generated
View File

@@ -7,24 +7,13 @@
</component>
<component name="ChangeListManager">
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DownloadDVMPackages.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Repository/Server/ServerCode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Server/ServerCode.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPackage/TestingPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPackage/TestingPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPlanner.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingServer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestsDatabase.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestsDatabase.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackage_json.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackage_json.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTestingPlanner.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/TasksPackage/TasksPackageState.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TasksPackageState.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTestingPlanner.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddDVMPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddSapforPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddSapforPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddTasksToDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddTasksToDVMPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackagesBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackagesBar.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DownloadDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DownloadDVMPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ExportTasksPackageToExcel.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ExportTasksPackageToExcel.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DownloadDVMPackages.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DownloadDVMPackages.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ExportTasksPackageToExcel.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ExportDVMPackageToExcel.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/StartTestingPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/StartTestingPackage.java" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />

View File

@@ -26,7 +26,7 @@
"PerformanceAnalyzerPath": "",
"ComponentsBackUpsCount": 10,
"TestingKernels": 28,
"AutoCheckTesting": true,
"AutoCheckTesting": false,
"CheckTestingIntervalSeconds": 10,
"EmailOnTestingProgress": false
}

View File

@@ -8,8 +8,8 @@ public class DVMPackagesBar extends DataMenuBar {
PassCode_2021.StartDVMPackage,
PassCode_2021.DownloadDVMPackage,
PassCode_2021.AbortDVMPackage,
PassCode_2021.DeleteDVMPackage
// PassCode_2021.ExportTasksPackageToExcel,
PassCode_2021.DeleteDVMPackage,
PassCode_2021.ExportDVMPackageToExcel
);
}
}

View File

@@ -18,7 +18,6 @@ public class DownloadDVMPackage extends DownloadDVMPackages {
return false;
}
if (new File(dvmPackage.getLocalWorkspace(), Constants.LOADED).exists()) {
/// Log.Writeln_("Пакет уже загружен");
Global.testingServer.db.dvmRunTasks.ShowDVMPackage(dvmPackage);
return false;
}

View File

@@ -6,6 +6,7 @@ import Repository.Server.ServerCode;
import Repository.Server.ServerExchangeUnit_2021;
import TestingSystem.DVM.DVMPackage.DVMPackage;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.Pass_2021;
import Visual_DVM_2021.Passes.Server.TestingSystemPass;
import javafx.util.Pair;
import org.apache.commons.io.FileUtils;
@@ -13,38 +14,60 @@ import org.apache.commons.io.FileUtils;
import java.io.File;
import java.util.Date;
import java.util.Vector;
public class DownloadDVMPackages extends TestingSystemPass<Vector<Integer>> {
public class DownloadDVMPackages extends Pass_2021<Vector<Integer>> {
Vector<Pair<Integer, Pair<byte[], byte[]>>> packed_packages;
@Override
public String getIconPath() {
return "/icons/DownloadBugReport.png";
return "/icons/DownloadBugReport.png";
}
@Override
public String getButtonText() {
return "";
}
@Override
protected boolean canStart(Object... args) throws Exception {
target = (Vector<Integer>) args[0];
protected boolean needsAnimation() {
return true;
}
@Override
protected void ServerAction() throws Exception {
Command(new ServerExchangeUnit_2021(ServerCode.DownloadDVMPackages, "", target));
protected boolean canStart(Object... args) throws Exception {
target = (Vector<Integer>) args[0];
packed_packages = null;
TestingSystemPass pass = new TestingSystemPass<Vector<Integer>>() {
@Override
protected boolean canStart(Object... args) throws Exception {
target = (Vector<Integer>) args[0];
return true;
}
@Override
public String getDescription() {
return "Получение пакетов";
}
@Override
protected void ServerAction() throws Exception {
Command(new ServerExchangeUnit_2021(ServerCode.DownloadDVMPackages, "", target));
packed_packages = (Vector<Pair<Integer, Pair<byte[], byte[]>>>) response.object;
}
};
if (!pass.Do(target)) {
return false;
}
return true;
}
@Override
protected void performDone() throws Exception {
Vector<Pair<Integer, Pair<byte[], byte[]>>> res = (Vector<Pair<Integer, Pair<byte[], byte[]>>>) response.object;
for (Pair<Integer, Pair<byte[], byte[]>> p : res) {
protected void body() throws Exception {
ShowMessage1("Распаковка пакета");
for (Pair<Integer, Pair<byte[], byte[]>> p : packed_packages) {
DVMPackage dvmPackage = Global.testingServer.db.dvmPackages.get(p.getKey());
ShowMessage2(String.valueOf(dvmPackage.id));
File workspace = dvmPackage.getLocalWorkspace();
Utils.CheckAndCleanDirectory(workspace);
File results_zip = new File(workspace, "results.zip");
File results = new File(workspace, "results");
File loaded = new File(workspace, Constants.LOADED);
Pair<byte[], byte[]> packed = p.getValue();
Pair<byte[], byte[]> packed_package = p.getValue();
//---
Utils.unpackFile(packed.getKey(), results_zip);
Utils.unpackFile(packed.getValue(), dvmPackage.getJsonFile());
Utils.unpackFile(packed_package.getKey(), results_zip);
Utils.unpackFile(packed_package.getValue(), dvmPackage.getJsonFile());
passes.get(PassCode_2021.UnzipFolderPass).Do(results_zip.getAbsolutePath(), workspace.getAbsolutePath());
FileUtils.writeStringToFile(loaded, new Date().toString());
}

View File

@@ -1,4 +1,5 @@
package Visual_DVM_2021.Passes.All;
import Common.Constants;
import Common.Current;
import Common.Global;
import Common.UI.UI;
@@ -6,9 +7,11 @@ import Common.Utils.Files.VDirectoryChooser;
import Common.Utils.Index;
import Common.Utils.Utils;
import GlobalData.Tasks.TaskState;
import TestingSystem.DVM.DVMPackage.DVMPackage;
import TestingSystem.DVM.DVMTasks.DVMRunTask;
import TestingSystem.Common.TasksPackageState;
import TestingSystem.DVM.DVMPackage.DVMPackage;
import TestingSystem.DVM.DVMTasks.DVMCompilationTask;
import TestingSystem.DVM.DVMTasks.DVMRunTask;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.Pass_2021;
import org.apache.commons.io.FileUtils;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@@ -20,9 +23,8 @@ import org.apache.poi.ss.util.CellRangeAddress;
import java.awt.*;
import java.io.File;
import java.io.FileOutputStream;
import java.util.LinkedHashMap;
import java.util.Vector;
public class ExportTasksPackageToExcel extends Pass_2021<Vector<DVMPackage>> {
public class ExportDVMPackageToExcel extends Pass_2021<Vector<DVMPackage>> {
//https://tproger.ru/translations/how-to-read-write-excel-file-java-poi-example
File dir;
File res;
@@ -37,8 +39,6 @@ public class ExportTasksPackageToExcel extends Pass_2021<Vector<DVMPackage>> {
int total_tasks_count = 0;
long total_time = 0;
//--
LinkedHashMap<Integer, Vector<DVMRunTask>> packages_tasks = null;
//--
@Override
public String getIconPath() {
return "/icons/Excel.png";
@@ -56,7 +56,6 @@ public class ExportTasksPackageToExcel extends Pass_2021<Vector<DVMPackage>> {
book = null;
sheet = null;
styles = null;
packages_tasks = new LinkedHashMap<>();
target = null;
//--
if (Global.testingServer.db.dvmPackages.getCheckedCount() > 0) {
@@ -67,20 +66,20 @@ public class ExportTasksPackageToExcel extends Pass_2021<Vector<DVMPackage>> {
target.add(Current.getDVMPackage());
} else return false;
}
Vector<Integer> packagesToDownload = new Vector<>();
for (DVMPackage dvmPackage : target) {
if (!dvmPackage.state.equals(TasksPackageState.Done)) {
Log.Writeln_("Пакет " + dvmPackage.id + " не завершен.");
} else {
Vector<DVMRunTask> tasks = new Vector<>();
/* todo Загрузить и распаковать все выделенные пакеты
for (DVMRunTask task : Global.testingServer.db.testRunTasks.Data.values()) {
if (task.taskspackage_id == dvmPackage.id)
tasks.add(task);
}
*/
packages_tasks.put(dvmPackage.id, tasks);
if (!new File(dvmPackage.getLocalWorkspace(), Constants.LOADED).exists()){
packagesToDownload.add(dvmPackage.id);
}
}
}
if (!passes.get(PassCode_2021.DownloadDVMPackages).Do(packagesToDownload))
{
return false;
}
if (!Log.isEmpty())
return false;
dir = directoryChooser.ShowDialog();
@@ -302,38 +301,40 @@ public class ExportTasksPackageToExcel extends Pass_2021<Vector<DVMPackage>> {
styles.add(style);
}
}
void exportPackageTasks(DVMPackage dvmPackage, Index offset) {
Vector<DVMRunTask> tasks = packages_tasks.get(dvmPackage.id);
for (DVMRunTask task : tasks) {
ShowMessage2(task.test_description);
//---
Integer NUM_THREADS = extractIntegerEnvironmentValue(task.environments, "DVMH_NUM_THREADS");
if (NUM_THREADS != null && NUM_THREADS == 0) NUM_THREADS = 1;
Integer NUM_CUDAS = extractIntegerEnvironmentValue(task.environments, "DVMH_NUM_CUDAS");
//--
int num_threads = (NUM_THREADS != null) ? NUM_THREADS : 1;
int num_cudas = (NUM_CUDAS != null) ? NUM_CUDAS : 0;
int total_threads = num_threads * Utils.getMatrixProcessors(task.matrix);
//--
addTaskRow(offset.getValue(),
task.group_description, //0
task.test_description,//1
task.language.getDescription(), //2
task.flags, //3
task.compilation_state, //4
task.state, //5
num_threads, //6
num_cudas, //7
total_threads, //8
formatMatrix(task.matrix), //9
task.environments, //10
task.usr_par, //11
task.compilation_time, //12
task.Time,//13
task.CleanTime, //14
task.progress //15
);
offset.Inc();
void exportPackageTasks(DVMPackage dvmPackage, Index offset) throws Exception {
dvmPackage.readJson();
for (DVMCompilationTask compilationTask : dvmPackage.package_json.compilationTasks) {
for (DVMRunTask task : compilationTask.runTasks) {
ShowMessage2(task.test_description);
//---
Integer NUM_THREADS = extractIntegerEnvironmentValue(task.environments, "DVMH_NUM_THREADS");
if (NUM_THREADS != null && NUM_THREADS == 0) NUM_THREADS = 1;
Integer NUM_CUDAS = extractIntegerEnvironmentValue(task.environments, "DVMH_NUM_CUDAS");
//--
int num_threads = (NUM_THREADS != null) ? NUM_THREADS : 1;
int num_cudas = (NUM_CUDAS != null) ? NUM_CUDAS : 0;
int total_threads = num_threads * Utils.getMatrixProcessors(task.matrix);
//--
addTaskRow(offset.getValue(),
task.group_description, //0
task.test_description,//1
task.language.getDescription(), //2
task.flags, //3
task.compilation_state, //4
task.state, //5
num_threads, //6
num_cudas, //7
total_threads, //8
formatMatrix(task.matrix), //9
task.environments, //10
task.usr_par, //11
task.compilation_time, //12
task.Time,//13
task.CleanTime, //14
task.progress //15
);
offset.Inc();
}
}
}
@Override

View File

@@ -290,7 +290,7 @@ public enum PassCode_2021 {
CreateTestsFromFiles,
CreateGroupFromFiles,
DeleteSubscriberWorkspace,
ExportTasksPackageToExcel,
ExportDVMPackageToExcel,
//->
ActualizeDVMPackages,
ActualizeSapforPackages,
@@ -342,7 +342,7 @@ public enum PassCode_2021 {
return "Обновить пакеты тестирования DVM";
case ActualizeSapforPackages:
return "Обновить пакеты тестирования SAPFOR";
case ExportTasksPackageToExcel:
case ExportDVMPackageToExcel:
return "Экспорт пакета задач в Excel";
case DeleteSubscriberWorkspace:
return "Удалить рабочее пространство пользователя";