package _VisualDVM.Passes.All; import Common.Utils.Utils_; import _VisualDVM.Global; import _VisualDVM.Passes.Server.ComponentsRepositoryPass; import _VisualDVM.Repository.Server.ServerCode; import _VisualDVM.Repository.Server.ServerExchangeUnit_2021; import _VisualDVM.Utils; import org.apache.commons.io.FileUtils; import java.io.File; public class SynchronizeBugReports extends ComponentsRepositoryPass { File new_db_file; @Override public String getIconPath() { return "/icons/ComponentsActual.png"; } @Override public String getButtonText() { return ""; } @Override protected boolean canStart(Object... args) throws Exception { return Global.mainModule.getAccount().CheckRegistered(Log); } @Override protected void showPreparation() throws Exception { server.db.bugReports.SaveLastSelections(); server.db.bugReports.ClearUI(); server.db.subscribers.ClearUI(); server.db.workspaces.ClearUI(); } @Override protected void ServerAction() throws Exception { Command(new ServerExchangeUnit_2021(ServerCode.ReceiveBugReportsDatabase)); response.Unpack(new_db_file = Utils.getTempFileName("bdb")); } @Override protected void performDone() throws Exception { super.performDone(); server.db.Disconnect(); Utils_.forceDeleteWithCheck(server.db.getFile()); FileUtils.moveFile(new_db_file, server.db.getFile()); server.db.Connect(); server.db.prepareTablesStatements(); server.db.Synchronize(); } @Override protected void showDone() throws Exception { if (Global.mainModule.getUI().hasMainWindow()) { Global.mainModule.getUI().getMainWindow().getCallbackWindow().ShowBugReports(); Global.componentsServer.db.bugReports.RestoreLastSelections(); server.db.subscribers.RestoreLastSelections(); server.db.workspaces.RestoreLastSelections(); } } }