From f76fee63ed9cb3a30d3c0c092d860b1cb93a481b Mon Sep 17 00:00:00 2001
From: Gerard Smyth <gerard.smyth@gmail.com>
Date: Thu, 08 May 2014 13:09:30 -0400
Subject: [PATCH] Updated the SyndicationServlet to provide an additional option to return details of the tags in the repository instead of the commits. This uses a new 'ot' request parameter to indicate the object type of the content to return, which can be ither TAG or COMMIT. If this is not provided, then COMMIT is assumed to maintain backwards compatability. If tags are returned, then the paging parameters, 'l' and 'pg' are still supported, but searching options are currently ignored.
---
src/main/java/com/gitblit/manager/IPluginManager.java | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 170 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/gitblit/manager/IPluginManager.java b/src/main/java/com/gitblit/manager/IPluginManager.java
index 670e976..d8fe0f8 100644
--- a/src/main/java/com/gitblit/manager/IPluginManager.java
+++ b/src/main/java/com/gitblit/manager/IPluginManager.java
@@ -15,25 +15,190 @@
*/
package com.gitblit.manager;
+import java.io.IOException;
import java.util.List;
+import ro.fortsoft.pf4j.PluginState;
import ro.fortsoft.pf4j.PluginWrapper;
+import ro.fortsoft.pf4j.Version;
+
+import com.gitblit.models.PluginRegistry.InstallState;
+import com.gitblit.models.PluginRegistry.PluginRegistration;
+import com.gitblit.models.PluginRegistry.PluginRelease;
public interface IPluginManager extends IManager {
/**
- * Retrieves the extension for given class 'clazz'.
+ * Returns the system version.
*
- * @param clazz extension point class to retrieve extension for
- * @return list of extensions
+ * @return the system version
+ * @since 1.5.0
*/
- public <T> List<T> getExtensions(Class<T> clazz);
+ Version getSystemVersion();
+
+ /**
+ * Starts all plugins.
+ * @since 1.5.0
+ */
+ void startPlugins();
+
+ /**
+ * Stops all plugins.
+ * @since 1.5.0
+ */
+ void stopPlugins();
+
+ /**
+ * Starts the specified plugin.
+ *
+ * @param pluginId
+ * @return the state of the plugin
+ * @since 1.5.0
+ */
+ PluginState startPlugin(String pluginId);
+
+ /**
+ * Stops the specified plugin.
+ *
+ * @param pluginId
+ * @return the state of the plugin
+ * @since 1.5.0
+ */
+ PluginState stopPlugin(String pluginId);
+
+ /**
+ * Returns the list of extensions the plugin provides.
+ *
+ * @param type
+ * @return a list of extensions the plugin provides
+ * @since 1.5.0
+ */
+ List<Class<?>> getExtensionClasses(String pluginId);
+
+ /**
+ * Returns the list of extension instances for a given extension point.
+ *
+ * @param type
+ * @return a list of extension instances
+ * @since 1.5.0
+ */
+ <T> List<T> getExtensions(Class<T> type);
+
+ /**
+ * Returns the list of all resolved plugins.
+ *
+ * @return a list of resolved plugins
+ * @since 1.5.0
+ */
+ List<PluginWrapper> getPlugins();
+
+ /**
+ * Retrieves the {@link PluginWrapper} for the specified plugin id.
+ *
+ * @param pluginId
+ * @return the plugin wrapper
+ * @since 1.5.0
+ */
+ PluginWrapper getPlugin(String pluginId);
/**
* Retrieves the {@link PluginWrapper} that loaded the given class 'clazz'.
*
* @param clazz extension point class to retrieve extension for
* @return PluginWrapper that loaded the given class
+ * @since 1.5.0
*/
- public PluginWrapper whichPlugin(Class<?> clazz);
+ PluginWrapper whichPlugin(Class<?> clazz);
+
+ /**
+ * Disable the plugin represented by pluginId.
+ *
+ * @param pluginId
+ * @return true if successful
+ * @since 1.5.0
+ */
+ boolean disablePlugin(String pluginId);
+
+ /**
+ * Enable the plugin represented by pluginId.
+ *
+ * @param pluginId
+ * @return true if successful
+ * @since 1.5.0
+ */
+ boolean enablePlugin(String pluginId);
+
+ /**
+ * Delete the plugin represented by pluginId.
+ *
+ * @param pluginId
+ * @return true if successful
+ * @since 1.5.0
+ */
+ boolean uninstallPlugin(String pluginId);
+
+ /**
+ * Refresh the plugin registry.
+ *
+ * @param verifyChecksum
+ * @since 1.5.0
+ */
+ boolean refreshRegistry(boolean verifyChecksum);
+
+ /**
+ * Install the plugin from the specified url.
+ *
+ * @param url
+ * @param verifyChecksum
+ * @since 1.5.0
+ */
+ boolean installPlugin(String url, boolean verifyChecksum) throws IOException;
+
+ /**
+ * Upgrade the install plugin from the specified url.
+ *
+ * @param pluginId
+ * @param url
+ * @param verifyChecksum
+ * @return true if the upgrade has been successful
+ * @throws IOException
+ * @since 1.5.0
+ */
+ boolean upgradePlugin(String pluginId, String url, boolean verifyChecksum) throws IOException;
+
+ /**
+ * The list of all registered plugins.
+ *
+ * @return a list of registered plugins
+ * @since 1.5.0
+ */
+ List<PluginRegistration> getRegisteredPlugins();
+
+ /**
+ * Return a list of registered plugins that match the install state.
+ *
+ * @param state
+ * @return the list of plugins that match the install state
+ * @since 1.5.0
+ */
+ List<PluginRegistration> getRegisteredPlugins(InstallState state);
+
+ /**
+ * Lookup a plugin registration from the plugin registries.
+ *
+ * @param idOrName
+ * @return a plugin registration or null
+ * @since 1.5.0
+ */
+ PluginRegistration lookupPlugin(String idOrName);
+
+ /**
+ * Lookup a plugin release.
+ *
+ * @param idOrName
+ * @param version (use null for the current version)
+ * @return the identified plugin version or null
+ * @since 1.5.0
+ */
+ PluginRelease lookupRelease(String idOrName, String version);
}
--
Gitblit v1.9.1