Files
VisualSapfor/src/_VisualDVM/TestingSystem/DVM/DVMConfiguration/DVMConfigurationDBTable.java

130 lines
4.6 KiB
Java
Raw Normal View History

2024-10-09 22:21:57 +03:00
package _VisualDVM.TestingSystem.DVM.DVMConfiguration;
import Common.Database.Objects.DBObject;
import Common.Database.Tables.iDBTable;
import Common.Visual.DataSetControlForm;
import Common.Visual.Menus.DataMenuBar;
import Common.Visual.Tables.RendererMultiline;
2024-10-14 15:19:13 +03:00
import Common.Visual.Windows.Dialog.DBObjectDialog;
import _VisualDVM.Current;
import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
2024-10-08 23:45:06 +03:00
import _VisualDVM.ServerObjectsCache.ConfigurationCache;
import _VisualDVM.ServerObjectsCache.VisualCaches;
2024-10-09 22:21:57 +03:00
import _VisualDVM.TestingSystem.DVM.DVMConfiguration.UI.ConfigurationFields;
public class DVMConfigurationDBTable extends iDBTable<DVMConfiguration> {
public DVMConfigurationDBTable() {
2024-09-14 00:18:27 +03:00
super(DVMConfiguration.class);
2023-09-17 22:13:42 +03:00
}
@Override
public Current CurrentName() {
return Current.DVMConfiguration;
2023-09-17 22:13:42 +03:00
}
@Override
public String getSingleDescription() {
return "конфигурация";
2023-09-17 22:13:42 +03:00
}
@Override
public String getPluralDescription() {
return "конфигурации";
2023-09-17 22:13:42 +03:00
}
@Override
protected DataSetControlForm createUI() {
return new DataSetControlForm(this) {
@Override
public boolean hasCheckBox() {
return true;
}
@Override
protected void AdditionalInitColumns() {
columns.get(6).setRendererClass(RendererMultiline.class);
columns.get(6).setMaxWidth(500);
2023-09-17 22:13:42 +03:00
}
};
}
@Override
public String[] getUIColumnNames() {
return new String[]{
"имя",
"автор",
"ядра",
"параметры",
"группы",
"тестов",
"компиляция(с)",
"запуск(с)"
2023-09-17 22:13:42 +03:00
};
}
@Override
2024-09-14 00:18:27 +03:00
public Object getFieldAt(DVMConfiguration object, int columnIndex) {
ConfigurationCache cache = (ConfigurationCache) VisualCaches.GetCache(object);
2023-09-17 22:13:42 +03:00
switch (columnIndex) {
case 2:
return object.description;
case 3:
return object.sender_name;
case 4:
return object.kernels;
case 5:
return cache.settingsSummary;
case 6:
return cache.groupsSummary;
case 7:
return cache.getTestsCount();
case 8:
return object.c_maxtime;
case 9:
return object.maxtime;
2023-09-17 22:13:42 +03:00
default:
return null;
}
}
@Override
2024-09-14 00:18:27 +03:00
public DBObjectDialog<DVMConfiguration, ConfigurationFields> getDialog() {
return new DBObjectDialog<DVMConfiguration, ConfigurationFields>(ConfigurationFields.class) {
2023-09-17 22:13:42 +03:00
@Override
public int getDefaultHeight() {
return 300;
2023-09-17 22:13:42 +03:00
}
@Override
public int getDefaultWidth() {
return 500;
2023-09-17 22:13:42 +03:00
}
@Override
public void fillFields() {
fields.tfName.setText(Result.description);
//------->>>>
fields.sCompilationMaxtime.setValue(Result.c_maxtime);
2024-09-14 00:18:27 +03:00
fields.sRunMaxtime.setValue(Result.maxtime);
fields.sKernels.setValue(Result.kernels);
2023-09-17 22:13:42 +03:00
}
@Override
public void ProcessResult() {
Result.description = fields.tfName.getText();
Result.c_maxtime = (int) fields.sCompilationMaxtime.getValue();
2024-09-14 00:18:27 +03:00
Result.maxtime = (int) fields.sRunMaxtime.getValue();
Result.kernels = (int) fields.sKernels.getValue();
2023-09-17 22:13:42 +03:00
}
@Override
public void SetReadonly() {
fields.tfName.setEnabled(false);
fields.sCompilationMaxtime.setEnabled(false);
fields.sRunMaxtime.setEnabled(false);
}
};
}
@Override
public boolean ShowEditObjectDialog(DBObject object) {
return (Global.mainModule.getAccount().CheckAccessRights(((DVMConfiguration) object).sender_address, null)) ? super.ShowEditObjectDialog(object) : ViewObject(object);
2023-09-17 22:13:42 +03:00
}
@Override
public DataMenuBar createMenuBar() {
return new DataMenuBar(getPluralDescription(),
PassCode.PublishConfiguration,
PassCode.EditConfiguration,
PassCode.ShowCurrentDVMConfigurationTests,
PassCode.SaveCurrentDVMConfiguration,
PassCode.DeleteConfiguration,
PassCode.StartSelectedDVMConfigurations );
}
2023-09-17 22:13:42 +03:00
}