2023-11-19 02:12:44 +03:00
|
|
|
|
package Visual_DVM_2021.Passes.All;
|
2023-11-20 00:15:22 +03:00
|
|
|
|
import Common.Constants;
|
2023-09-17 22:13:42 +03:00
|
|
|
|
import Common.Current;
|
|
|
|
|
|
import Common.Global;
|
|
|
|
|
|
import Common.UI.UI;
|
|
|
|
|
|
import Common.Utils.Utils;
|
|
|
|
|
|
import ProjectData.Project.db_project_info;
|
2023-11-24 20:51:16 +03:00
|
|
|
|
import TestingSystem.Common.Test.Test;
|
2023-11-19 02:12:44 +03:00
|
|
|
|
import Visual_DVM_2021.Passes.PassCode_2021;
|
|
|
|
|
|
import Visual_DVM_2021.Passes.Pass_2021;
|
2023-09-17 22:13:42 +03:00
|
|
|
|
|
|
|
|
|
|
import java.util.Vector;
|
|
|
|
|
|
public class CreateTestsGroupFromSelectedVersions extends Pass_2021<Vector<db_project_info>> {
|
2023-11-20 00:15:22 +03:00
|
|
|
|
int group_id;
|
|
|
|
|
|
int test_id;
|
2023-11-24 20:51:16 +03:00
|
|
|
|
Vector<Test> tests = new Vector<>();
|
2023-09-17 22:13:42 +03:00
|
|
|
|
@Override
|
|
|
|
|
|
protected boolean needsAnimation() {
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
|
|
|
public String getIconPath() {
|
2023-11-20 00:31:37 +03:00
|
|
|
|
return "/icons/Publish.png";
|
2023-09-17 22:13:42 +03:00
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
|
|
|
public String getButtonText() {
|
|
|
|
|
|
return "";
|
|
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
|
|
|
protected boolean canStart(Object... args) throws Exception {
|
2023-11-20 00:15:22 +03:00
|
|
|
|
group_id = Constants.Nan;
|
|
|
|
|
|
test_id = Constants.Nan;
|
2023-11-24 20:51:16 +03:00
|
|
|
|
tests = new Vector<>();
|
2023-09-17 22:13:42 +03:00
|
|
|
|
if (!Current.getAccount().CheckRegistered(Log))
|
|
|
|
|
|
return false;
|
|
|
|
|
|
if (!Global.versions_multiselection) {
|
|
|
|
|
|
Log.Writeln_("Нажмите правую клавишу мыши, и перейдите в режим выбора версий.");
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
2023-11-20 00:31:37 +03:00
|
|
|
|
if (!Current.Check(Log, Current.Group)) {
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
2023-09-17 22:13:42 +03:00
|
|
|
|
target = new Vector<>();
|
2023-11-20 00:31:37 +03:00
|
|
|
|
group_id = Current.getGroup().id;
|
2023-09-17 22:13:42 +03:00
|
|
|
|
Current.getRoot().getSelectedVersions(target);
|
|
|
|
|
|
if (target.size() == 0) {
|
|
|
|
|
|
Log.Writeln_("Не отмечено ни одной версии.");
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
if (Current.getProject().hasSubdirectories()) {
|
|
|
|
|
|
Log.Writeln_("Запрещено добавлять тестовые проекты, содержащие подпапки!");
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
String cp_info = "";
|
|
|
|
|
|
if (Current.HasProject()) {
|
|
|
|
|
|
for (db_project_info version : target) {
|
|
|
|
|
|
if (version.Home.getAbsolutePath().equals(Current.getProject().Home.getAbsolutePath())) {
|
|
|
|
|
|
cp_info = "Текущий проект будет закрыт.";
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2023-11-20 00:31:37 +03:00
|
|
|
|
return UI.Question("В текущую группу " + Utils.Brackets(Current.getGroup().description) +
|
|
|
|
|
|
"\nбудет добавлено " + target.size() + " тестов.\n" + cp_info +
|
2023-09-17 22:13:42 +03:00
|
|
|
|
"\nПродолжить");
|
|
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
|
|
|
protected void showPreparation() throws Exception {
|
2023-11-13 21:07:44 +03:00
|
|
|
|
UI.testingBar.ShowAutoCheckTesting();
|
2023-09-17 22:13:42 +03:00
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
|
|
|
protected void body() throws Exception {
|
2023-11-24 20:51:16 +03:00
|
|
|
|
ShowMessage1("Создание тестов");
|
2023-11-24 22:30:51 +03:00
|
|
|
|
CreateTestFromDirectory createTestFromDirectory = (CreateTestFromDirectory) passes.get(PassCode_2021.CreateTestFromDirectory);
|
2023-11-24 20:51:16 +03:00
|
|
|
|
PublishTests publishTests = (PublishTests) passes.get(PassCode_2021.PublishTests);
|
2023-11-20 00:31:37 +03:00
|
|
|
|
for (db_project_info vizTestProject : target) {
|
2023-11-24 20:51:16 +03:00
|
|
|
|
ShowMessage2(vizTestProject.name);
|
2023-11-24 22:30:51 +03:00
|
|
|
|
if (createTestFromDirectory.Do(vizTestProject.Home, Current.getGroup())) {
|
|
|
|
|
|
tests.add(createTestFromDirectory.target);
|
2023-11-24 20:51:16 +03:00
|
|
|
|
} else break;
|
2023-09-17 22:13:42 +03:00
|
|
|
|
}
|
2023-11-24 20:51:16 +03:00
|
|
|
|
System.out.println("tests created " + tests.size());
|
|
|
|
|
|
ShowMessage1("Публикация тестов");
|
|
|
|
|
|
publishTests.Do(tests);
|
2023-09-17 22:13:42 +03:00
|
|
|
|
}
|
|
|
|
|
|
@Override
|
2023-11-20 22:29:38 +03:00
|
|
|
|
protected void performFinish() throws Exception {
|
|
|
|
|
|
passes.get(PassCode_2021.SynchronizeTests).Do();
|
|
|
|
|
|
}
|
|
|
|
|
|
@Override
|
2023-09-17 22:13:42 +03:00
|
|
|
|
protected void FocusResult() {
|
2023-11-20 00:15:22 +03:00
|
|
|
|
UI.getMainWindow().FocusTests();
|
2023-09-17 22:13:42 +03:00
|
|
|
|
}
|
|
|
|
|
|
}
|