60 lines
2.4 KiB
Java
60 lines
2.4 KiB
Java
package Visual_DVM_2021.Passes;
|
||
import Common.Current_;
|
||
import Common.Utils.CommonUtils;
|
||
import _VisualDVM.Current;
|
||
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;
|
||
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 (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("Построение дерева версий и создание баз данных...");
|
||
File rootHome = Paths.get(((GlobalDatabase)CommonUtils.db).settings.get(SettingName.Workspace).Value,
|
||
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 {
|
||
passes.get(PassCode.OpenCurrentProject).Do(target.project.Home);
|
||
}
|
||
}
|