Фильтры у групп, и тестов изменены на фильтры по ИЛИ. Отдельные виды фильтров ( например язык тестов и тип тестов, все еще взаимодействут по И)

Добавлена возможность экспорта соответствующих фильтрам задач пакета DVM в Excel.

v++
This commit is contained in:
2023-12-07 02:05:08 +03:00
parent 540c041408
commit 2044ff4320
7 changed files with 92 additions and 42 deletions

View File

@@ -10,6 +10,7 @@ import ProjectData.LanguageName;
import TestingSystem.Common.Group.UI.GroupFields;
import TestingSystem.Common.Test.Test;
import TestingSystem.Common.Test.TestType;
import TestingSystem.DVM.Tasks.TestRunTask;
import javax.swing.*;
import java.util.LinkedHashMap;
@@ -82,11 +83,20 @@ public class GroupsDBTable extends iDBTable<Group> {
filter.ShowDescriptionAndCount();
}
public boolean applyFilters(Group object) {
for (TableFilter filter : typeFilters)
if (!filter.Validate(object)) return false;
for (TableFilter filter : languageFilters)
if (!filter.Validate(object)) return false;
return true;
boolean type = false;
//возвращать сразу нельзя. иначе количество не посчитает.
for (TableFilter filter : typeFilters) {
if (filter.Validate(object)) {
type |= true;
}
}
boolean language = false;
for (TableFilter filter : languageFilters) {
if (filter.Validate(object)) {
language |= true;
}
}
return type&&language;
}
@Override
public void ShowUI() {

View File

@@ -15,6 +15,7 @@ import java.util.Vector;
import static Common.UI.Tables.TableRenderers.RendererProgress;
import static Common.UI.Tables.TableRenderers.RendererStatusEnum;
public class TestRunTasksDBTable extends DBTable<Long, TestRunTask> {
//todo обобщить бы наличие фильтров для всех таблиц.
public Vector<TableFilter<TestRunTask>> compilationFilters;
public Vector<TableFilter<TestRunTask>> runFilters;
public TestRunTasksDBTable() {
@@ -62,11 +63,20 @@ public class TestRunTasksDBTable extends DBTable<Long, TestRunTask> {
}
}
public boolean applyFilters(TestRunTask object) {
for (TableFilter<TestRunTask> filter : compilationFilters)
if (!filter.Validate(object)) return false;
for (TableFilter<TestRunTask> filter : runFilters)
if (!filter.Validate(object)) return false;
return true;
boolean compilation = false;
//возвращать сразу нельзя. иначе количество не посчитает.
for (TableFilter filter : compilationFilters) {
if (filter.Validate(object)) {
compilation |= true;
}
}
boolean run = false;
for (TableFilter filter : runFilters) {
if (filter.Validate(object)) {
run |= true;
}
}
return compilation&&run;
}
@Override
public String getSingleDescription() {