Files
VisualSapfor/src/_VisualDVM/Passes/All/GetComponentsActualVersions.java

42 lines
2.0 KiB
Java
Raw Normal View History

2024-10-14 12:14:01 +03:00
package _VisualDVM.Passes.All;
import _VisualDVM.Global;
2024-10-14 15:19:13 +03:00
import _VisualDVM.Passes.Server.ComponentsRepositoryPass;
2024-10-09 22:21:57 +03:00
import _VisualDVM.Repository.Component.Component;
import _VisualDVM.Repository.Component.ComponentType;
import _VisualDVM.Repository.Server.ServerCode;
import _VisualDVM.Repository.Server.ServerExchangeUnit_2021;
2023-09-17 22:13:42 +03:00
import java.util.LinkedHashMap;
import java.util.Vector;
public class GetComponentsActualVersions extends ComponentsRepositoryPass {
@Override
public String getIconPath() {
return "/icons/Components.png";
}
@Override
public String getButtonText() {
return "";
}
@Override
protected void ServerAction() throws Exception {
Vector<String> versions = new Vector<>();
for (Component component : Global.components.Data.values())
2024-10-20 21:59:39 +03:00
versions.add(component.getComponentType().toString());
2023-09-17 22:13:42 +03:00
Command(new ServerExchangeUnit_2021(ServerCode.GetComponentsVersions, String.join("\n", versions)));
LinkedHashMap<ComponentType, String> response_actual_versions = (LinkedHashMap<ComponentType, String>) server_response.object;
2023-09-17 22:13:42 +03:00
for (ComponentType componentType : response_actual_versions.keySet()) {
Global.components.get(componentType).unpackActualVersion(response_actual_versions.get(componentType));
2023-09-17 22:13:42 +03:00
}
//-- получить актуальные версии с сервера.
Command(new ServerExchangeUnit_2021(ServerCode.GetComponentsMinimalVersions, String.join("\n", versions)));
LinkedHashMap<ComponentType, String> response_minimal_versions = (LinkedHashMap<ComponentType, String>) server_response.object;
2023-09-17 22:13:42 +03:00
for (ComponentType componentType : response_minimal_versions.keySet()) {
Global.components.get(componentType).unpackMinimalVersion(response_minimal_versions.get(componentType));
2023-09-17 22:13:42 +03:00
}
for (Component component : Global.components.Data.values()) {
2023-09-17 22:13:42 +03:00
if (component.CanBeUpdated())
component.CheckIfNeedsUpdateOrPublish();
}
}
}