package _VisualDVM.Repository.Component; import Common.Database.Tables.DataSet; import Common.MainModule_; import Common.Visual.DataSetControlForm; import Common.Visual.Fonts.VisualiserFonts; import Common.Visual.Menus.DataMenuBar; import Common.Visual.Menus.VisualiserMenu; import Common.Visual.Tables.RendererMaskedNanInteger; import Common.Visual.Tables.RendererStatusEnum; import _VisualDVM.Current; import _VisualDVM.Global; import _VisualDVM.Passes.PassCode; import javax.swing.*; import java.util.Vector; public class ComponentsSet extends DataSet { public ComponentsSet() { super(ComponentType.class, Component.class); } @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 protected void AdditionalInitColumns() { columns.get(0).setVisible(false); columns.get(3).setRendererClass(RendererMaskedNanInteger.class); columns.get(4).setRendererClass(RendererMaskedNanInteger.class); columns.get(6).setRendererClass(RendererStatusEnum.class); } @Override public DataMenuBar createMenuBar() { return new DataMenuBar(getPluralDescription(), PassCode.InstallComponentFromFolder, PassCode.UpdateSelectedComponents, PassCode.PublishComponent, PassCode.ShowComponentChangesLog) { { 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); } }; } }; } @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 public Vector getSelectedItems() { Vector target = new Vector<>(); Component visualiser = null; Component server = null; //------------------------ for (Component component : super.getSelectedItems()) { 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; } }