Files
VisualSapfor/src/Visual_DVM_2021/Passes/OpenSapforVersionPass.java

60 lines
2.4 KiB
Java
Raw Normal View History

package Visual_DVM_2021.Passes;
2024-10-09 23:37:58 +03:00
import Common.Current_;
2024-10-07 22:22:51 +03:00
import Common.Utils.CommonUtils;
2024-10-09 22:01:19 +03:00
import _VisualDVM.Current;
2024-10-09 22:21:57 +03:00
import _VisualDVM.GlobalData.GlobalDatabase;
import _VisualDVM.GlobalData.Settings.SettingName;
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 {
2024-10-09 23:37:58 +03:00
if (Current_.Check(Log, getCurrentName())) {
target = (SapforVersion_json) Current_.get(getCurrentName());
return true;
}
return false;
}
@Override
protected void body() throws Exception {
SapforTask task = target.task;
ShowMessage1("Построение дерева версий и создание баз данных...");
2024-10-08 22:33:49 +03:00
File rootHome = Paths.get(((GlobalDatabase)CommonUtils.db).settings.get(SettingName.Workspace).Value,
2024-10-07 22:22:51 +03:00
CommonUtils.getDateName(task.test_description)).toFile();
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 {
2024-10-09 23:37:58 +03:00
passes.get(PassCode.OpenCurrentProject).Do(target.project.Home);
}
}