|
|
|
@ -1,7 +1,6 @@
|
|
|
|
|
package com.fr.design.update.ui.dialog; |
|
|
|
|
|
|
|
|
|
import com.fr.decision.update.data.UpdateConstants; |
|
|
|
|
import com.fr.decision.update.exception.UpdateException; |
|
|
|
|
import com.fr.decision.update.info.UpdateCallBack; |
|
|
|
|
import com.fr.decision.update.info.UpdateProgressCallBack; |
|
|
|
|
import com.fr.design.RestartHelper; |
|
|
|
@ -31,7 +30,6 @@ 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; |
|
|
|
@ -586,40 +584,29 @@ public class UpdateMainDialog extends UIDialog {
|
|
|
|
|
updateButton.addActionListener(new ActionListener() { |
|
|
|
|
@Override |
|
|
|
|
public void actionPerformed(ActionEvent e) { |
|
|
|
|
if (backup()) { |
|
|
|
|
int a = JOptionPane.showConfirmDialog(getParent(), Toolkit.i18nText("Fine-Design_Update_Info_Information"),Toolkit.i18nText("Fine-Design_Update_Info_Title"), JOptionPane.OK_CANCEL_OPTION); |
|
|
|
|
if (a == 0) { |
|
|
|
|
progressBar.setVisible(true); |
|
|
|
|
progressBar.setString(Toolkit.i18nText("Fine-Design_Update_Info_Wait_Message")); |
|
|
|
|
UpdateCallBack callBack = new UpdateProgressCallBack(progressBar); |
|
|
|
|
updateButton.setEnabled(false); |
|
|
|
|
updateLabel.setVisible(false); |
|
|
|
|
new FileProcess(callBack) { |
|
|
|
|
@Override |
|
|
|
|
public void onDownloadSuccess() { |
|
|
|
|
progressBar.setVisible(false); |
|
|
|
|
deleteForDesignerUpdate(); |
|
|
|
|
RestartHelper.restart(); |
|
|
|
|
} |
|
|
|
|
@Override |
|
|
|
|
public void onDownloadFailed() { |
|
|
|
|
progressBar.setVisible(false); |
|
|
|
|
try { |
|
|
|
|
IOUtils.copyFilesInDirByPath(StableUtils.pathJoin(StableUtils.getInstallHome(),UpdateConstants.DESIGNERBACKUPPATH), |
|
|
|
|
StableUtils.pathJoin(StableUtils.getInstallHome(),ProjectConstants.LIB_NAME)); |
|
|
|
|
} catch (IOException e) { |
|
|
|
|
UpdateException exception = new UpdateException(e.getMessage()); |
|
|
|
|
FineLoggerFactory.getLogger().error(exception.getMessage() + "recover for design failed"); |
|
|
|
|
} finally { |
|
|
|
|
deleteForDesignerUpdate(); |
|
|
|
|
} |
|
|
|
|
JOptionPane.showMessageDialog(getParent(), Toolkit.i18nText("Fine-Design_Update_Info_Failed_Message")); |
|
|
|
|
RestartHelper.restart(); |
|
|
|
|
} |
|
|
|
|
}.execute(); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
JOptionPane.showMessageDialog(getParent(),Toolkit.i18nText("Fine-Design_Update_Info_Backup_Message")); |
|
|
|
|
jarCurrentLabel.setText(downloadFileConfig.optString("buildNO")); |
|
|
|
|
int a = JOptionPane.showConfirmDialog(getParent(), Toolkit.i18nText("Fine-Design_Update_Info_Information"),Toolkit.i18nText("Fine-Design_Update_Info_Title"), JOptionPane.OK_CANCEL_OPTION); |
|
|
|
|
if (a == 0) { |
|
|
|
|
progressBar.setVisible(true); |
|
|
|
|
progressBar.setString(Toolkit.i18nText("Fine-Design_Update_Info_Wait_Message")); |
|
|
|
|
UpdateCallBack callBack = new UpdateProgressCallBack(progressBar); |
|
|
|
|
updateButton.setEnabled(false); |
|
|
|
|
updateLabel.setVisible(false); |
|
|
|
|
new FileProcess(callBack) { |
|
|
|
|
@Override |
|
|
|
|
public void onDownloadSuccess() { |
|
|
|
|
progressBar.setVisible(false); |
|
|
|
|
deleteForDesignerUpdate(); |
|
|
|
|
RestartHelper.restart(); |
|
|
|
|
} |
|
|
|
|
@Override |
|
|
|
|
public void onDownloadFailed() { |
|
|
|
|
progressBar.setVisible(false); |
|
|
|
|
deleteForDesignerUpdate(); |
|
|
|
|
JOptionPane.showMessageDialog(getParent(), Toolkit.i18nText("Fine-Design_Update_Info_Failed_Message")); |
|
|
|
|
RestartHelper.restart(); |
|
|
|
|
} |
|
|
|
|
}.execute(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
@ -632,53 +619,6 @@ public class UpdateMainDialog extends UIDialog {
|
|
|
|
|
CommonUtils.deleteFile(downloadForDesigner); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Jar还原按钮兼容 |
|
|
|
|
*/ |
|
|
|
|
private boolean backup() { |
|
|
|
|
String installHome = StableUtils.getInstallHome(); |
|
|
|
|
//jar包备份文件的目录为"backup/"+jar包当前版本号
|
|
|
|
|
String todayBackupDir = StableUtils.pathJoin(installHome, getBackupDirectory(), (GeneralUtils.readBuildNO())); |
|
|
|
|
backupFilesFromInstallEnv(installHome, todayBackupDir); |
|
|
|
|
backupFilesFromInstallLib(installHome, todayBackupDir); |
|
|
|
|
jarCurrentLabel.setText(downloadFileConfig.optString("buildNO")); |
|
|
|
|
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)); |
|
|
|
|
return true; |
|
|
|
|
}catch (IOException e) { |
|
|
|
|
UpdateException exception = new UpdateException("Backup Exception for designer" + e.getMessage()); |
|
|
|
|
FineLoggerFactory.getLogger().error(exception.getMessage(),exception); |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void backupFilesFromInstallEnv(String installHome, String todayBackupDir) { |
|
|
|
|
for (String file : UpdateConstants.JARS_FOR_SERVER_X) { |
|
|
|
|
try { |
|
|
|
|
IOUtils.copy( |
|
|
|
|
new File(StableUtils.pathJoin(installHome, UpdateConstants.APPS_FOLDER_NAME, ProductConstants.getAppFolderName(), ProjectConstants.WEBINF_NAME, ProjectConstants.LIB_NAME, file)), |
|
|
|
|
new File(StableUtils.pathJoin(todayBackupDir))); |
|
|
|
|
} catch (IOException e) { |
|
|
|
|
FineLoggerFactory.getLogger().error(e.getMessage()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void backupFilesFromInstallLib(String installHome, String todayBackupDir) { |
|
|
|
|
for (String file : UpdateConstants.JARS_FOR_DESIGNER_X) { |
|
|
|
|
try { |
|
|
|
|
IOUtils.copy( |
|
|
|
|
new File(StableUtils.pathJoin(installHome, ProjectConstants.LIB_NAME, file)), |
|
|
|
|
new File(StableUtils.pathJoin(todayBackupDir))); |
|
|
|
|
} catch (IOException e) { |
|
|
|
|
FineLoggerFactory.getLogger().error(e.getMessage()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//获取备份目录
|
|
|
|
|
private String getBackupDirectory() { |
|
|
|
|
return UpdateConstants.DESIGNER_BACKUP_DIR; |
|
|
|
|