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

50 lines
1.8 KiB
Java
Raw Normal View History

2024-10-14 12:14:01 +03:00
package _VisualDVM.Passes.All;
2024-10-14 15:19:13 +03:00
import Common.Passes.Pass;
import Common.Passes.PassException;
2024-10-11 00:00:30 +03:00
import Common.Utils.Utils_;
2025-02-18 16:21:20 +03:00
import _VisualDVM.ComponentsServer.Component.Component;
import _VisualDVM.Global;
2024-10-14 12:14:01 +03:00
import _VisualDVM.Passes.PassCode;
2024-10-09 23:37:58 +03:00
public class UpdateComponent extends Pass<Component> {
2023-09-17 22:13:42 +03:00
@Override
2024-10-09 23:37:58 +03:00
protected PassCode necessary() {
return PassCode.CreateComponentBackUp;
2023-09-17 22:13:42 +03:00
}
@Override
protected boolean resetsNecessary() {
return true;
}
@Override
protected void body() throws Exception {
target = Global.components.getUI().getCurrent();
2024-10-10 14:29:54 +03:00
PassCode subPassCode = null;
2023-09-17 22:13:42 +03:00
//<editor-fold desc="получение нового файла компонента">
switch (target.getComponentType()) {
2023-09-17 22:13:42 +03:00
case Sapfor_F:
case Visualizer_2:
2024-10-11 00:00:30 +03:00
subPassCode = Utils_.isWindows() ? PassCode.DownloadComponent : PassCode.BuildComponent;
2023-09-17 22:13:42 +03:00
break;
case Visualiser:
case Instruction:
case PerformanceAnalyzer:
2024-10-10 14:29:54 +03:00
subPassCode = PassCode.DownloadComponent;
2023-09-17 22:13:42 +03:00
break;
}
if ((subPassCode != null) && Global.mainModule.getPass(subPassCode).Do()) {
2023-09-17 22:13:42 +03:00
//</editor-fold>
if (!target.getNewFile().exists())
throw new PassException("Не удалось получить новый файл для компонента " + target.getComponentType().getDescription());
2023-09-17 22:13:42 +03:00
//непосредственное обновление.
target.Update();
2023-09-17 22:13:42 +03:00
}
}
@Override
protected void performFinish() throws Exception {
target.CheckIfNeedsUpdateOrPublish();
2023-09-17 22:13:42 +03:00
}
@Override
protected void showDone() throws Exception {
2024-10-22 20:18:50 +03:00
Global.components.refreshUpdatesStatus();
2023-09-17 22:13:42 +03:00
}
}