Browse Source

Merge pull request #106 in BA/design from ~VITO/design:dev to dev

* commit 'c573179143ccb976891ccc146515bcf492df359a':
  catch更改
  1、删除插件返回一个成功消息,供界面显示 2、更新过期插件弹出两个对话框的问题
master
superman 8 years ago
parent
commit
de804eb17c
  1. 1
      designer_base/src/com/fr/design/extra/PluginWebBridge.java
  2. 6
      designer_base/src/com/fr/design/extra/exe/UninstallExecutor.java
  3. 15
      designer_base/src/com/fr/design/extra/exe/UpdateOnlineExecutor.java

1
designer_base/src/com/fr/design/extra/PluginWebBridge.java

@ -153,6 +153,7 @@ public class PluginWebBridge {
* @param des 过滤文件描述 * @param des 过滤文件描述
* @param filter 文件的后缀 * @param filter 文件的后缀
* @return 选择的文件的路径 * @return 选择的文件的路径
* 这里换用JFileChooser会卡死,不知道为什么
*/ */
public String showFileChooserWithFilter(String des, String filter) { public String showFileChooserWithFilter(String des, String filter) {
FileChooser fileChooser = new FileChooser(); FileChooser fileChooser = new FileChooser();

6
designer_base/src/com/fr/design/extra/exe/UninstallExecutor.java

@ -16,6 +16,7 @@ import javax.swing.*;
public class UninstallExecutor implements Executor { public class UninstallExecutor implements Executor {
private String[] pluginIDs; private String[] pluginIDs;
private String result = "undo";
public UninstallExecutor(String[] pluginIDs) { public UninstallExecutor(String[] pluginIDs) {
this.pluginIDs = pluginIDs; this.pluginIDs = pluginIDs;
@ -23,7 +24,7 @@ public class UninstallExecutor implements Executor {
@Override @Override
public String getTaskFinishMessage() { public String getTaskFinishMessage() {
return "插件已卸载完毕,重启后生效"; return result;
} }
@Override @Override
@ -32,7 +33,7 @@ public class UninstallExecutor implements Executor {
new Command() { new Command() {
@Override @Override
public String getExecuteMessage() { public String getExecuteMessage() {
return "删除成功"; return null;
} }
@Override @Override
@ -62,6 +63,7 @@ public class UninstallExecutor implements Executor {
JOptionPane.showMessageDialog(null, e.getMessage(), Inter.getLocText("FR-Designer-Plugin_Warning"), JOptionPane.ERROR_MESSAGE); JOptionPane.showMessageDialog(null, e.getMessage(), Inter.getLocText("FR-Designer-Plugin_Warning"), JOptionPane.ERROR_MESSAGE);
} }
} }
result = "done";
if (rv == JOptionPane.OK_OPTION) { if (rv == JOptionPane.OK_OPTION) {
RestartHelper.restart(); RestartHelper.restart();
} }

15
designer_base/src/com/fr/design/extra/exe/UpdateOnlineExecutor.java

@ -10,6 +10,7 @@ import com.fr.design.extra.Process;
import com.fr.general.Inter; import com.fr.general.Inter;
import com.fr.plugin.Plugin; import com.fr.plugin.Plugin;
import com.fr.plugin.PluginLoader; import com.fr.plugin.PluginLoader;
import com.fr.plugin.PluginVerifyException;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
import javax.swing.*; import javax.swing.*;
@ -47,7 +48,9 @@ public class UpdateOnlineExecutor implements Executor {
LoginCheckContext.fireLoginCheckListener(); LoginCheckContext.fireLoginCheckListener();
} }
if (StringUtils.isNotBlank(DesignerEnvManager.getEnvManager().getBBSName())) { if (StringUtils.isNotBlank(DesignerEnvManager.getEnvManager().getBBSName())) {
try {
for (int i = 0; i < pluginIDs.length; i++) { for (int i = 0; i < pluginIDs.length; i++) {
try {
Plugin plugin = PluginLoader.getLoader().getPluginById(pluginIDs[i]); Plugin plugin = PluginLoader.getLoader().getPluginById(pluginIDs[i]);
String id = null; String id = null;
if (plugin != null) { if (plugin != null) {
@ -55,7 +58,6 @@ public class UpdateOnlineExecutor implements Executor {
} }
String username = DesignerEnvManager.getEnvManager().getBBSName(); String username = DesignerEnvManager.getEnvManager().getBBSName();
String password = DesignerEnvManager.getEnvManager().getBBSPassword(); String password = DesignerEnvManager.getEnvManager().getBBSPassword();
try {
PluginHelper.downloadPluginFile(id, username, password, new Process<Double>() { PluginHelper.downloadPluginFile(id, username, password, new Process<Double>() {
@Override @Override
public void process(Double integer) { public void process(Double integer) {
@ -63,6 +65,8 @@ public class UpdateOnlineExecutor implements Executor {
}); });
updateFileFromDisk(PluginHelper.getDownloadTempFile()); updateFileFromDisk(PluginHelper.getDownloadTempFile());
process.process(PERCENT_100 / pluginIDs.length * (i + 1) + "%"); process.process(PERCENT_100 / pluginIDs.length * (i + 1) + "%");
} catch (PluginVerifyException e) {
throw e;
} catch (Exception e) { } catch (Exception e) {
FRContext.getLogger().error(e.getMessage(), e); FRContext.getLogger().error(e.getMessage(), e);
} }
@ -82,14 +86,16 @@ public class UpdateOnlineExecutor implements Executor {
if (rv == JOptionPane.OK_OPTION) { if (rv == JOptionPane.OK_OPTION) {
RestartHelper.restart(); RestartHelper.restart();
} }
} catch (PluginVerifyException e) {
JOptionPane.showMessageDialog(null, e.getMessage(), Inter.getLocText("FR-Designer-Plugin_Warning"), JOptionPane.ERROR_MESSAGE);
}
} }
} }
} }
}; };
} }
private void updateFileFromDisk(File fileOnDisk) { private void updateFileFromDisk(File fileOnDisk) throws Exception {
try {
Plugin plugin = PluginHelper.readPlugin(fileOnDisk); Plugin plugin = PluginHelper.readPlugin(fileOnDisk);
if (plugin == null) { if (plugin == null) {
JOptionPane.showMessageDialog(null, Inter.getLocText("FR-Designer-Plugin_Illegal_Plugin_Zip"), Inter.getLocText("FR-Designer-Plugin_Warning"), JOptionPane.ERROR_MESSAGE); JOptionPane.showMessageDialog(null, Inter.getLocText("FR-Designer-Plugin_Illegal_Plugin_Zip"), Inter.getLocText("FR-Designer-Plugin_Warning"), JOptionPane.ERROR_MESSAGE);
@ -106,8 +112,5 @@ public class UpdateOnlineExecutor implements Executor {
} else { } else {
JOptionPane.showMessageDialog(null, Inter.getLocText("FR-Designer-Plugin_Cannot_Update_Not_Install"), Inter.getLocText("FR-Designer-Plugin_Warning"), JOptionPane.ERROR_MESSAGE); JOptionPane.showMessageDialog(null, Inter.getLocText("FR-Designer-Plugin_Cannot_Update_Not_Install"), Inter.getLocText("FR-Designer-Plugin_Warning"), JOptionPane.ERROR_MESSAGE);
} }
} catch (Exception e1) {
JOptionPane.showMessageDialog(null, e1.getMessage(), Inter.getLocText("FR-Designer-Plugin_Warning"), JOptionPane.ERROR_MESSAGE);
}
} }
} }

Loading…
Cancel
Save