Files
VisualSapfor/src/_VisualDVM/TestingSystem/DVM/DVMPackage/DVMPackageDBTable.java

180 lines
6.7 KiB
Java
Raw Normal View History

2024-10-09 22:21:57 +03:00
package _VisualDVM.TestingSystem.DVM.DVMPackage;
import Common.Database.Tables.iDBTable;
import Common.Passes.PassCode_;
import Common.Utils.Utils_;
import Common.Visual.Controls.MenuBarButton;
import Common.Visual.DataSetControlForm;
import Common.Visual.Menus.DataMenuBar;
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
import javax.swing.*;
import java.util.Comparator;
2023-12-11 02:00:28 +03:00
import java.util.Date;
public class DVMPackageDBTable extends iDBTable<DVMPackage> {
public static boolean filterMyOnly = false;
public static boolean filterActive = false;
2023-12-11 02:00:28 +03:00
public DVMPackageDBTable() {
super(DVMPackage.class);
2023-12-11 02:00:28 +03:00
}
@Override
public Current CurrentName() {
return Current.DVMPackage;
}
@Override
public String getSingleDescription() {
return "пакет";
2023-12-11 02:00:28 +03:00
}
@Override
public String getPluralDescription() {
return "пакеты";
2023-12-11 02:00:28 +03:00
}
@Override
protected DataSetControlForm createUI(JPanel mountPanel) {
return new DataSetControlForm(this,mountPanel) {
2023-12-11 02:00:28 +03:00
@Override
public boolean hasCheckBox() {
return true;
}
@Override
protected void AdditionalInitColumns() {
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();
//--
Global.testingServer.db.dvmRunTasks.ShowDVMPackage(getCurrent());
Global.mainModule.getUI().getMainWindow().getTestingWindow().DropTestRunTasksComparison();
//--
2023-12-11 02:00:28 +03:00
}
@Override
public void ShowNoCurrentObject() throws Exception {
super.ShowNoCurrentObject();
Global.testingServer.db.dvmRunTasks.ShowNoPackage();
Global.mainModule.getUI().getMainWindow().getTestingWindow().DropTestRunTasksComparison();
2023-12-11 02:00:28 +03:00
}
@Override
public void MouseAction2() throws Exception {
Global.mainModule.getPass(PassCode.DownloadDVMPackage).Do();
}
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 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;
}
}
@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;
}
};
// return Comparator.comparingInt(o -> o.).reversed();
}
@Override
public DataMenuBar createMenuBar() {
return new DataMenuBar(getPluralDescription()) {
{
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"));
}
});
}
};
}
@Override
public PassCode_ getDeletePassCode() {
return PassCode.DeleteDVMPackage;
}
2023-12-11 02:00:28 +03:00
}