2023-11-19 02:12:44 +03:00
|
|
|
|
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;
|
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-09 23:37:58 +03:00
|
|
|
|
if (Current_.Check(Log, getCurrentName())) {
|
|
|
|
|
|
target = (SapforVersion_json) Current_.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-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();
|
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-09 23:37:58 +03:00
|
|
|
|
passes.get(PassCode.OpenCurrentProject).Do(target.project.Home);
|
2023-11-12 02:14:20 +03:00
|
|
|
|
}
|
|
|
|
|
|
}
|