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-08 00:39:13 +03:00
|
|
|
import Common.Visual.DataSetControlForm;
|
2024-10-22 20:16:57 +03:00
|
|
|
import _VisualDVM.Global;
|
2024-10-20 17:27:58 +03:00
|
|
|
import _VisualDVM.Repository.Component.UI.ComponentsForm;
|
2023-09-17 22:13:42 +03:00
|
|
|
|
2024-10-17 20:04:16 +03:00
|
|
|
import javax.swing.*;
|
2023-09-17 22:13:42 +03:00
|
|
|
public class ComponentsSet extends DataSet<ComponentType, Component> {
|
2024-10-22 20:16:57 +03:00
|
|
|
public boolean bad_state = false;
|
|
|
|
|
public boolean need_update = false;
|
|
|
|
|
public boolean need_publish = false;
|
|
|
|
|
public boolean needWindow() {
|
|
|
|
|
return bad_state || need_update;
|
|
|
|
|
}
|
|
|
|
|
public String getButtonIconPath() {
|
|
|
|
|
return needWindow() ? "/icons/ComponentsNeedUpdate.gif"
|
|
|
|
|
: (need_publish ? "/icons/ComponentsNeedPublish_2023.gif" : "/icons/ComponentsActual.png");
|
|
|
|
|
}
|
2023-09-17 22:13:42 +03:00
|
|
|
public ComponentsSet() {
|
|
|
|
|
super(ComponentType.class, Component.class);
|
|
|
|
|
}
|
|
|
|
|
@Override
|
2024-10-22 19:17:01 +03:00
|
|
|
public String getSingleDescription() {
|
|
|
|
|
return "компонент";
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public String getPluralDescription() {
|
|
|
|
|
return "компоненты";
|
|
|
|
|
}
|
|
|
|
|
@Override
|
2024-10-17 20:04:16 +03:00
|
|
|
protected DataSetControlForm createUI(JPanel mountPanel) {
|
2024-10-20 17:27:58 +03:00
|
|
|
return new ComponentsForm(this, mountPanel);
|
2023-09-17 22:13:42 +03:00
|
|
|
}
|
2024-10-22 20:16:57 +03:00
|
|
|
//--
|
|
|
|
|
public void RefreshUpdatesStatus() {
|
|
|
|
|
if (getUI() != null)
|
|
|
|
|
getUI().Refresh();
|
|
|
|
|
validateStates();
|
|
|
|
|
if (Global.mainModule.getUI().hasMainWindow())
|
|
|
|
|
Global.mainModule.getUI().getMainWindow().ShowUpdatesIcon();
|
|
|
|
|
}
|
|
|
|
|
public boolean validateStates() {
|
|
|
|
|
bad_state = need_update = need_publish = false;
|
|
|
|
|
for (Component component : Data.values()) {
|
|
|
|
|
switch (component.getState()) {
|
|
|
|
|
case Not_found:
|
|
|
|
|
case Unknown_version:
|
|
|
|
|
case Old_version:
|
|
|
|
|
if (component.isNecessary())
|
|
|
|
|
bad_state = true;
|
|
|
|
|
component.Select(true);
|
|
|
|
|
break;
|
|
|
|
|
case Needs_update:
|
|
|
|
|
need_update = true;
|
|
|
|
|
component.Select(true);
|
|
|
|
|
break;
|
|
|
|
|
case Needs_publish:
|
|
|
|
|
need_publish = true;
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
component.Select(false);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
// }
|
|
|
|
|
}
|
|
|
|
|
return !bad_state;
|
|
|
|
|
}
|
2023-09-17 22:13:42 +03:00
|
|
|
}
|