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

49 lines
1.9 KiB
Java
Raw Normal View History

package Visual_DVM_2021.Passes.All;
2023-09-17 22:13:42 +03:00
import Common.Current;
import Common.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;
2023-09-17 22:13:42 +03:00
public class UpdateComponent extends Pass_2021<Component> {
@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;
//<editor-fold desc="получение нового файла компонента">
switch (Current.getComponent().getComponentType()) {
case Sapfor_F:
case Visualizer_2:
subPass = Global.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()) {
//</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();
}
}