2024-10-09 22:21:57 +03:00
|
|
|
package _VisualDVM.Repository.Component;
|
2024-10-07 00:58:29 +03:00
|
|
|
import Common.Database.Tables.DataSet;
|
2024-10-16 20:45:59 +03:00
|
|
|
import Common.MainModule_;
|
2024-10-08 00:39:13 +03:00
|
|
|
import Common.Visual.DataSetControlForm;
|
2024-10-16 20:45:59 +03:00
|
|
|
import Common.Visual.Fonts.VisualiserFonts;
|
|
|
|
|
import Common.Visual.Menus.DataMenuBar;
|
|
|
|
|
import Common.Visual.Menus.VisualiserMenu;
|
2024-10-15 15:13:57 +03:00
|
|
|
import Common.Visual.Tables.RendererMaskedNanInteger;
|
|
|
|
|
import Common.Visual.Tables.RendererStatusEnum;
|
2024-10-14 15:19:13 +03:00
|
|
|
import _VisualDVM.Current;
|
2024-10-16 20:45:59 +03:00
|
|
|
import _VisualDVM.Global;
|
|
|
|
|
import _VisualDVM.Passes.PassCode;
|
2023-09-17 22:13:42 +03:00
|
|
|
|
|
|
|
|
import java.util.Vector;
|
|
|
|
|
public class ComponentsSet extends DataSet<ComponentType, Component> {
|
|
|
|
|
public ComponentsSet() {
|
|
|
|
|
super(ComponentType.class, Component.class);
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public String getSingleDescription() {
|
|
|
|
|
return "компонент";
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public String getPluralDescription() {
|
|
|
|
|
return "компоненты";
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
protected DataSetControlForm createUI() {
|
|
|
|
|
return new DataSetControlForm(this) {
|
|
|
|
|
@Override
|
|
|
|
|
public boolean hasCheckBox() {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
protected void AdditionalInitColumns() {
|
|
|
|
|
columns.get(0).setVisible(false);
|
2024-10-15 15:13:57 +03:00
|
|
|
columns.get(3).setRendererClass(RendererMaskedNanInteger.class);
|
|
|
|
|
columns.get(4).setRendererClass(RendererMaskedNanInteger.class);
|
|
|
|
|
columns.get(6).setRendererClass(RendererStatusEnum.class);
|
2023-09-17 22:13:42 +03:00
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public String[] getUIColumnNames() {
|
|
|
|
|
return new String[]{"Компонент", "Текущая версия", "Актуальная версия", "Дата сборки", "Статус"};
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public Object getFieldAt(Component object, int columnIndex) {
|
|
|
|
|
switch (columnIndex) {
|
|
|
|
|
case 2:
|
|
|
|
|
return object.getComponentType().getDescription();
|
|
|
|
|
case 3:
|
|
|
|
|
return object.version;
|
|
|
|
|
case 4:
|
|
|
|
|
return object.actual_version;
|
|
|
|
|
case 5:
|
|
|
|
|
return object.date_text;
|
|
|
|
|
case 6:
|
|
|
|
|
return object.getState();
|
|
|
|
|
default:
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public Current CurrentName() {
|
|
|
|
|
return Current.Component;
|
|
|
|
|
}
|
|
|
|
|
@Override
|
2024-10-16 18:58:23 +03:00
|
|
|
public Vector<Component> getSelectedItems() {
|
2023-09-17 22:13:42 +03:00
|
|
|
Vector<Component> target = new Vector<>();
|
|
|
|
|
Component visualiser = null;
|
|
|
|
|
Component server = null;
|
|
|
|
|
//------------------------
|
2024-10-16 18:58:23 +03:00
|
|
|
for (Component component : super.getSelectedItems()) {
|
2023-09-17 22:13:42 +03:00
|
|
|
switch (component.getComponentType()) {
|
|
|
|
|
case Visualizer_2:
|
|
|
|
|
server = component;
|
|
|
|
|
break;
|
|
|
|
|
case Visualiser:
|
|
|
|
|
visualiser = component;
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
target.add(component);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (visualiser != null)
|
|
|
|
|
target.add(visualiser);
|
|
|
|
|
if (server != null)
|
|
|
|
|
target.add(server);
|
|
|
|
|
return target;
|
|
|
|
|
}
|
2024-10-14 20:57:18 +03:00
|
|
|
@Override
|
2024-10-16 20:45:59 +03:00
|
|
|
public DataMenuBar createMenuBar() {
|
|
|
|
|
return new DataMenuBar(getPluralDescription(), PassCode.InstallComponentFromFolder,
|
|
|
|
|
PassCode.UpdateSelectedComponents,
|
|
|
|
|
PassCode.PublishComponent,
|
2024-10-17 17:22:33 +03:00
|
|
|
PassCode.ShowComponentChangesLog) {
|
2024-10-16 20:45:59 +03:00
|
|
|
{
|
|
|
|
|
addMenus(
|
|
|
|
|
new VisualiserMenu(
|
|
|
|
|
"Восстановление предыдущей версии компонента", "/icons/Resurrect.png") {
|
|
|
|
|
{
|
|
|
|
|
setFont(MainModule_.instance.getUI().getTheme().Fonts.get(VisualiserFonts.Menu));
|
|
|
|
|
add(Global.mainModule.getPass(PassCode.ResurrectComponent).createMenuItem());
|
|
|
|
|
add(Global.mainModule.getPass(PassCode.ResurrectComponentFromServer).createMenuItem());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
Global.mainModule.getPass(PassCode.PublishComponent).setControlsVisible(false);
|
|
|
|
|
}
|
|
|
|
|
};
|
2024-10-14 20:57:18 +03:00
|
|
|
}
|
2023-09-17 22:13:42 +03:00
|
|
|
}
|