2023-11-19 02:12:44 +03:00
|
|
|
package TestingSystem.Common.Group;
|
2023-09-17 22:13:42 +03:00
|
|
|
import Common.Current;
|
|
|
|
|
import Common.Database.*;
|
|
|
|
|
import Common.UI.DataSetControlForm;
|
2023-12-26 19:12:30 +03:00
|
|
|
import Common.UI.Menus_2023.DataMenuBar;
|
2023-09-17 22:13:42 +03:00
|
|
|
import Common.UI.UI;
|
|
|
|
|
import Common.UI.Windows.Dialog.DBObjectDialog;
|
|
|
|
|
import ProjectData.LanguageName;
|
2023-11-19 02:12:44 +03:00
|
|
|
import TestingSystem.Common.Group.UI.GroupFields;
|
|
|
|
|
import TestingSystem.Common.Test.Test;
|
|
|
|
|
import TestingSystem.Common.Test.TestType;
|
2023-09-17 22:13:42 +03:00
|
|
|
|
|
|
|
|
import javax.swing.*;
|
|
|
|
|
import java.util.LinkedHashMap;
|
|
|
|
|
import java.util.Vector;
|
|
|
|
|
//-
|
2023-11-16 21:03:25 +03:00
|
|
|
public class GroupsDBTable extends iDBTable<Group> {
|
2023-11-17 00:04:21 +03:00
|
|
|
public static boolean filterMyOnly = false;
|
2023-09-17 22:13:42 +03:00
|
|
|
public GroupsDBTable() {
|
2023-11-16 21:03:25 +03:00
|
|
|
super(Group.class);
|
2023-09-17 22:13:42 +03:00
|
|
|
}
|
2023-12-26 19:12:30 +03:00
|
|
|
//------------------------------------------------>>>
|
2023-09-17 22:13:42 +03:00
|
|
|
@Override
|
2023-12-26 19:12:30 +03:00
|
|
|
protected void createFilters() {
|
|
|
|
|
filters.add(new DataSetFilter<Group>("Тип", this) {
|
|
|
|
|
@Override
|
|
|
|
|
public void fill() {
|
|
|
|
|
for (TestType type : TestType.values())
|
|
|
|
|
filters.add(new DBObjectFilter<Group>(dataSet, type.getDescription()) {
|
|
|
|
|
@Override
|
|
|
|
|
protected boolean validate(Group object) {
|
|
|
|
|
return object.type.equals(type);
|
|
|
|
|
}
|
|
|
|
|
});
|
2023-12-07 02:05:08 +03:00
|
|
|
}
|
2023-12-26 19:12:30 +03:00
|
|
|
});
|
2023-12-26 20:23:09 +03:00
|
|
|
filters.add(new DataSetFilter<Group>("Язык", this) {
|
|
|
|
|
@Override
|
|
|
|
|
public void fill() {
|
|
|
|
|
for (LanguageName languageName : LanguageName.values()) {
|
|
|
|
|
filters.add(new DBObjectFilter<Group>(dataSet, languageName.getDescription()) {
|
|
|
|
|
@Override
|
|
|
|
|
protected boolean validate(Group object) {
|
|
|
|
|
return object.language.equals(languageName);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
2023-09-17 22:13:42 +03:00
|
|
|
}
|
2023-12-26 20:23:09 +03:00
|
|
|
|
2023-09-17 22:13:42 +03:00
|
|
|
@Override
|
|
|
|
|
public String getSingleDescription() {
|
|
|
|
|
return "группа тестов";
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public String getPluralDescription() {
|
|
|
|
|
return "группы";
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public LinkedHashMap<Class<? extends DBObject>, FKBehaviour> getFKDependencies() {
|
|
|
|
|
LinkedHashMap<Class<? extends DBObject>, FKBehaviour> res = new LinkedHashMap<>();
|
|
|
|
|
res.put(Test.class, new FKBehaviour(FKDataBehaviour.DELETE, FKCurrentObjectBehaviuor.ACTIVE));
|
|
|
|
|
return res;
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
protected DataSetControlForm createUI() {
|
|
|
|
|
return new DataSetControlForm(this) {
|
|
|
|
|
@Override
|
|
|
|
|
public boolean hasCheckBox() {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public String[] getUIColumnNames() {
|
|
|
|
|
return new String[]{
|
|
|
|
|
"имя",
|
|
|
|
|
"автор",
|
|
|
|
|
"тип",
|
|
|
|
|
"язык"
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public Object getFieldAt(Group object, int columnIndex) {
|
|
|
|
|
switch (columnIndex) {
|
|
|
|
|
case 2:
|
|
|
|
|
return object.description;
|
|
|
|
|
case 3:
|
|
|
|
|
return object.sender_name;
|
|
|
|
|
case 4:
|
|
|
|
|
return object.type.getDescription();
|
|
|
|
|
case 5:
|
|
|
|
|
return object.language.getDescription();
|
|
|
|
|
default:
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public Current CurrentName() {
|
|
|
|
|
return Current.Group;
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public DBObjectDialog<Group, GroupFields> getDialog() {
|
|
|
|
|
return new DBObjectDialog<Group, GroupFields>(GroupFields.class) {
|
|
|
|
|
@Override
|
|
|
|
|
public int getDefaultHeight() {
|
|
|
|
|
return 250;
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public int getDefaultWidth() {
|
|
|
|
|
return 400;
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public void validateFields() {
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public void fillFields() {
|
|
|
|
|
fields.tfName.setText(Result.description);
|
|
|
|
|
UI.TrySelect(fields.cbType, Result.type);
|
|
|
|
|
UI.TrySelect(fields.cbLanguage, Result.language);
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public void ProcessResult() {
|
|
|
|
|
Result.description = fields.tfName.getText();
|
|
|
|
|
Result.type = (TestType) fields.cbType.getSelectedItem();
|
|
|
|
|
Result.language = (LanguageName) fields.cbLanguage.getSelectedItem();
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|