Отображение результатов задач.

This commit is contained in:
2023-12-17 21:38:54 +03:00
parent 6011a2851c
commit 86c6c4700e
7 changed files with 73 additions and 25 deletions

10
.idea/workspace.xml generated
View File

@@ -8,12 +8,12 @@
<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 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$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMRunTask.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMRunTask.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/DVM/DVMTasks/DVMTask.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMTask.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/Visual_DVM_2021/Passes/All/DeleteDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DeleteDVMPackage.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/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/DeleteTestingPackages.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/DeleteTestingPackages.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" />
</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

@@ -10,6 +10,8 @@ import TestingSystem.Common.Test.TestType;
import TestingSystem.DVM.Configuration.Configuration; import TestingSystem.DVM.Configuration.Configuration;
import com.google.gson.annotations.Expose; import com.google.gson.annotations.Expose;
import java.io.File;
import java.nio.file.Paths;
import java.util.Vector; import java.util.Vector;
public class DVMRunTask extends DVMTask { public class DVMRunTask extends DVMTask {
@Expose @Expose
@@ -112,20 +114,22 @@ public class DVMRunTask extends DVMTask {
public boolean isVisible() { public boolean isVisible() {
return Global.testingServer.db.dvmRunTasks.applyFilters(this); return Global.testingServer.db.dvmRunTasks.applyFilters(this);
} }
public File getCompilationTaskWorkspace() {
return Paths.get(
Global.PackagesDirectory.getAbsolutePath(),
String.valueOf(dvm_package_id),
"results",
String.valueOf(dvmcompilationtask_id)
).toFile();
}
public String getCompilationOutput() { public String getCompilationOutput() {
return "?"; return getResultFile(new File(getCompilationTaskWorkspace(),Constants.out_file));
} }
public String getCompilationErrors() { public String getCompilationErrors() {
return "?"; return getResultFile(new File(getCompilationTaskWorkspace(),Constants.err_file));
}
public String getOutput() {
return "?";
}
public String getErrors() {
return "?";
} }
public String getStatistic() { public String getStatistic() {
return "?"; return getResultFile(new File(getLocalWorkspace(), Constants.statistic + ".txt"));
} }
} }
//-- //--

View File

@@ -2,6 +2,7 @@ package TestingSystem.DVM.DVMTasks;
import Common.Constants; import Common.Constants;
import Common.Database.DBObject; import Common.Database.DBObject;
import Common.Database.iDBObject; import Common.Database.iDBObject;
import Common.Global;
import GlobalData.Tasks.TaskState; import GlobalData.Tasks.TaskState;
import ProjectData.LanguageName; import ProjectData.LanguageName;
import TestingSystem.Common.Group.Group; import TestingSystem.Common.Group.Group;
@@ -9,11 +10,14 @@ import TestingSystem.Common.Test.Test;
import TestingSystem.Common.Test.TestType; import TestingSystem.Common.Test.TestType;
import TestingSystem.DVM.Configuration.Configuration; import TestingSystem.DVM.Configuration.Configuration;
import com.google.gson.annotations.Expose; import com.google.gson.annotations.Expose;
import com.sun.org.glassfish.gmbal.Description; import org.apache.commons.io.FileUtils;
import java.util.Date; import java.io.File;
import java.nio.file.Paths;
import java.util.Vector; import java.util.Vector;
public class DVMTask extends iDBObject { public class DVMTask extends iDBObject {
@Expose
public int dvm_package_id = Constants.Nan;
@Expose @Expose
public int group_id = Constants.Nan; public int group_id = Constants.Nan;
@Expose @Expose
@@ -60,7 +64,7 @@ public class DVMTask extends iDBObject {
public DVMTask() { public DVMTask() {
} }
public DVMTask(Configuration configuration, public DVMTask(Configuration configuration,
Group group, Test test, String flags_in) { Group group, Test test, String flags_in) {
group_id = group.id; group_id = group.id;
test_id = test.id; test_id = test.id;
group_description = group.description; group_description = group.description;
@@ -69,7 +73,34 @@ public class DVMTask extends iDBObject {
language = group.language; language = group.language;
flags = flags_in; flags = flags_in;
} }
public File getLocalWorkspace() {
return
Paths.get(Global.PackagesDirectory.getAbsolutePath(),
String.valueOf(dvm_package_id),
"results",
String.valueOf(id)).toFile();
}
public Vector<String> pack(Object arg) { public Vector<String> pack(Object arg) {
return null; return null;
} }
public String getResultFile(File resultFile) {
String res = "";
if (dvm_package_id == Constants.Nan) res = "задача ещё не выполнялась";
else {
if (resultFile.exists()) {
try {
res = FileUtils.readFileToString(resultFile);
} catch (Exception ex) {
ex.printStackTrace();
}
} else res = "не существует";
}
return res;
}
public String getOutput() {
return getResultFile(new File(getLocalWorkspace(), Constants.out_file));
}
public String getErrors() {
return getResultFile(new File(getLocalWorkspace(), Constants.err_file));
}
} }

View File

@@ -283,12 +283,10 @@ public class DVMTestingPlanner extends TestingPlanner<DVMPackage> {
unzipFolderPass.Do(results_archive.getAbsolutePath(), packageLocalWorkspace.getAbsolutePath(), false); unzipFolderPass.Do(results_archive.getAbsolutePath(), packageLocalWorkspace.getAbsolutePath(), false);
} }
//todo привязать это к настройкам, чтобы можно было включать/выключать удаление. //todo привязать это к настройкам, чтобы можно было включать/выключать удаление.
/*
//получили результат. теперь уничтожаем папку пакета на целевой машине. //получили результат. теперь уничтожаем папку пакета на целевой машине.
if ( user.connection.Exists(packageRemoteWorkspace)){ if ( user.connection.Exists(packageRemoteWorkspace)){
user.connection.RMDIR(packageRemoteWorkspace.full_name); user.connection.RMDIR(packageRemoteWorkspace.full_name);
} }
*/
} }
@Override @Override
protected void AnalyseResults() throws Exception { protected void AnalyseResults() throws Exception {
@@ -305,10 +303,12 @@ public class DVMTestingPlanner extends TestingPlanner<DVMPackage> {
int rt_count = 0; int rt_count = 0;
//-- //--
for (DVMCompilationTask compilationTask : testingPackage.package_json.compilationTasks) { for (DVMCompilationTask compilationTask : testingPackage.package_json.compilationTasks) {
compilationTask.dvm_package_id = testingPackage.id;
ct_count++; ct_count++;
File ct_workspace = Paths.get(packageLocalWorkspace.getAbsolutePath(), "results", String.valueOf(compilationTask.id)).toFile(); File ct_workspace = Paths.get(packageLocalWorkspace.getAbsolutePath(), "results", String.valueOf(compilationTask.id)).toFile();
if (ct_workspace.exists()) { if (ct_workspace.exists()) {
for (DVMRunTask runTask : compilationTask.runTasks) { for (DVMRunTask runTask : compilationTask.runTasks) {
runTask.dvm_package_id = testingPackage.id;
rt_count++; rt_count++;
runTask.compilation_state = compilationTask.state; runTask.compilation_state = compilationTask.state;
runTask.compilation_time = compilationTask.Time; runTask.compilation_time = compilationTask.Time;

View File

@@ -1,13 +1,11 @@
package Visual_DVM_2021.Passes.All; package Visual_DVM_2021.Passes.All;
import Common.Constants;
import Common.Global; import Common.Global;
import Common.UI.UI; import Common.UI.UI;
import TestingSystem.Common.TestingServer; import Common.Utils.Utils;
import TestingSystem.DVM.DVMPackage.DVMPackage; import TestingSystem.DVM.DVMPackage.DVMPackage;
import Visual_DVM_2021.Passes.DeleteServerObjects;
import Visual_DVM_2021.Passes.DeleteTestingPackages; import Visual_DVM_2021.Passes.DeleteTestingPackages;
import java.util.Vector; import java.io.File;
public class DeleteDVMPackage extends DeleteTestingPackages<DVMPackage> { public class DeleteDVMPackage extends DeleteTestingPackages<DVMPackage> {
public DeleteDVMPackage() { public DeleteDVMPackage() {
super(DVMPackage.class); super(DVMPackage.class);
@@ -16,5 +14,14 @@ public class DeleteDVMPackage extends DeleteTestingPackages<DVMPackage> {
super.showPreparation(); super.showPreparation();
UI.getMainWindow().getTestingWindow().DropTestRunTasksComparison(); UI.getMainWindow().getTestingWindow().DropTestRunTasksComparison();
} }
@Override
protected void performDone() throws Exception {
super.performDone();
for (Object object : target) {
int id = (int) object;
File workspace = new File(Global.PackagesDirectory, String.valueOf(id));
Utils.forceDeleteWithCheck(workspace);
}
}
} }

View File

@@ -8,10 +8,11 @@ import TestingSystem.DVM.DVMPackage.DVMPackage;
import java.io.File; import java.io.File;
import java.util.Vector; import java.util.Vector;
public class DownloadDVMPackage extends DownloadDVMPackages { public class DownloadDVMPackage extends DownloadDVMPackages {
DVMPackage dvmPackage;
protected boolean canStart(Object... args) throws Exception { protected boolean canStart(Object... args) throws Exception {
if (Current.Check(Log, Current.DVMPackage)) { if (Current.Check(Log, Current.DVMPackage)) {
//-- //--
DVMPackage dvmPackage = Current.getDVMPackage(); dvmPackage = Current.getDVMPackage();
//-- //--
if (!dvmPackage.state.equals(TasksPackageState.Done)) { if (!dvmPackage.state.equals(TasksPackageState.Done)) {
Log.Writeln_("Возможно скачать и отобразить задачи только завершённого пакета!"); Log.Writeln_("Возможно скачать и отобразить задачи только завершённого пакета!");
@@ -27,4 +28,8 @@ public class DownloadDVMPackage extends DownloadDVMPackages {
} }
return false; return false;
} }
@Override
protected void showDone() throws Exception {
Global.testingServer.db.dvmRunTasks.ShowDVMPackage(dvmPackage);
}
} }

View File

@@ -1,10 +1,10 @@
package Visual_DVM_2021.Passes; package Visual_DVM_2021.Passes;
import Common.Constants; import Common.Constants;
import Common.Global; import Common.Global;
import Common.UI.UI;
import TestingSystem.Common.TestingPackage.TestingPackage; import TestingSystem.Common.TestingPackage.TestingPackage;
import TestingSystem.Common.TestingServer; import TestingSystem.Common.TestingServer;
import java.io.File;
import java.util.Vector; import java.util.Vector;
public class DeleteTestingPackages<P extends TestingPackage> extends DeleteServerObjects<TestingServer, P>{ public class DeleteTestingPackages<P extends TestingPackage> extends DeleteServerObjects<TestingServer, P>{
boolean delete_draft; boolean delete_draft;
@@ -57,4 +57,5 @@ public class DeleteTestingPackages<P extends TestingPackage> extends DeleteServe
getDb().tables.get(d).Data.remove(Constants.Nan); getDb().tables.get(d).Data.remove(Constants.Nan);
getDb().tables.get(d).ShowUI(); getDb().tables.get(d).ShowUI();
} }
} }