You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
2.4 KiB
56 lines
2.4 KiB
package com.fr.design.extra.tradition.callback; |
|
|
|
import com.fr.design.extra.PluginStatusCheckCompletePane; |
|
import com.fr.design.extra.PluginUtils; |
|
import com.fr.general.Inter; |
|
import com.fr.log.FineLoggerFactory; |
|
import com.fr.plugin.context.PluginMarker; |
|
import com.fr.plugin.error.PluginErrorCode; |
|
import com.fr.plugin.manage.PluginManager; |
|
import com.fr.plugin.manage.control.PluginTaskResult; |
|
import com.fr.plugin.manage.control.ProgressCallback; |
|
|
|
import javax.swing.*; |
|
|
|
/** |
|
* Created by ibm on 2017/5/31. |
|
*/ |
|
public class UpdateOnlineCallback implements ProgressCallback { |
|
private PluginStatusCheckCompletePane pane; |
|
private PluginMarker pluginMarker; |
|
private PluginMarker toPluginMarker; |
|
|
|
public UpdateOnlineCallback(PluginMarker pluginMarker, PluginMarker toPluginMarker, PluginStatusCheckCompletePane pane){ |
|
this.pluginMarker = pluginMarker; |
|
this.toPluginMarker = toPluginMarker; |
|
this.pane = pane; |
|
} |
|
public void updateProgress(String description, double progress){ |
|
pane.setProgress(progress); |
|
} |
|
|
|
public void done(PluginTaskResult result){ |
|
if (result.isSuccess()) { |
|
FineLoggerFactory.getLogger().info(Inter.getLocText("FR-Designer-Plugin_Update_Success")); |
|
JOptionPane.showMessageDialog(null, Inter.getLocText("FR-Designer-Plugin_Install_Successful")); |
|
} else if (result.errorCode() == PluginErrorCode.OperationNotSupport) { |
|
int rv = JOptionPane.showOptionDialog( |
|
null, |
|
Inter.getLocText(Inter.getLocText("FR-Designer-Plugin_Install_Dependence")), |
|
Inter.getLocText("FR-Designer-Plugin_Install_Success"), |
|
JOptionPane.YES_NO_CANCEL_OPTION, |
|
JOptionPane.INFORMATION_MESSAGE, |
|
null, |
|
null, |
|
null |
|
); |
|
if (rv == JOptionPane.CANCEL_OPTION || rv == JOptionPane.CLOSED_OPTION) { |
|
return; |
|
} |
|
PluginManager.getController().update(pluginMarker, toPluginMarker, new UpdateOnlineCallback(pluginMarker, toPluginMarker, pane)); |
|
} else { |
|
FineLoggerFactory.getLogger().info(Inter.getLocText("FR-Designer-Plugin_Delete_Failed")); |
|
JOptionPane.showMessageDialog(null, PluginUtils.getMessageByErrorCode(result.errorCode()), Inter.getLocText("FR-Designer-Plugin_Warning"), JOptionPane.ERROR_MESSAGE); |
|
} |
|
} |
|
}
|
|
|