v++
рефактиринг фильтров завершен.
This commit is contained in:
4
.idea/workspace.xml
generated
4
.idea/workspace.xml
generated
@@ -7,9 +7,11 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/Common/Database/DataSetFilter.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Database/DataSetFilter.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Common/Database/DataSetFilter.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Database/DataSetFilter.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/Group/GroupsDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/Group/GroupsDBTable.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/Group/GroupsDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/Group/GroupsDBTable.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/Group/GroupsMenuBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/Group/GroupsMenuBar.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMRunTasksBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMRunTasksBar.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMRunTasksSet.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMRunTasksSet.java" afterDir="false" />
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
package Common.Database;
|
package Common.Database;
|
||||||
import Common.UI.Menus.VisualiserMenuItem;
|
|
||||||
import Common.UI.Menus_2023.StableMenuItem;
|
import Common.UI.Menus_2023.StableMenuItem;
|
||||||
import Common.UI.Menus_2023.VisualiserMenu;
|
import Common.UI.Menus_2023.VisualiserMenu;
|
||||||
|
|
||||||
@@ -14,14 +13,14 @@ public abstract class DataSetFilter<D extends DBObject> {
|
|||||||
//JMenuItem bSelectAll;
|
//JMenuItem bSelectAll;
|
||||||
//JMenuItem bUnSelectAll;
|
//JMenuItem bUnSelectAll;
|
||||||
//--
|
//--
|
||||||
protected Vector<DBObjectFilter<D>> filters;
|
protected Vector<DBObjectFilter<D>> field_filters;
|
||||||
public DataSetFilter(String name, DataSet dataSet_in) {
|
public DataSetFilter(String name, DataSet dataSet_in) {
|
||||||
dataSet = dataSet_in;
|
dataSet = dataSet_in;
|
||||||
menu = new VisualiserMenu(name, "/icons/Filter.png", true);
|
menu = new VisualiserMenu(name, "/icons/Filter.png", true);
|
||||||
filters = new Vector<>();
|
field_filters = new Vector<>();
|
||||||
fill();
|
fill();
|
||||||
//-
|
//-
|
||||||
for (DBObjectFilter<D> filter : filters)
|
for (DBObjectFilter<D> filter : field_filters)
|
||||||
menu.add(filter.menuItem);
|
menu.add(filter.menuItem);
|
||||||
menu.addSeparator();
|
menu.addSeparator();
|
||||||
menu.add(new StableMenuItem("Выбрать всё", "/icons/SelectAll.png") {
|
menu.add(new StableMenuItem("Выбрать всё", "/icons/SelectAll.png") {
|
||||||
@@ -48,20 +47,20 @@ public abstract class DataSetFilter<D extends DBObject> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
void selectAll(boolean flag) {
|
void selectAll(boolean flag) {
|
||||||
for (DBObjectFilter filter : filters)
|
for (DBObjectFilter filter : field_filters)
|
||||||
filter.setActive(flag);
|
filter.setActive(flag);
|
||||||
}
|
}
|
||||||
public abstract void fill();
|
public abstract void fill();
|
||||||
public void Drop() {
|
public void Drop() {
|
||||||
for (DBObjectFilter<D> filter : filters)
|
for (DBObjectFilter<D> filter : field_filters)
|
||||||
filter.Drop();
|
filter.Drop();
|
||||||
}
|
}
|
||||||
public void Refresh() {
|
public void Refresh() {
|
||||||
for (DBObjectFilter<D> filter : filters)
|
for (DBObjectFilter<D> filter : field_filters)
|
||||||
filter.Refresh();
|
filter.Refresh();
|
||||||
}
|
}
|
||||||
public boolean isActive() {
|
public boolean isActive() {
|
||||||
for (DBObjectFilter<D> filter : filters) {
|
for (DBObjectFilter<D> filter : field_filters) {
|
||||||
if (filter.isActive())
|
if (filter.isActive())
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -70,12 +69,12 @@ public abstract class DataSetFilter<D extends DBObject> {
|
|||||||
public boolean Validate(D object) {
|
public boolean Validate(D object) {
|
||||||
if (!isActive()) {
|
if (!isActive()) {
|
||||||
//считаем без учета результатов
|
//считаем без учета результатов
|
||||||
for (DBObjectFilter<D> filter : filters)
|
for (DBObjectFilter<D> filter : field_filters)
|
||||||
filter.Validate(object);
|
filter.Validate(object);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
boolean res = false;
|
boolean res = false;
|
||||||
for (DBObjectFilter<D> filter : filters)
|
for (DBObjectFilter<D> filter : field_filters)
|
||||||
if (filter.Validate(object))
|
if (filter.Validate(object))
|
||||||
res |= true;
|
res |= true;
|
||||||
return res;
|
return res;
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ public class Visualiser extends Component {
|
|||||||
//http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html
|
//http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html
|
||||||
@Override
|
@Override
|
||||||
public void GetVersionInfo() {
|
public void GetVersionInfo() {
|
||||||
version = 1058;
|
version = 1059;
|
||||||
String pattern = "MMM dd yyyy HH:mm:ss";
|
String pattern = "MMM dd yyyy HH:mm:ss";
|
||||||
DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH);
|
DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH);
|
||||||
date_text = df.format(getClassBuildTime());
|
date_text = df.format(getClassBuildTime());
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package TestingSystem.Common.Group;
|
|||||||
import Common.Current;
|
import Common.Current;
|
||||||
import Common.Database.*;
|
import Common.Database.*;
|
||||||
import Common.UI.DataSetControlForm;
|
import Common.UI.DataSetControlForm;
|
||||||
import Common.UI.Menus_2023.DataMenuBar;
|
|
||||||
import Common.UI.UI;
|
import Common.UI.UI;
|
||||||
import Common.UI.Windows.Dialog.DBObjectDialog;
|
import Common.UI.Windows.Dialog.DBObjectDialog;
|
||||||
import ProjectData.LanguageName;
|
import ProjectData.LanguageName;
|
||||||
@@ -10,9 +9,7 @@ import TestingSystem.Common.Group.UI.GroupFields;
|
|||||||
import TestingSystem.Common.Test.Test;
|
import TestingSystem.Common.Test.Test;
|
||||||
import TestingSystem.Common.Test.TestType;
|
import TestingSystem.Common.Test.TestType;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.Vector;
|
|
||||||
//-
|
//-
|
||||||
public class GroupsDBTable extends iDBTable<Group> {
|
public class GroupsDBTable extends iDBTable<Group> {
|
||||||
public static boolean filterMyOnly = false;
|
public static boolean filterMyOnly = false;
|
||||||
@@ -26,7 +23,7 @@ public class GroupsDBTable extends iDBTable<Group> {
|
|||||||
@Override
|
@Override
|
||||||
public void fill() {
|
public void fill() {
|
||||||
for (TestType type : TestType.values())
|
for (TestType type : TestType.values())
|
||||||
filters.add(new DBObjectFilter<Group>(dataSet, type.getDescription()) {
|
field_filters.add(new DBObjectFilter<Group>(dataSet, type.getDescription()) {
|
||||||
@Override
|
@Override
|
||||||
protected boolean validate(Group object) {
|
protected boolean validate(Group object) {
|
||||||
return object.type.equals(type);
|
return object.type.equals(type);
|
||||||
@@ -38,7 +35,7 @@ public class GroupsDBTable extends iDBTable<Group> {
|
|||||||
@Override
|
@Override
|
||||||
public void fill() {
|
public void fill() {
|
||||||
for (LanguageName languageName : LanguageName.values()) {
|
for (LanguageName languageName : LanguageName.values()) {
|
||||||
filters.add(new DBObjectFilter<Group>(dataSet, languageName.getDescription()) {
|
field_filters.add(new DBObjectFilter<Group>(dataSet, languageName.getDescription()) {
|
||||||
@Override
|
@Override
|
||||||
protected boolean validate(Group object) {
|
protected boolean validate(Group object) {
|
||||||
return object.language.equals(languageName);
|
return object.language.equals(languageName);
|
||||||
|
|||||||
@@ -35,18 +35,4 @@ public class GroupsMenuBar extends DataMenuBar {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
public void addFilters(JMenu typesFilterMenu, JMenu languagesFilterMenu) {
|
|
||||||
filters = addMenus(typesFilterMenu, languagesFilterMenu);
|
|
||||||
}
|
|
||||||
JMenuBar filters= null;
|
|
||||||
public void DropFilters() {
|
|
||||||
if (filters != null) {
|
|
||||||
remove(filters);
|
|
||||||
filters = null;
|
|
||||||
}
|
|
||||||
revalidate();
|
|
||||||
repaint();
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,18 +5,6 @@ import Visual_DVM_2021.Passes.PassCode_2021;
|
|||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
public class DVMRunTasksBar extends DataMenuBar {
|
public class DVMRunTasksBar extends DataMenuBar {
|
||||||
JMenuBar filters= null;
|
|
||||||
public void DropFilters() {
|
|
||||||
if (filters != null) {
|
|
||||||
remove(filters);
|
|
||||||
filters = null;
|
|
||||||
}
|
|
||||||
revalidate();
|
|
||||||
repaint();
|
|
||||||
}
|
|
||||||
public void addFilters(JMenu cFilterMenu, JMenu rFilterMenu) {
|
|
||||||
filters= addMenus(cFilterMenu, rFilterMenu);
|
|
||||||
}
|
|
||||||
public DVMRunTasksBar() {
|
public DVMRunTasksBar() {
|
||||||
super("задачи", PassCode_2021.DownloadTaskTest);
|
super("задачи", PassCode_2021.DownloadTaskTest);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,116 +1,52 @@
|
|||||||
package TestingSystem.DVM.DVMTasks;
|
package TestingSystem.DVM.DVMTasks;
|
||||||
import Common.Current;
|
import Common.Current;
|
||||||
import Common.Database.DataSet;
|
|
||||||
import Common.Database.DBObjectFilter;
|
import Common.Database.DBObjectFilter;
|
||||||
|
import Common.Database.DataSet;
|
||||||
|
import Common.Database.DataSetFilter;
|
||||||
import Common.UI.DataSetControlForm;
|
import Common.UI.DataSetControlForm;
|
||||||
import Common.UI.Menus_2023.VisualiserMenu;
|
|
||||||
import Common.UI.UI;
|
|
||||||
import GlobalData.Tasks.TaskState;
|
import GlobalData.Tasks.TaskState;
|
||||||
import TestingSystem.DVM.DVMPackage.DVMPackage;
|
import TestingSystem.DVM.DVMPackage.DVMPackage;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.util.Vector;
|
|
||||||
|
|
||||||
import static Common.UI.Tables.TableRenderers.RendererProgress;
|
import static Common.UI.Tables.TableRenderers.RendererProgress;
|
||||||
import static Common.UI.Tables.TableRenderers.RendererStatusEnum;
|
import static Common.UI.Tables.TableRenderers.RendererStatusEnum;
|
||||||
public class DVMRunTasksSet extends DataSet<Integer, DVMRunTask> {
|
public class DVMRunTasksSet extends DataSet<Integer, DVMRunTask> {
|
||||||
//todo обобщить бы наличие фильтров для всех таблиц.
|
//todo обобщить бы наличие фильтров для всех таблиц.
|
||||||
public Vector<DBObjectFilter<DVMRunTask>> compilationFilters;
|
|
||||||
public Vector<DBObjectFilter<DVMRunTask>> runFilters;
|
|
||||||
DVMPackage target;
|
DVMPackage target;
|
||||||
|
@Override
|
||||||
|
protected void createFilters() {
|
||||||
|
filters.add(new DataSetFilter<DVMRunTask>("Компиляция", this) {
|
||||||
|
@Override
|
||||||
|
public void fill() {
|
||||||
|
for (TaskState state : TaskState.values()) {
|
||||||
|
if (state.isVisible()) {
|
||||||
|
field_filters.add(new DBObjectFilter<DVMRunTask>(dataSet, state.getDescription()) {
|
||||||
|
@Override
|
||||||
|
protected boolean validate(DVMRunTask object) {
|
||||||
|
return object.compilation_state.equals(state);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
filters.add(new DataSetFilter<DVMRunTask>("Запуск", this) {
|
||||||
|
@Override
|
||||||
|
public void fill() {
|
||||||
|
for (TaskState state : TaskState.values()) {
|
||||||
|
if (state.isVisible()) {
|
||||||
|
field_filters.add(new DBObjectFilter<DVMRunTask>(dataSet, state.getDescription()) {
|
||||||
|
@Override
|
||||||
|
protected boolean validate(DVMRunTask object) {
|
||||||
|
return object.state.equals(state);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
public DVMRunTasksSet() {
|
public DVMRunTasksSet() {
|
||||||
super(Integer.class, DVMRunTask.class);
|
super(Integer.class, DVMRunTask.class);
|
||||||
//todo обобщить бы наличие фильтров для всех таблиц.
|
|
||||||
if (Current.hasUI()) {
|
|
||||||
compilationFilters = new Vector<>();
|
|
||||||
runFilters = new Vector<>();
|
|
||||||
//--
|
|
||||||
for (TaskState state : TaskState.values()) {
|
|
||||||
if (state.isVisible()) {
|
|
||||||
compilationFilters.add(new DBObjectFilter<DVMRunTask>(this, state.getDescription()) {
|
|
||||||
@Override
|
|
||||||
protected boolean validate(DVMRunTask object) {
|
|
||||||
return object.compilation_state.equals(state);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//--
|
|
||||||
for (TaskState state : TaskState.values()) {
|
|
||||||
if (state.isVisible()) {
|
|
||||||
runFilters.add(new DBObjectFilter<DVMRunTask>(this, state.getDescription()) {
|
|
||||||
@Override
|
|
||||||
protected boolean validate(DVMRunTask object) {
|
|
||||||
return object.state.equals(state);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public void ResetFiltersCount() {
|
|
||||||
for (DBObjectFilter<DVMRunTask> filter : compilationFilters)
|
|
||||||
filter.Drop();
|
|
||||||
for (DBObjectFilter<DVMRunTask> filter : runFilters)
|
|
||||||
filter.Drop();
|
|
||||||
}
|
|
||||||
public void ShowFiltersCount() {
|
|
||||||
for (DBObjectFilter<DVMRunTask> filter : compilationFilters) {
|
|
||||||
filter.Refresh();
|
|
||||||
}
|
|
||||||
for (DBObjectFilter<DVMRunTask> filter : runFilters) {
|
|
||||||
filter.Refresh();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public boolean applyFilters(DVMRunTask object) {
|
|
||||||
boolean compilation = false;
|
|
||||||
//возвращать сразу нельзя. иначе количество не посчитает.
|
|
||||||
for (DBObjectFilter filter : compilationFilters) {
|
|
||||||
if (filter.Validate(object)) {
|
|
||||||
compilation |= true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
boolean run = false;
|
|
||||||
for (DBObjectFilter filter : runFilters) {
|
|
||||||
if (filter.Validate(object)) {
|
|
||||||
run |= true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return compilation && run;
|
|
||||||
}
|
|
||||||
@Override
|
|
||||||
public void mountUI(JPanel content_in) {
|
|
||||||
super.mountUI(content_in);
|
|
||||||
//-
|
|
||||||
DVMRunTasksBar menuBar = (DVMRunTasksBar) UI.menuBars.get(getClass());
|
|
||||||
menuBar.DropFilters();
|
|
||||||
//----
|
|
||||||
menuBar.addFilters(
|
|
||||||
new VisualiserMenu("Компиляция", "/icons/Filter.png", true) {
|
|
||||||
{
|
|
||||||
for (DBObjectFilter filter : compilationFilters)
|
|
||||||
add(filter.menuItem);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
new VisualiserMenu("Запуск", "/icons/Filter.png", true) {
|
|
||||||
{
|
|
||||||
for (DBObjectFilter filter : runFilters)
|
|
||||||
add(filter.menuItem);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@Override
|
|
||||||
public void ShowUI() {
|
|
||||||
ResetFiltersCount();
|
|
||||||
super.ShowUI();
|
|
||||||
ShowFiltersCount();
|
|
||||||
}
|
|
||||||
@Override
|
|
||||||
public void ShowUI(Object key) {
|
|
||||||
ResetFiltersCount();
|
|
||||||
super.ShowUI(key);
|
|
||||||
ShowFiltersCount();
|
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public String getSingleDescription() {
|
public String getSingleDescription() {
|
||||||
|
|||||||
Reference in New Issue
Block a user