in taverna-plugin-impl/src/main/java/org/apache/taverna/plugin/impl/PluginManagerImpl.java [206:224]
public Plugin updatePlugin(PluginVersions pluginVersions) throws PluginException {
String pluginId = pluginVersions.getId();
String pluginSiteUrl = pluginVersions.getPluginSiteUrl();
String pluginFile = pluginVersions.getLatestVersion().getFile();
Plugin plugin = installedPlugins.get(pluginId);
plugin.stop();
Plugin newPlugin;
try {
newPlugin = installPlugin(pluginSiteUrl, pluginFile);
} catch (PluginException e) {
plugin.start();
throw new PluginException("Failed to update plugin " + pluginId, e);
}
synchronized (pluginUpdates) {
pluginUpdates.remove(pluginId);
}
uninstallPlugin(plugin);
return newPlugin;
}