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