From 8f4880cd6d0bd1d2339b948e22f24aba5105b51f Mon Sep 17 00:00:00 2001 From: Bryant Date: Wed, 30 Oct 2019 18:23:23 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-23486=20=E4=BF=AE=E5=A4=8Dbug=E4=BB=A5?= =?UTF-8?q?=E5=8F=8A=E6=9B=B4=E6=94=B9=E6=96=87=E4=BB=B6=E5=A4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../update/actions/RecoverForDesigner.java | 31 +++++++++++-------- .../update/ui/dialog/RestoreResultDialog.java | 2 +- .../update/ui/dialog/UpdateMainDialog.java | 14 ++++----- 3 files changed, 26 insertions(+), 21 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/update/actions/RecoverForDesigner.java b/designer-base/src/main/java/com/fr/design/update/actions/RecoverForDesigner.java index 75b5e3fadd..92493430f4 100644 --- a/designer-base/src/main/java/com/fr/design/update/actions/RecoverForDesigner.java +++ b/designer-base/src/main/java/com/fr/design/update/actions/RecoverForDesigner.java @@ -6,12 +6,10 @@ import com.fr.decision.update.exception.UpdateException; import com.fr.design.mainframe.DesignerContext; import com.fr.general.CommonIOUtils; import com.fr.general.GeneralUtils; -import com.fr.general.IOUtils; import com.fr.log.FineLoggerFactory; import com.fr.stable.CommonUtils; import com.fr.stable.StableUtils; import com.fr.stable.project.ProjectConstants; -import com.fr.workspace.WorkContext; import java.io.File; import java.io.IOException; @@ -23,10 +21,13 @@ import java.io.IOException; */ public class RecoverForDesigner implements Recover { + private final String installHome = StableUtils.getInstallHome(); + @Override public boolean recover() { try{ - CommonIOUtils.copyFilesInDirByPath(StableUtils.pathJoin(StableUtils.getInstallHome(), UpdateConstants.DESIGNERBACKUPPATH), + CommonIOUtils.copyFilesInDirByPath(StableUtils.pathJoin(installHome, ProjectConstants.LOGS_NAME, + UpdateConstants.INSTALL_LIB, UpdateConstants.DESIGNERBACKUPPATH), StableUtils.pathJoin(StableUtils.getInstallHome(), ProjectConstants.LIB_NAME)); return true; } catch (IOException ignore) { @@ -37,16 +38,20 @@ public class RecoverForDesigner implements Recover { @Override public boolean backup() { - String installHome = StableUtils.getInstallHome(); //jar包备份文件的目录为"backup/"+jar包当前版本号 String todayBackupDir = StableUtils.pathJoin(installHome, UpdateConstants.DESIGNER_BACKUP_DIR, (GeneralUtils.readBuildNO())); - backupFilesFromInstallEnv(todayBackupDir); + String envHome = StableUtils.pathJoin(installHome, UpdateConstants.WEBAPPS, ProjectConstants.WEBAPP_NAME, ProjectConstants.WEBINF_NAME); + backupFilesFromInstallEnv(envHome, todayBackupDir); backupFilesFromInstallLib(installHome, todayBackupDir); try { - File file = new File(StableUtils.pathJoin(installHome, UpdateConstants.DOWNLOADPATH)); - CommonUtils.mkdirs(file); - IOUtils.copyFilesInDirByPath(StableUtils.pathJoin(installHome,ProjectConstants.LIB_NAME), - StableUtils.pathJoin(installHome, UpdateConstants.DESIGNERBACKUPPATH)); + String installBackup = StableUtils.pathJoin(installHome, ProjectConstants.LOGS_NAME, + UpdateConstants.INSTALL_LIB); + File installLib = new File(installBackup); + CommonUtils.mkdirs(installLib); + File download = new File(StableUtils.pathJoin(installBackup,UpdateConstants.DOWNLOADPATH)); + CommonUtils.mkdirs(download); + CommonIOUtils.copyFilesInDirByPath(StableUtils.pathJoin(installHome,ProjectConstants.LIB_NAME), + StableUtils.pathJoin(installBackup,UpdateConstants.DESIGNERBACKUPPATH)); DesignerContext.getDesignerFrame().prepareForExit(); return true; } catch (IOException e) { @@ -56,11 +61,11 @@ public class RecoverForDesigner implements Recover { } } - private void backupFilesFromInstallEnv(String todayBackupDir) { + private void backupFilesFromInstallEnv(String envHome, String todayBackupDir) { try { CommonUtils.mkdirs(new File(StableUtils.pathJoin(todayBackupDir,UpdateConstants.BACKUPPATH))); - IOUtils.copyFilesInDirByPath( - StableUtils.pathJoin(WorkContext.getCurrent().getPath(),ProjectConstants.LIB_NAME), + CommonIOUtils.copyFilesInDirByPath( + StableUtils.pathJoin(envHome,ProjectConstants.LIB_NAME), StableUtils.pathJoin(todayBackupDir,UpdateConstants.BACKUPPATH)); } catch (IOException e) { UpdateException exception = new UpdateException(e.getMessage()); @@ -71,7 +76,7 @@ public class RecoverForDesigner implements Recover { private void backupFilesFromInstallLib(String installHome, String todayBackupDir) { try { CommonUtils.mkdirs(new File(StableUtils.pathJoin(todayBackupDir,UpdateConstants.DESIGNERBACKUPPATH))); - IOUtils.copyFilesInDirByPath( + CommonIOUtils.copyFilesInDirByPath( StableUtils.pathJoin(installHome,ProjectConstants.LIB_NAME), StableUtils.pathJoin(todayBackupDir,UpdateConstants.DESIGNERBACKUPPATH)); } catch (IOException e) { diff --git a/designer-base/src/main/java/com/fr/design/update/ui/dialog/RestoreResultDialog.java b/designer-base/src/main/java/com/fr/design/update/ui/dialog/RestoreResultDialog.java index 40516e2082..225ab1312c 100644 --- a/designer-base/src/main/java/com/fr/design/update/ui/dialog/RestoreResultDialog.java +++ b/designer-base/src/main/java/com/fr/design/update/ui/dialog/RestoreResultDialog.java @@ -169,7 +169,7 @@ public class RestoreResultDialog extends JDialog { private void filesToMove(String installHome, Map map) { String backupDir = UpdateConstants.DESIGNER_BACKUP_DIR; - String envHome = WorkContext.getCurrent().getPath(); + String envHome = StableUtils.pathJoin(installHome, UpdateConstants.WEBAPPS, ProjectConstants.WEBAPP_NAME, ProjectConstants.WEBINF_NAME); File installLib = new File(StableUtils.pathJoin(installHome, backupDir, jarRestoreDir, UpdateConstants.DESIGNERBACKUPPATH)); File envLib = new File(StableUtils.pathJoin(installHome, backupDir, jarRestoreDir, UpdateConstants.BACKUPPATH)); File[] files; diff --git a/designer-base/src/main/java/com/fr/design/update/ui/dialog/UpdateMainDialog.java b/designer-base/src/main/java/com/fr/design/update/ui/dialog/UpdateMainDialog.java index c736b6383b..1fb21d41cb 100644 --- a/designer-base/src/main/java/com/fr/design/update/ui/dialog/UpdateMainDialog.java +++ b/designer-base/src/main/java/com/fr/design/update/ui/dialog/UpdateMainDialog.java @@ -30,6 +30,7 @@ import com.fr.json.JSONArray; import com.fr.json.JSONObject; import com.fr.log.FineLoggerFactory; import com.fr.stable.*; +import com.fr.stable.project.ProjectConstants; import com.fr.third.org.apache.http.client.methods.CloseableHttpResponse; import com.fr.third.org.apache.http.client.methods.HttpGet; import com.fr.third.org.apache.http.impl.client.CloseableHttpClient; @@ -593,19 +594,20 @@ public class UpdateMainDialog extends UIDialog { updateButton.setEnabled(false); updateLabel.setVisible(false); RestoreResultDialog.deletePreviousPropertyFile(); + final String installLib = StableUtils.pathJoin(StableUtils.getInstallHome(), ProjectConstants.LOGS_NAME, UpdateConstants.INSTALL_LIB); final JFrame frame = DesignerContext.getDesignerFrame(); final RestartHelper helper = new RestartHelper(); new FileProcess(callBack) { @Override public void onDownloadSuccess() { progressBar.setVisible(false); - deleteForDesignerUpdate(); + deleteForDesignerUpdate(installLib); helper.restartForUpdate(frame); } @Override public void onDownloadFailed() { progressBar.setVisible(false); - deleteForDesignerUpdate(); + deleteForDesignerUpdate(installLib); JOptionPane.showMessageDialog(getParent(), Toolkit.i18nText("Fine-Design_Update_Info_Failed_Message")); helper.restartForUpdate(frame); } @@ -615,11 +617,9 @@ public class UpdateMainDialog extends UIDialog { }); } - private void deleteForDesignerUpdate() { - File designerBackup = new File(StableUtils.pathJoin(StableUtils.getInstallHome(),UpdateConstants.DESIGNERBACKUPPATH)); - CommonUtils.deleteFile(designerBackup); - File downloadForDesigner = new File(StableUtils.pathJoin(StableUtils.getInstallHome(),UpdateConstants.DOWNLOADPATH)); - CommonUtils.deleteFile(downloadForDesigner); + private void deleteForDesignerUpdate(String installLib) { + File dir = new File(installLib); + CommonUtils.deleteFile(dir); } //获取备份目录