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-14 12:14:01 +03:00
|
|
|
|
import _VisualDVM.Passes.PassCode;
|
2024-10-09 22:01:19 +03:00
|
|
|
|
import _VisualDVM.Current;
|
2024-10-12 00:17:51 +03:00
|
|
|
|
import _VisualDVM.Global;
|
2024-10-09 22:21:57 +03:00
|
|
|
|
import _VisualDVM.GlobalData.Settings.SettingName;
|
|
|
|
|
|
import _VisualDVM.TestingSystem.SAPFOR.Json.SapforVersion_json;
|
|
|
|
|
|
import _VisualDVM.TestingSystem.SAPFOR.SapforTask.SapforTask;
|
2023-11-12 02:14:20 +03:00
|
|
|
|
|
|
|
|
|
|
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> {
|
2023-11-12 02:14:20 +03:00
|
|
|
|
@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-13 22:08:13 +03:00
|
|
|
|
if (Global.mainModule.Check(Log, getCurrentName())) {
|
|
|
|
|
|
target = (SapforVersion_json) Global.mainModule.get(getCurrentName());
|
2023-11-12 02:14:20 +03:00
|
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
|
|
|
protected void body() throws Exception {
|
|
|
|
|
|
SapforTask task = target.task;
|
|
|
|
|
|
ShowMessage1("Построение дерева версий и создание баз данных...");
|
2024-10-12 00:17:51 +03:00
|
|
|
|
File rootHome = Paths.get((Global.mainModule.getDb()).settings.get(SettingName.Workspace).Value,
|
2024-10-11 00:00:30 +03:00
|
|
|
|
Utils_.getDateName(task.test_description)).toFile();
|
2023-11-12 02:14:20 +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);
|
|
|
|
|
|
}
|
2023-11-14 18:51:08 +03:00
|
|
|
|
//-второй проход это запись логов и сообщений. у вариантов их быть не может.
|
|
|
|
|
|
ShowMessage1("Прочтение журналов и сообщений..."); //без версий нельзя, иначе лишние файлы захватит.
|
|
|
|
|
|
for (SapforVersion_json version_json : task.versions) {
|
|
|
|
|
|
ShowMessage2(version_json.version);
|
|
|
|
|
|
version_json.ReadMessages();
|
|
|
|
|
|
}
|
2023-11-12 02:14:20 +03:00
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
|
|
|
protected void performDone() throws Exception {
|
2024-10-13 23:55:03 +03:00
|
|
|
|
Global.mainModule.getPass(PassCode.OpenCurrentProject).Do(target.project.Home);
|
2023-11-12 02:14:20 +03:00
|
|
|
|
}
|
|
|
|
|
|
}
|