plugindownloadmanager.java

来自「基于Jabber协议的即时消息服务器」· Java 代码 · 共 91 行

JAVA
91
字号
/** * $RCSfile$ * $Revision: 3191 $ * $Date: 2005-12-12 13:41:22 -0300 (Mon, 12 Dec 2005) $ * * Copyright (C) 2006 Jive Software. All rights reserved. * * This software is published under the terms of the GNU Public License (GPL), * a copy of which is included in this distribution. */package org.jivesoftware.wildfire.update;import org.jivesoftware.util.JiveGlobals;import org.jivesoftware.util.Log;import org.jivesoftware.wildfire.XMPPServer;/** * Service that allow for aysynchrous calling of system managers. * * @author Derek DeMoro */public class PluginDownloadManager {    /**     * Starts the download process of a given plugin with it's URL.     *     * @param url the url of the plugin to download.     * @return the Update.     */    public Update downloadPlugin(String url) {        UpdateManager updateManager = XMPPServer.getInstance().getUpdateManager();        updateManager.downloadPlugin(url);        Update returnUpdate = null;        for (Update update : updateManager.getPluginUpdates()) {            if (update.getURL().equals(url)) {                returnUpdate = update;                break;            }        }        return returnUpdate;    }    /**     * Installs a new plugin into Wildfire.     *     * @param url the url of the plugin to install.     * @param hashCode the matching hashcode of the <code>AvailablePlugin</code>.     * @return the hashCode.     */    public DownloadStatus installPlugin(String url, int hashCode) {        UpdateManager updateManager = XMPPServer.getInstance().getUpdateManager();        boolean worked = updateManager.downloadPlugin(url);        final DownloadStatus status = new DownloadStatus();        status.setHashCode(hashCode);        status.setSuccessfull(worked);        status.setUrl(url);        return status;    }    /**     * Updates the PluginList from the server. Please note, this method is used with javascript calls and will not     * be found with a find usages.     *     * @return true if the plugin list was updated.     */    public boolean updatePluginsList() {        UpdateManager updateManager = XMPPServer.getInstance().getUpdateManager();        try {            // Todo: Unify update checking into one xml file. Have the update check set the last check property.            updateManager.checkForServerUpdate(true);            updateManager.checkForPluginsUpdates(true);            // Keep track of the last time we checked for updates            JiveGlobals.setProperty("update.lastCheck",                    String.valueOf(System.currentTimeMillis()));            return true;        }        catch (Exception e) {            Log.error(e);        }        return false;    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?