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

50 lines
1.8 KiB
Java
Raw Normal View History

package Visual_DVM_2021.Passes.All;
2024-10-07 22:04:09 +03:00
import Common.Utils.CommonUtils;
2024-10-09 22:01:19 +03:00
import _VisualDVM.Current;
import _VisualDVM.Global;
2024-10-09 22:21:57 +03:00
import _VisualDVM.Repository.Component.Component;
2024-10-09 23:37:58 +03:00
import Visual_DVM_2021.Passes.PassCode;
2024-10-10 23:57:36 +03:00
import Common.Passes.PassException;
import Common.Passes.Pass;
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 {
2024-10-10 14:29:54 +03:00
PassCode subPassCode = null;
2023-09-17 22:13:42 +03:00
//<editor-fold desc="получение нового файла компонента">
switch (Current.getComponent().getComponentType()) {
case Sapfor_F:
case Visualizer_2:
2024-10-10 14:29:54 +03:00
subPassCode = CommonUtils.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;
}
2024-10-10 14:29:54 +03:00
if ((subPassCode != null) && passes.get(subPassCode).Do()) {
2023-09-17 22:13:42 +03:00
//</editor-fold>
if (!Current.getComponent().getNewFile().exists())
throw new PassException("Не удалось получить новый файл для компонента " + Current.getComponent().getComponentType().getDescription());
//непосредственное обновление.
Current.getComponent().Update();
}
}
@Override
protected void performFinish() throws Exception {
Current.getComponent().CheckIfNeedsUpdateOrPublish();
}
@Override
protected void showDone() throws Exception {
Global.RefreshUpdatesStatus();
}
}