Рефакторинг конструкторов объектов тестирования.

This commit is contained in:
2024-10-01 17:33:08 +03:00
parent b89283fc91
commit d18eb3327e
44 changed files with 1048 additions and 993 deletions

View File

@@ -2,17 +2,11 @@ package TestingSystem.DVM.DVMConfiguration;
import Common.Current;
import Common.Database.DBObject;
import Common.Database.iDBTable;
import Common.Global;
import Common.UI.DataSetControlForm;
import Common.UI.Tables.DBObjectSelector;
import Common.UI.Tables.TableEditors;
import Common.UI.Tables.TableRenderers;
import Common.UI.VisualCache.ConfigurationCache;
import Common.UI.VisualCache.VisualCache;
import Common.UI.VisualCache.VisualCaches;
import Common.UI.VisualiserStringList;
import Common.UI.Windows.Dialog.DBObjectDialog;
import Common.Utils.Utils;
import TestingSystem.DVM.DVMConfiguration.UI.ConfigurationFields;
public class DVMConfigurationDBTable extends iDBTable<DVMConfiguration> {
public DVMConfigurationDBTable() {
@@ -39,11 +33,8 @@ public class DVMConfigurationDBTable extends iDBTable<DVMConfiguration> {
}
@Override
protected void AdditionalInitColumns() {
columns.get(5).setRenderer(TableRenderers.RendererMultiline);
columns.get(5).setMaxWidth(500);
columns.get(7).setRenderer(TableRenderers.RendererMultiline);
columns.get(8).setRenderer(TableRenderers.RendererMultiline);
columns.get(15).setRenderer(TableRenderers.RendererMultiline);
columns.get(6).setRenderer(TableRenderers.RendererMultiline);
columns.get(6).setMaxWidth(500);
}
};
}
@@ -53,17 +44,11 @@ public class DVMConfigurationDBTable extends iDBTable<DVMConfiguration> {
"имя",
"автор",
"ядра",
"параметры",
"группы",
"тестов",
"флаги",
"окружение",
"c_time",
"куб",
"max",
"min dim",
"max dim",
"r_time",
"usr.par"
"компиляция(с)",
"запуск(с)"
};
}
@Override
@@ -76,32 +61,16 @@ public class DVMConfigurationDBTable extends iDBTable<DVMConfiguration> {
return object.sender_name;
case 4:
return object.kernels;
case 5:
return cache.groupsSummary;
return cache.settingsSummary;
case 6:
return cache.getTestsCount();
//todo упростить. и флаги и окружение будут просто одной строкой. мульти не актуально.
return cache.groupsSummary;
case 7:
return Utils.unpackStrings(object.flags, true);
return cache.getTestsCount();
case 8:
return Utils.unpackStrings(object.environments, true);
//------------------------------------------------------------------------------------
case 9:
return object.c_maxtime;
case 10:
return object.cube;
case 11:
return object.max_proc_count;
case 12:
return object.min_dim_proc_count;
case 13:
return object.max_dim_proc_count;
case 14:
case 9:
return object.maxtime;
case 15:
return Utils.unpackStrings(object.usr_par, true);
default:
return null;
}
@@ -111,70 +80,32 @@ public class DVMConfigurationDBTable extends iDBTable<DVMConfiguration> {
return new DBObjectDialog<DVMConfiguration, ConfigurationFields>(ConfigurationFields.class) {
@Override
public int getDefaultHeight() {
return 480;
return 300;
}
@Override
public int getDefaultWidth() {
return 1000;
}
@Override
public void validateFields() {
int min = (int) fields.sMinDimProc.getValue();
int max = (int) fields.sMaxDimProc.getValue();
if (max < min)
Log.Writeln_("Некорректный диапазон размерностей: максимум меньше минимума");
if ((min == 0) && (max != 0) || (min != 0) && (max == 0))
Log.Writeln_("Некорректный диапазон размерностей. " +
"'0' допускается только одновременно на обеих границах,\n" +
"и подразумевает единственный запуск без решётки");
return 500;
}
@Override
public void fillFields() {
fields.tfName.setText(Result.description);
//------->>>>
((VisualiserStringList) (fields.flagsList)).fill(Result.getFlagsArray());
((VisualiserStringList) (fields.environmentsList)).fill(Result.getEnvironments());
((VisualiserStringList) (fields.parList)).fill(Result.getParams());
//------->>>>
fields.sCompilationMaxtime.setValue(Result.c_maxtime);
//-
fields.sMinDimProc.setValue(Result.min_dim_proc_count);
fields.sMaxDimProc.setValue(Result.max_dim_proc_count);
fields.cbCube.setSelected(Result.cube == 1);
fields.sRunMaxtime.setValue(Result.maxtime);
//-
fields.sMaxProc.setValue(Result.max_proc_count);
fields.sKernels.setValue(Result.kernels);
}
@Override
public void ProcessResult() {
Result.description = fields.tfName.getText();
Result.c_maxtime = (int) fields.sCompilationMaxtime.getValue();
Result.min_dim_proc_count = (int) fields.sMinDimProc.getValue();
Result.max_dim_proc_count = (int) fields.sMaxDimProc.getValue();
Result.cube = fields.cbCube.isSelected() ? 1 : 0;
Result.max_proc_count = (int) fields.sMaxProc.getValue();
Result.maxtime = (int) fields.sRunMaxtime.getValue();
Result.flags = ((VisualiserStringList) (fields.flagsList)).pack();
Result.environments = ((VisualiserStringList) (fields.environmentsList)).pack();
Result.usr_par = ((VisualiserStringList) (fields.parList)).pack();
Result.kernels= (int)fields.sKernels.getValue();
Result.kernels = (int) fields.sKernels.getValue();
}
@Override
public void SetReadonly() {
fields.tfName.setEnabled(false);
fields.sCompilationMaxtime.setEnabled(false);
fields.sRunMaxtime.setEnabled(false);
fields.sMinDimProc.setEnabled(false);
fields.sMaxDimProc.setEnabled(false);
fields.cbCube.setEnabled(false);
fields.sMaxProc.setEnabled(false);
fields.bAddFlags.setEnabled(false);
fields.bDeleteFlags.setEnabled(false);
fields.bAddEnvironments.setEnabled(false);
fields.bDeleteEnvironment.setEnabled(false);
fields.bAddPar.setEnabled(false);
fields.bDeletePar.setEnabled(false);
}
};
}