Files
VisualSapfor/src/_VisualDVM/Passes/Sapfor/OpenSapforVersionPass.java

61 lines
2.3 KiB
Java
Raw Normal View History

2024-10-14 12:14:01 +03:00
package _VisualDVM.Passes.Sapfor;
2024-10-10 23:57:36 +03:00
import Common.Passes.Pass;
2024-10-11 00:00:30 +03:00
import Common.Utils.Utils_;
2024-10-09 22:01:19 +03:00
import _VisualDVM.Current;
2024-10-12 00:17:51 +03:00
import _VisualDVM.Global;
2024-10-14 15:19:13 +03:00
import _VisualDVM.Passes.PassCode;
2025-01-17 01:55:37 +03:00
import _VisualDVM.Repository.Component.ComponentsSet;
2024-10-09 22:21:57 +03:00
import _VisualDVM.TestingSystem.SAPFOR.Json.SapforVersion_json;
import _VisualDVM.TestingSystem.SAPFOR.SapforTask.SapforTask;
import java.io.File;
import java.nio.file.Paths;
2024-10-09 23:37:58 +03:00
public abstract class OpenSapforVersionPass extends Pass<SapforVersion_json> {
@Override
public String getIconPath() {
return "/icons/OpenProject.png";
}
@Override
public String getButtonText() {
return "";
}
public abstract Current getCurrentName();
@Override
protected boolean needsAnimation() {
return true;
}
@Override
protected boolean canStart(Object... args) throws Exception {
if (Global.mainModule.Check(Log, getCurrentName())) {
target = (SapforVersion_json) Global.mainModule.get(getCurrentName());
return true;
}
return false;
}
@Override
protected void body() throws Exception {
SapforTask task = target.task;
ShowMessage1("Построение дерева версий и создание баз данных...");
File rootHome = new File(Global.DownloadsDirectory, Utils_.getDateName(task.test_description));
2025-01-17 01:55:37 +03:00
for (SapforVersion_json version_json : task.versions) {
ShowMessage2(version_json.version);
version_json.createProject(rootHome);
}
for (SapforVersion_json version_json : task.variants) {
ShowMessage2(version_json.version);
version_json.createProject(rootHome);
}
//-второй проход это запись логов и сообщений. у вариантов их быть не может.
ShowMessage1("Прочтение журналов и сообщений..."); //без версий нельзя, иначе лишние файлы захватит.
for (SapforVersion_json version_json : task.versions) {
ShowMessage2(version_json.version);
version_json.ReadMessages();
}
}
@Override
protected void performDone() throws Exception {
Global.mainModule.getPass(PassCode.OpenCurrentProject).Do(target.project.Home);
}
}