Восстановление 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>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment=""> <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$/.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$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" 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/DVM/DVMPackage/DVMPackagesBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackagesBar.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$/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/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/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> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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