diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 455b133b..943725de 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -7,16 +7,20 @@
+
-
-
-
-
-
-
-
+
+
+
+
+
+
-
+
+
+
+
+
@@ -38,8 +42,8 @@
-
+
@@ -115,11 +119,11 @@
+
+
+
-
-
-
diff --git a/src/Common/Database/Tables/DataSet.java b/src/Common/Database/Tables/DataSet.java
index 6115ae15..16abc7a9 100644
--- a/src/Common/Database/Tables/DataSet.java
+++ b/src/Common/Database/Tables/DataSet.java
@@ -27,7 +27,7 @@ public class DataSet extends DataSetAnchestor {
d = d_in;
Name = d.getSimpleName();
}
- public DataSetControlForm getUI() {
+ public DataSetControlForm getUI() {
return ui;
}
public void mountUI(JPanel mountPanel_in) {
@@ -114,9 +114,6 @@ public class DataSet extends DataSetAnchestor {
public D get(Object key) {
return Data.get(key);
}
- //public Object getFieldAt(D object, int columnIndex) {
- // return null;
- // }
public void clear() {
Data.clear();
}
diff --git a/src/Common/Visual/DBObjectFilterInterface.java b/src/Common/Visual/DBObjectFilterInterface.java
new file mode 100644
index 00000000..67e5e533
--- /dev/null
+++ b/src/Common/Visual/DBObjectFilterInterface.java
@@ -0,0 +1,6 @@
+package Common.Visual;
+import Common.Database.Objects.DBObject;
+public interface DBObjectFilterInterface {
+ boolean Validate(D dbObject);
+ //-------
+}
diff --git a/src/Common/Visual/DataSetControlForm.java b/src/Common/Visual/DataSetControlForm.java
index 598852db..468ad2ab 100644
--- a/src/Common/Visual/DataSetControlForm.java
+++ b/src/Common/Visual/DataSetControlForm.java
@@ -34,6 +34,8 @@ public class DataSetControlForm extends ControlForm columns = new Vector<>(); //информация о столбцах и их оформлении
protected Vector filtersMenus = new Vector<>(); //выпадающие меню фильтрации
protected LinkedHashMap headersTextFilters = new LinkedHashMap<>(); //текстовые фильтры столбцов
+
+
//фильтры и подсчеты. todo слить с баром (?)
MatchesCounter f_ui = null;
//--
@@ -60,7 +62,7 @@ public class DataSetControlForm extends ControlForm {
+public abstract class DataSetFiltersMenu extends VisualiserMenu implements DBObjectFilterInterface {
//--
protected DataSet, D> dataSet;
- protected Vector> field_filters;
- VisualiserMenu menu = null;
+ protected Vector> field_filters;
public DataSetFiltersMenu(String name, DataSet dataSet_in) {
+ super(name, "/Common/icons/Filter.png", true);
dataSet = dataSet_in;
- menu = new VisualiserMenu(name, "/Common/icons/Filter.png", true);
field_filters = new Vector<>();
fill();
//-
- for (DBObjectFilter filter : field_filters)
- menu.add(filter.menuItem);
- menu.addSeparator();
- menu.add(new StableMenuItem("Выбрать всё", "/Common/icons/SelectAll.png") {
+ for (FilterFlagMenuItem filter : field_filters)
+ add(filter.menuItem);
+ addSeparator();
+ add(new StableMenuItem("Выбрать всё", "/Common/icons/SelectAll.png") {
{
addActionListener(new ActionListener() {
@Override
@@ -32,7 +31,7 @@ public abstract class DataSetFiltersMenu {
});
}
});
- menu.add(new StableMenuItem("Отменить всё", "/Common/icons/UnselectAll.png") {
+ add(new StableMenuItem("Отменить всё", "/Common/icons/UnselectAll.png") {
{
addActionListener(new ActionListener() {
@Override
@@ -44,38 +43,36 @@ public abstract class DataSetFiltersMenu {
}
});
}
- public VisualiserMenu getMenu() {
- return menu;
- }
void selectAll(boolean flag) {
- for (DBObjectFilter filter : field_filters)
+ for (FilterFlagMenuItem filter : field_filters)
filter.setActive(flag);
}
public abstract void fill();
public void Drop() {
- for (DBObjectFilter filter : field_filters)
+ for (FilterFlagMenuItem filter : field_filters)
filter.Drop();
}
public void Refresh() {
- for (DBObjectFilter filter : field_filters)
+ for (FilterFlagMenuItem filter : field_filters)
filter.Refresh();
}
public boolean isActive() {
- for (DBObjectFilter filter : field_filters) {
+ for (FilterFlagMenuItem filter : field_filters) {
if (filter.isActive())
return true;
}
return false;
}
+ @Override
public boolean Validate(D object) {
if (!isActive()) {
//считаем без учета результатов
- for (DBObjectFilter filter : field_filters)
+ for (FilterFlagMenuItem filter : field_filters)
filter.Validate(object);
return true;
}
boolean res = false;
- for (DBObjectFilter filter : field_filters)
+ for (FilterFlagMenuItem filter : field_filters)
if (filter.Validate(object))
res |= true;
return res;
diff --git a/src/Common/Visual/DBObjectFilter.java b/src/Common/Visual/FilterFlagMenuItem.java
similarity index 86%
rename from src/Common/Visual/DBObjectFilter.java
rename to src/Common/Visual/FilterFlagMenuItem.java
index 2b78a628..4b4a4dba 100644
--- a/src/Common/Visual/DBObjectFilter.java
+++ b/src/Common/Visual/FilterFlagMenuItem.java
@@ -6,13 +6,13 @@ import Common.Visual.Controls.StableMenuItem;
import javax.swing.*;
//одиночный фильтр, пункт фильтрационного меню.
-public abstract class DBObjectFilter {
+public abstract class FilterFlagMenuItem implements DBObjectFilterInterface{
public JMenuItem menuItem; //пункт меню фильтра. ( возможно потом сделать и кнопку)
//--
String description;
boolean active = true; //включен ли фильтр
int count = 0;
- public DBObjectFilter(DataSet dataSet, String description_in, boolean active_in) {
+ public FilterFlagMenuItem(DataSet dataSet, String description_in, boolean active_in) {
menuItem = new StableMenuItem((description = description_in) + " (0)");
active = active_in;
menuItem.addActionListener(e -> {
@@ -22,7 +22,7 @@ public abstract class DBObjectFilter {
});
Mark();
}
- public DBObjectFilter(DataSet dataSet, String description_in) {
+ public FilterFlagMenuItem(DataSet dataSet, String description_in) {
this(dataSet, description_in, true);
}
//--
@@ -36,6 +36,7 @@ public abstract class DBObjectFilter {
menuItem.setIcon(Utils_.getIcon(active ? getActiveIconPath() : getNotActiveIconPath()));
}
//-------
+ @Override
public boolean Validate(D object) {
boolean valid = validate(object);
if (valid)
diff --git a/src/_VisualDVM/TestingSystem/Common/Group/GroupsDBTable.java b/src/_VisualDVM/TestingSystem/Common/Group/GroupsDBTable.java
index 2a2eade1..6ffbc90b 100644
--- a/src/_VisualDVM/TestingSystem/Common/Group/GroupsDBTable.java
+++ b/src/_VisualDVM/TestingSystem/Common/Group/GroupsDBTable.java
@@ -20,7 +20,6 @@ import javax.swing.*;
import java.util.LinkedHashMap;
//-
public class GroupsDBTable extends iDBTable {
- public static boolean filterMyOnly = false;
public GroupsDBTable() {
super(Group.class);
}
diff --git a/src/_VisualDVM/TestingSystem/Common/Group/UI/GroupsForm.java b/src/_VisualDVM/TestingSystem/Common/Group/UI/GroupsForm.java
index 5193f7a3..6abab91b 100644
--- a/src/_VisualDVM/TestingSystem/Common/Group/UI/GroupsForm.java
+++ b/src/_VisualDVM/TestingSystem/Common/Group/UI/GroupsForm.java
@@ -2,20 +2,19 @@ package _VisualDVM.TestingSystem.Common.Group.UI;
import Common.Database.Tables.DataSet;
import Common.Utils.Utils_;
import Common.Visual.Controls.MenuBarButton;
-import Common.Visual.DBObjectFilter;
+import Common.Visual.FilterFlagMenuItem;
import Common.Visual.DataSetControlForm;
import Common.Visual.DataSetFiltersMenu;
import Common.Visual.Menus.DataMenuBar;
-import Common.Visual.Tables.HeaderTextFilter;
import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.ProjectData.LanguageName;
import _VisualDVM.TestingSystem.Common.Group.Group;
-import _VisualDVM.TestingSystem.Common.Group.GroupsDBTable;
import _VisualDVM.TestingSystem.Common.Test.TestType;
import javax.swing.*;
public class GroupsForm extends DataSetControlForm {
+ public static boolean filterMyOnly = false;
public GroupsForm(DataSet, Group> dataSource_in, JPanel mountPanel_in) {
super(dataSource_in, mountPanel_in);
}
@@ -50,7 +49,7 @@ public class GroupsForm extends DataSetControlForm {
@Override
public boolean isObjectVisible(Group object) {
return super.isObjectVisible(object) &&
- (!GroupsDBTable.filterMyOnly || Global.mainModule.getAccount().email.equals(object.sender_address)) &&
+ (!filterMyOnly || Global.mainModule.getAccount().email.equals(object.sender_address)) &&
Global.testingServer.db.groups.getUI().ApplyFilters(object);
}
@Override
@@ -68,13 +67,13 @@ public class GroupsForm extends DataSetControlForm {
setToolTipText("Отображать только группы тестов авторства пользователя");
Mark();
addActionListener(e -> {
- GroupsDBTable.filterMyOnly = !GroupsDBTable.filterMyOnly;
+ filterMyOnly = !filterMyOnly;
Mark();
Global.testingServer.db.groups.ShowUI();
});
}
public void Mark() {
- setIcon(Utils_.getIcon(GroupsDBTable.filterMyOnly ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png"));
+ setIcon(Utils_.getIcon(filterMyOnly ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png"));
}
});
}
@@ -86,7 +85,7 @@ public class GroupsForm extends DataSetControlForm {
@Override
public void fill() {
for (TestType type : TestType.values())
- field_filters.add(new Common.Visual.DBObjectFilter(dataSet, type.getDescription()) {
+ field_filters.add(new FilterFlagMenuItem(dataSet, type.getDescription()) {
@Override
protected boolean validate(Group object) {
return object.type.equals(type);
@@ -98,7 +97,7 @@ public class GroupsForm extends DataSetControlForm {
@Override
public void fill() {
for (LanguageName languageName : LanguageName.values()) {
- field_filters.add(new DBObjectFilter(dataSet, languageName.getDescription()) {
+ field_filters.add(new FilterFlagMenuItem(dataSet, languageName.getDescription()) {
@Override
protected boolean validate(Group object) {
return object.language.equals(languageName);
diff --git a/src/_VisualDVM/TestingSystem/DVM/DVMPackage/DVMPackageDBTable.java b/src/_VisualDVM/TestingSystem/DVM/DVMPackage/DVMPackageDBTable.java
index ee5ddc6e..79d73dc4 100644
--- a/src/_VisualDVM/TestingSystem/DVM/DVMPackage/DVMPackageDBTable.java
+++ b/src/_VisualDVM/TestingSystem/DVM/DVMPackage/DVMPackageDBTable.java
@@ -8,8 +8,6 @@ import _VisualDVM.TestingSystem.DVM.DVMPackage.UI.DVMPackagesForm;
import javax.swing.*;
public class DVMPackageDBTable extends iDBTable {
- public static boolean filterMyOnly = false;
- public static boolean filterActive = false;
public DVMPackageDBTable() {
super(DVMPackage.class);
}
diff --git a/src/_VisualDVM/TestingSystem/DVM/DVMPackage/UI/DVMPackagesForm.java b/src/_VisualDVM/TestingSystem/DVM/DVMPackage/UI/DVMPackagesForm.java
index 8dc5008e..a9afe396 100644
--- a/src/_VisualDVM/TestingSystem/DVM/DVMPackage/UI/DVMPackagesForm.java
+++ b/src/_VisualDVM/TestingSystem/DVM/DVMPackage/UI/DVMPackagesForm.java
@@ -13,12 +13,13 @@ import _VisualDVM.Passes.PassCode;
import _VisualDVM.ServerObjectsCache.PackageCache;
import _VisualDVM.ServerObjectsCache.VisualCaches;
import _VisualDVM.TestingSystem.DVM.DVMPackage.DVMPackage;
-import _VisualDVM.TestingSystem.DVM.DVMPackage.DVMPackageDBTable;
import javax.swing.*;
import java.util.Comparator;
import java.util.Date;
public class DVMPackagesForm extends DataSetControlForm {
+ public static boolean filterMyOnly = false;
+ public static boolean filterActive = false;
public DVMPackagesForm(DataSet, DVMPackage> dataSource_in, JPanel mountPanel_in) {
super(dataSource_in, mountPanel_in);
}
@@ -116,13 +117,13 @@ public class DVMPackagesForm extends DataSetControlForm {
setToolTipText("Отображать только пакеты тестов авторства пользователя");
Mark();
addActionListener(e -> {
- DVMPackageDBTable.filterMyOnly = !DVMPackageDBTable.filterMyOnly;
+ filterMyOnly = !filterMyOnly;
Mark();
Global.testingServer.db.dvmPackages.ShowUI();
});
}
public void Mark() {
- setIcon(Utils_.getIcon(DVMPackageDBTable.filterMyOnly ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png"));
+ setIcon(Utils_.getIcon(filterMyOnly ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png"));
}
});
add(new MenuBarButton() {
@@ -131,13 +132,13 @@ public class DVMPackagesForm extends DataSetControlForm {
setToolTipText("Отображать только активные пакеты тестов");
Mark();
addActionListener(e -> {
- DVMPackageDBTable.filterActive = !DVMPackageDBTable.filterActive;
+ filterActive = !filterActive;
Mark();
Global.testingServer.db.dvmPackages.ShowUI();
});
}
public void Mark() {
- setIcon(Utils_.getIcon(DVMPackageDBTable.filterActive ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png"));
+ setIcon(Utils_.getIcon(filterActive ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png"));
}
});
}
@@ -154,7 +155,7 @@ public class DVMPackagesForm extends DataSetControlForm {
}
@Override
public boolean isObjectVisible(DVMPackage object) {
- return super.isObjectVisible(object) && (!DVMPackageDBTable.filterMyOnly || Global.mainModule.getAccount().email.equals(object.sender_address)) &&
- (!DVMPackageDBTable.filterActive || object.state.isActive());
+ return super.isObjectVisible(object) && (!filterMyOnly || Global.mainModule.getAccount().email.equals(object.sender_address)) &&
+ (!filterActive || object.state.isActive());
}
}
diff --git a/src/_VisualDVM/TestingSystem/DVM/DVMTasks/UI/DVMRunTasksForm.java b/src/_VisualDVM/TestingSystem/DVM/DVMTasks/UI/DVMRunTasksForm.java
index 0ea2af8e..3cb0e2d3 100644
--- a/src/_VisualDVM/TestingSystem/DVM/DVMTasks/UI/DVMRunTasksForm.java
+++ b/src/_VisualDVM/TestingSystem/DVM/DVMTasks/UI/DVMRunTasksForm.java
@@ -1,6 +1,6 @@
package _VisualDVM.TestingSystem.DVM.DVMTasks.UI;
import Common.Database.Tables.DataSet;
-import Common.Visual.DBObjectFilter;
+import Common.Visual.FilterFlagMenuItem;
import Common.Visual.DataSetControlForm;
import Common.Visual.DataSetFiltersMenu;
import Common.Visual.Menus.DataMenuBar;
@@ -86,7 +86,7 @@ public class DVMRunTasksForm extends DataSetControlForm {
public void fill() {
for (TaskState state : TaskState.values()) {
if (state.isVisible()) {
- field_filters.add(new DBObjectFilter(dataSet, state.getDescription()) {
+ field_filters.add(new FilterFlagMenuItem(dataSet, state.getDescription()) {
@Override
protected boolean validate(DVMRunTask object) {
return object.compilation_state.equals(state);
@@ -101,7 +101,7 @@ public class DVMRunTasksForm extends DataSetControlForm {
public void fill() {
for (TaskState state : TaskState.values()) {
if (state.isVisible()) {
- field_filters.add(new DBObjectFilter(dataSet, state.getDescription()) {
+ field_filters.add(new FilterFlagMenuItem(dataSet, state.getDescription()) {
@Override
protected boolean validate(DVMRunTask object) {
return object.state.equals(state);
diff --git a/src/_VisualDVM/TestingSystem/SAPFOR/SapforPackage/SapforPackageDBTable.java b/src/_VisualDVM/TestingSystem/SAPFOR/SapforPackage/SapforPackageDBTable.java
index 0b1028f0..c87f02d8 100644
--- a/src/_VisualDVM/TestingSystem/SAPFOR/SapforPackage/SapforPackageDBTable.java
+++ b/src/_VisualDVM/TestingSystem/SAPFOR/SapforPackage/SapforPackageDBTable.java
@@ -8,8 +8,6 @@ import _VisualDVM.TestingSystem.SAPFOR.SapforPackage.UI.SapforPackagesForm;
import javax.swing.*;
public class SapforPackageDBTable extends iDBTable {
- public static boolean filterMyOnly = false;
- public static boolean filterActive = false;
public SapforPackageDBTable() {
super(SapforPackage.class);
}
diff --git a/src/_VisualDVM/TestingSystem/SAPFOR/SapforPackage/UI/SapforPackagesForm.java b/src/_VisualDVM/TestingSystem/SAPFOR/SapforPackage/UI/SapforPackagesForm.java
index 1ec85b0f..132efcb8 100644
--- a/src/_VisualDVM/TestingSystem/SAPFOR/SapforPackage/UI/SapforPackagesForm.java
+++ b/src/_VisualDVM/TestingSystem/SAPFOR/SapforPackage/UI/SapforPackagesForm.java
@@ -13,12 +13,13 @@ import _VisualDVM.Passes.PassCode;
import _VisualDVM.ServerObjectsCache.PackageCache;
import _VisualDVM.ServerObjectsCache.VisualCaches;
import _VisualDVM.TestingSystem.SAPFOR.SapforPackage.SapforPackage;
-import _VisualDVM.TestingSystem.SAPFOR.SapforPackage.SapforPackageDBTable;
import javax.swing.*;
import java.util.Comparator;
import java.util.Date;
public class SapforPackagesForm extends DataSetControlForm {
+ public static boolean filterMyOnly = false;
+ public static boolean filterActive = false;
public SapforPackagesForm(DataSet, SapforPackage> dataSource_in, JPanel mountPanel_in) {
super(dataSource_in, mountPanel_in);
}
@@ -95,13 +96,13 @@ public class SapforPackagesForm extends DataSetControlForm {
setToolTipText("Отображать только пакеты тестов авторства пользователя");
Mark();
addActionListener(e -> {
- SapforPackageDBTable.filterMyOnly = !SapforPackageDBTable.filterMyOnly;
+ filterMyOnly = !filterMyOnly;
Mark();
Global.testingServer.db.sapforPackages.ShowUI();
});
}
public void Mark() {
- setIcon(Utils_.getIcon(SapforPackageDBTable.filterMyOnly ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png"));
+ setIcon(Utils_.getIcon(filterMyOnly ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png"));
}
});
add(new MenuBarButton() {
@@ -110,13 +111,13 @@ public class SapforPackagesForm extends DataSetControlForm {
setToolTipText("Отображать только активные пакеты тестов");
Mark();
addActionListener(e -> {
- SapforPackageDBTable.filterActive = !SapforPackageDBTable.filterActive;
+ filterActive = !filterActive;
Mark();
Global.testingServer.db.sapforPackages.ShowUI();
});
}
public void Mark() {
- setIcon(Utils_.getIcon(SapforPackageDBTable.filterActive ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png"));
+ setIcon(Utils_.getIcon(filterActive ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png"));
}
});
}
@@ -134,7 +135,7 @@ public class SapforPackagesForm extends DataSetControlForm {
@Override
public boolean isObjectVisible(SapforPackage object) {
return super.isObjectVisible(object) &&
- (!SapforPackageDBTable.filterMyOnly || Global.mainModule.getAccount().email.equals(object.sender_address)) &&
- (!SapforPackageDBTable.filterActive || object.state.isActive());
+ (!filterMyOnly || Global.mainModule.getAccount().email.equals(object.sender_address)) &&
+ (!filterActive || object.state.isActive());
}
}