2024-10-09 22:21:57 +03:00
|
|
|
package _VisualDVM.TestingSystem.DVM.DVMPackage;
|
2024-10-07 00:58:29 +03:00
|
|
|
import Common.Database.Tables.iDBTable;
|
2024-10-16 21:58:46 +03:00
|
|
|
import Common.Passes.PassCode_;
|
2024-10-16 20:45:59 +03:00
|
|
|
import Common.Utils.Utils_;
|
|
|
|
|
import Common.Visual.Controls.MenuBarButton;
|
2024-10-08 00:39:13 +03:00
|
|
|
import Common.Visual.DataSetControlForm;
|
2024-10-16 20:45:59 +03:00
|
|
|
import Common.Visual.Menus.DataMenuBar;
|
2024-10-15 15:13:57 +03:00
|
|
|
import Common.Visual.Tables.RendererDate;
|
|
|
|
|
import Common.Visual.Tables.RendererMultiline;
|
|
|
|
|
import Common.Visual.Tables.RendererProgressBar;
|
|
|
|
|
import Common.Visual.Tables.RendererStatusEnum;
|
2024-10-14 15:19:13 +03:00
|
|
|
import _VisualDVM.Current;
|
|
|
|
|
import _VisualDVM.Global;
|
|
|
|
|
import _VisualDVM.Passes.PassCode;
|
2024-10-08 23:45:06 +03:00
|
|
|
import _VisualDVM.ServerObjectsCache.PackageCache;
|
|
|
|
|
import _VisualDVM.ServerObjectsCache.VisualCaches;
|
2023-12-11 02:00:28 +03:00
|
|
|
|
2024-10-16 20:45:59 +03:00
|
|
|
import javax.swing.*;
|
2024-07-21 23:42:51 +03:00
|
|
|
import java.util.Comparator;
|
2023-12-11 02:00:28 +03:00
|
|
|
import java.util.Date;
|
2023-12-14 02:30:56 +03:00
|
|
|
public class DVMPackageDBTable extends iDBTable<DVMPackage> {
|
2024-03-10 00:42:29 +03:00
|
|
|
public static boolean filterMyOnly = false;
|
2024-07-22 20:52:37 +03:00
|
|
|
public static boolean filterActive = false;
|
2023-12-11 02:00:28 +03:00
|
|
|
public DVMPackageDBTable() {
|
2023-12-14 02:30:56 +03:00
|
|
|
super(DVMPackage.class);
|
2023-12-11 02:00:28 +03:00
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public Current CurrentName() {
|
|
|
|
|
return Current.DVMPackage;
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public String getSingleDescription() {
|
2024-10-16 20:45:59 +03:00
|
|
|
return "пакет";
|
2023-12-11 02:00:28 +03:00
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public String getPluralDescription() {
|
2024-10-16 20:45:59 +03:00
|
|
|
return "пакеты";
|
2023-12-11 02:00:28 +03:00
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
protected DataSetControlForm createUI() {
|
|
|
|
|
return new DataSetControlForm(this) {
|
|
|
|
|
@Override
|
|
|
|
|
public boolean hasCheckBox() {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
protected void AdditionalInitColumns() {
|
2024-10-15 15:13:57 +03:00
|
|
|
columns.get(6).setRendererClass(RendererMultiline.class);
|
|
|
|
|
columns.get(9).setRendererClass(RendererProgressBar.class);
|
|
|
|
|
columns.get(10).setRendererClass(RendererDate.class);
|
|
|
|
|
columns.get(11).setRendererClass(RendererDate.class);
|
|
|
|
|
columns.get(12).setRendererClass(RendererStatusEnum.class);
|
2023-12-11 02:00:28 +03:00
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public void ShowCurrentObject() throws Exception {
|
|
|
|
|
super.ShowCurrentObject();
|
2024-09-10 01:50:44 +03:00
|
|
|
//--
|
2023-12-18 15:44:48 +03:00
|
|
|
Global.testingServer.db.dvmRunTasks.ShowDVMPackage(getCurrent());
|
2024-10-15 02:32:52 +03:00
|
|
|
Global.mainModule.getUI().getMainWindow().getTestingWindow().DropTestRunTasksComparison();
|
2024-09-10 01:50:44 +03:00
|
|
|
//--
|
2023-12-11 02:00:28 +03:00
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public void ShowNoCurrentObject() throws Exception {
|
|
|
|
|
super.ShowNoCurrentObject();
|
2023-12-16 16:52:17 +03:00
|
|
|
Global.testingServer.db.dvmRunTasks.ShowNoPackage();
|
2024-10-15 02:32:52 +03:00
|
|
|
Global.mainModule.getUI().getMainWindow().getTestingWindow().DropTestRunTasksComparison();
|
2023-12-11 02:00:28 +03:00
|
|
|
}
|
2024-09-26 21:31:18 +03:00
|
|
|
@Override
|
|
|
|
|
public void MouseAction2() throws Exception {
|
2024-10-13 23:55:03 +03:00
|
|
|
Global.mainModule.getPass(PassCode.DownloadDVMPackage).Do();
|
2024-09-26 21:31:18 +03:00
|
|
|
}
|
2023-12-11 02:00:28 +03:00
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public String[] getUIColumnNames() {
|
|
|
|
|
return new String[]{
|
|
|
|
|
"Автор",
|
|
|
|
|
"Машина",
|
|
|
|
|
"Пользователь",
|
|
|
|
|
"DVM",
|
2024-09-18 15:25:58 +03:00
|
|
|
"Конфигурации",
|
2023-12-11 02:00:28 +03:00
|
|
|
"Задач",
|
|
|
|
|
"Ядер",
|
2023-12-11 18:29:15 +03:00
|
|
|
"Прогресс",
|
2023-12-11 02:00:28 +03:00
|
|
|
"Начало",
|
|
|
|
|
"Изменено",
|
|
|
|
|
"Статус"
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public Object getFieldAt(DVMPackage object, int columnIndex) {
|
2024-09-18 15:25:58 +03:00
|
|
|
PackageCache cache = (PackageCache) VisualCaches.GetCache(object);
|
2023-12-11 02:00:28 +03:00
|
|
|
switch (columnIndex) {
|
|
|
|
|
case 2:
|
|
|
|
|
return object.sender_name;
|
|
|
|
|
case 3:
|
|
|
|
|
return object.machine_address + ":" + object.machine_port;
|
|
|
|
|
case 4:
|
|
|
|
|
return object.user_name;
|
|
|
|
|
case 5:
|
|
|
|
|
return object.version;
|
|
|
|
|
case 6:
|
2024-09-18 15:25:58 +03:00
|
|
|
return cache.getConfigurationsDescriptions();
|
2023-12-11 02:00:28 +03:00
|
|
|
case 7:
|
2024-09-12 23:32:15 +03:00
|
|
|
return object.tasksCount;
|
2024-09-16 15:41:43 +03:00
|
|
|
case 8:
|
2024-09-12 23:32:15 +03:00
|
|
|
return object.kernels;
|
2024-09-16 15:41:43 +03:00
|
|
|
case 9:
|
2024-09-12 23:32:15 +03:00
|
|
|
return object.progress;
|
2024-09-16 15:41:43 +03:00
|
|
|
case 10:
|
2024-09-12 23:32:15 +03:00
|
|
|
return new Date(object.StartDate);
|
2024-09-16 15:41:43 +03:00
|
|
|
case 11:
|
2024-09-12 23:32:15 +03:00
|
|
|
return new Date(object.ChangeDate);
|
2024-09-16 15:41:43 +03:00
|
|
|
case 12:
|
2023-12-11 02:00:28 +03:00
|
|
|
return object.state;
|
|
|
|
|
default:
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
}
|
2024-07-21 23:42:51 +03:00
|
|
|
@Override
|
|
|
|
|
public Comparator<DVMPackage> getComparator() {
|
|
|
|
|
return new Comparator<DVMPackage>() {
|
|
|
|
|
@Override
|
|
|
|
|
public int compare(DVMPackage o1, DVMPackage o2) {
|
2024-09-12 23:32:15 +03:00
|
|
|
return o2.id - o1.id;
|
2024-07-21 23:42:51 +03:00
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
// return Comparator.comparingInt(o -> o.).reversed();
|
|
|
|
|
}
|
2024-10-14 20:57:18 +03:00
|
|
|
@Override
|
2024-10-16 20:45:59 +03:00
|
|
|
public DataMenuBar createMenuBar() {
|
2024-10-17 17:22:33 +03:00
|
|
|
return new DataMenuBar(getPluralDescription()) {
|
2024-10-16 20:45:59 +03:00
|
|
|
{
|
|
|
|
|
addPasses(PassCode.SynchronizeTests);
|
|
|
|
|
addSeparator();
|
|
|
|
|
addPasses(PassCode.AbortDVMPackage);
|
|
|
|
|
addSeparator();
|
|
|
|
|
addPasses(PassCode.DownloadDVMPackage,
|
|
|
|
|
PassCode.ExportDVMPackageToExcel,
|
|
|
|
|
PassCode.DeleteDVMPackage);
|
|
|
|
|
add(new JSeparator());
|
|
|
|
|
add(new MenuBarButton() {
|
|
|
|
|
{
|
|
|
|
|
setText("Свои");
|
|
|
|
|
setToolTipText("Отображать только пакеты тестов авторства пользователя");
|
|
|
|
|
Mark();
|
|
|
|
|
addActionListener(e -> {
|
|
|
|
|
DVMPackageDBTable.filterMyOnly = !DVMPackageDBTable.filterMyOnly;
|
|
|
|
|
Mark();
|
|
|
|
|
Global.testingServer.db.dvmPackages.ShowUI();
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
public void Mark() {
|
|
|
|
|
setIcon(Utils_.getIcon(DVMPackageDBTable.filterMyOnly ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png"));
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
add(new MenuBarButton() {
|
|
|
|
|
{
|
|
|
|
|
setText("Активные");
|
|
|
|
|
setToolTipText("Отображать только активные пакеты тестов");
|
|
|
|
|
Mark();
|
|
|
|
|
addActionListener(e -> {
|
|
|
|
|
DVMPackageDBTable.filterActive = !DVMPackageDBTable.filterActive;
|
|
|
|
|
Mark();
|
|
|
|
|
Global.testingServer.db.dvmPackages.ShowUI();
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
public void Mark() {
|
|
|
|
|
setIcon(Utils_.getIcon(DVMPackageDBTable.filterActive ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png"));
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
};
|
2024-10-14 20:57:18 +03:00
|
|
|
}
|
2024-10-16 21:58:46 +03:00
|
|
|
@Override
|
|
|
|
|
public PassCode_ getDeletePassCode() {
|
|
|
|
|
return PassCode.DeleteDVMPackage;
|
|
|
|
|
}
|
2023-12-11 02:00:28 +03:00
|
|
|
}
|