package Visual_DVM_2021.Passes.All; import Common.Utils.CommonUtils; import Common_old.Current; import _VisualDVM.Global; import Repository.Component.Component; import Visual_DVM_2021.Passes.PassCode_2021; import Visual_DVM_2021.Passes.PassException; import Visual_DVM_2021.Passes.Pass_2021; public class UpdateComponent extends Pass_2021 { @Override protected PassCode_2021 necessary() { return PassCode_2021.CreateComponentBackUp; } @Override protected boolean resetsNecessary() { return true; } @Override protected void body() throws Exception { PassCode_2021 subPass = PassCode_2021.Undefined; // switch (Current.getComponent().getComponentType()) { case Sapfor_F: case Visualizer_2: subPass = CommonUtils.isWindows() ? PassCode_2021.DownloadComponent : PassCode_2021.BuildComponent; break; case Visualiser: case Instruction: case PerformanceAnalyzer: subPass = PassCode_2021.DownloadComponent; break; } if ((subPass != PassCode_2021.Undefined) && passes.get(subPass).Do()) { // 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(); } }