завершение рефакторинга создания тестов из проектов.

This commit is contained in:
2023-12-02 17:35:56 +03:00
parent 8e7137d5ea
commit b1476c74d4
6 changed files with 35 additions and 43 deletions

View File

@@ -1,7 +1,8 @@
package Common.UI.Menus_2023.VersionsMenuBar;
import Common.UI.Menus_2023.VisualiserMenuBar;
import Visual_DVM_2021.Passes.PassCode_2021;
public class VersionsMenuBar extends VisualiserMenuBar {
public VersionsMenuBar(){
// addPasses(PassCode_2021.CreateTestsGroupFromSelectedVersions);
addPasses(PassCode_2021.CreateTestsGroupFromSelectedVersions);
}
}

View File

@@ -16,13 +16,19 @@ public class CreateTestFromProject extends CreateTestFromDirectory {
if (args.length == 0) {
if (Current.Check(Log, Current.Group, Current.Project)) {
project = Current.getProject();
from_directory_chooser = true;
return super.canStart(Current.getProject().Home, Current.getGroup());
if (super.canStart(Current.getProject().Home, Current.getGroup())){
from_directory_chooser = true; //чтобы опубликовал.
return true;
}
}
} else {
project = (db_project_info) args[0];
group = (Group) args[1];
from_directory_chooser = false;
//если проект не текущий, освежить его бд.
if (!Current.HasProject() || !Current.getProject().Home.equals(project.Home)) {
project.Open();
project.Close();
}
return super.canStart(project.Home, group);
}
return false;

View File

@@ -1,53 +1,43 @@
package Visual_DVM_2021.Passes.All;
import Common.Current;
import Common.UI.UI;
import Common.Utils.Utils;
import ProjectData.Project.db_project_info;
import TestingSystem.Common.Test.Test;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.Pass_2021;
public class CreateTestsGroupFromSelectedVersions extends Pass_2021 {
/*
Vector<db_project_info> versions = new Vector<>();
import java.util.Vector;
public class CreateTestsGroupFromSelectedVersions extends PublishTests {
@Override
public String getIconPath() {
return "/icons/Publish.png";
}
@Override
protected boolean getGroup() {
if (Current.Check(Log, Current.Group)) {
group = Current.getGroup();
return true;
}
return false;
protected PassCode_2021 getCreateTestCode() {
return PassCode_2021.CreateTestFromProject;
}
@Override
protected boolean canStart(Object... args) throws Exception {
if (!Current.getAccount().CheckRegistered(Log))
return false;
//---
target = new Vector<>();
//--------------------------
group = null;
if (!getGroup()) return false;
if (group == null) {
Log.Writeln_("Группа не выбрана.");
//---
if (Current.Check(Log, Current.Group)) {
group = Current.getGroup();
} else
return false;
}
if (!Global.versions_multiselection) {
Log.Writeln_("Нажмите правую клавишу мыши, и перейдите в режим выбора версий.");
return false;
}
versions = new Vector<>();
//---------------------
Vector<db_project_info> versions = new Vector<>();
Current.getRoot().getSelectedVersions(versions);
if (versions.size() == 0) {
if (versions.isEmpty()) {
Log.Writeln_("Не отмечено ни одной версии.");
return false;
}
//---
passes.get(PassCode_2021.CloseCurrentProject).Do();
//---
CreateTestFromProject createTestFromProject = (CreateTestFromProject) passes.get(PassCode_2021.CreateTestFromProject);
Pass_2021 createTestPass = passes.get(getCreateTestCode());
//---
for (db_project_info version : versions) {
version.Open();
version.Close();
if (createTestFromProject.Do(version, group))
target.add(createTestFromProject.target);
if (createTestPass.Do(version, group))
target.add((Test) createTestPass.target);
}
//---
if (target.isEmpty()) {
@@ -58,5 +48,4 @@ public class CreateTestsGroupFromSelectedVersions extends Pass_2021 {
return UI.Question("В группу " + Utils.Brackets(group.description) +
"\nбудет добавлено " + target.size() + " тестов.\родолжить");
}
*/
}

View File

@@ -41,7 +41,7 @@ public abstract class PublishTests extends TestingSystemPass<Vector<Test>> {
}
//--
protected abstract PassCode_2021 getCreateTestCode();
protected abstract String getNoFilesMessage();
protected String getNoFilesMessage(){return "";};
//--
@Override
protected boolean canStart(Object... args) throws Exception {

View File

@@ -318,7 +318,7 @@ public enum PassCode_2021 {
case SPF_RemoveComments:
return "Удаление комментариев";
case CreateTestFromProject:
return "Создать тест из текущего проекта";
return "Создать тест из проекта";
case CreateTestFromDirectory:
return "Создать тест из папки";
case SPF_RemoveOmpDirectives: