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

150 lines
6.2 KiB
Java

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;
import _VisualDVM.Current;
import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.ServerObjectsCache.PackageCache;
import _VisualDVM.ServerObjectsCache.VisualCaches;
import javax.swing.*;
import java.util.Comparator;
import java.util.Date;
public class DVMPackageDBTable extends iDBTable<DVMPackage> {
public static boolean filterMyOnly = false;
public static boolean filterActive = false;
public DVMPackageDBTable() {
super(DVMPackage.class);
}
@Override
public Current CurrentName() {
return Current.DVMPackage;
}
@Override
public String getSingleDescription() {
return "пакет";
}
@Override
public String getPluralDescription() {
return "пакеты";
}
@Override
protected DataSetControlForm createUI(JPanel mountPanel) {
return new DataSetControlForm(this, mountPanel) {
@Override
public boolean hasCheckBox() {
return true;
}
@Override
public String[] getUIColumnNames() {
return new String[]{
"Автор",
"Машина",
"Пользователь",
"DVM",
"Конфигурации",
"Задач",
"Ядер",
"Прогресс",
"Начало",
"Изменено",
"Статус"
};
}
@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);
}
@Override
public void ShowCurrentObject() throws Exception {
super.ShowCurrentObject();
//--
Global.testingServer.db.dvmRunTasks.ShowDVMPackage(getCurrent());
Global.mainModule.getUI().getMainWindow().getTestingWindow().DropTestRunTasksComparison();
//--
}
@Override
public void ShowNoCurrentObject() throws Exception {
super.ShowNoCurrentObject();
Global.testingServer.db.dvmRunTasks.ShowNoPackage();
Global.mainModule.getUI().getMainWindow().getTestingWindow().DropTestRunTasksComparison();
}
@Override
public void MouseAction2() throws Exception {
Global.mainModule.getPass(PassCode.DownloadDVMPackage).Do();
}
@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 Comparator<DVMPackage> getComparator() {
return new Comparator<DVMPackage>() {
@Override
public int compare(DVMPackage o1, DVMPackage o2) {
return o2.id - o1.id;
}
};
// return Comparator.comparingInt(o -> o.).reversed();
}
@Override
public PassCode_ getDeletePassCode() {
return PassCode.DeleteDVMPackage;
}
}