Pass ServletContext to Plugin

This commit is contained in:
Naoki Takezoe
2015-03-29 03:26:06 +09:00
parent 9a8920788c
commit d8e6e97845
2 changed files with 5 additions and 4 deletions

View File

@@ -1,5 +1,6 @@
package gitbucket.core.plugin
import javax.servlet.ServletContext
import gitbucket.core.util.Version
/**
@@ -17,12 +18,12 @@ trait Plugin {
* This method is invoked in initialization of plugin system.
* Register plugin functionality to PluginRegistry.
*/
def initialize(registry: PluginRegistry): Unit
def initialize(registry: PluginRegistry, context: ServletContext, ): Unit
/**
* This method is invoked in shutdown of plugin system.
* If the plugin has any resources, release them in this method.
*/
def shutdown(registry: PluginRegistry): Unit
def shutdown(registry: PluginRegistry, context: ServletContext, ): Unit
}

View File

@@ -119,7 +119,7 @@ object PluginRegistry {
}
// Initialize
plugin.initialize(instance)
plugin.initialize(instance,context)
instance.addPlugin(PluginInfo(
pluginId = plugin.pluginId,
pluginName = plugin.pluginName,
@@ -140,7 +140,7 @@ object PluginRegistry {
def shutdown(context: ServletContext): Unit = {
instance.getPlugins().foreach { pluginInfo =>
try {
pluginInfo.pluginClass.shutdown(instance)
pluginInfo.pluginClass.shutdown(instance, context)
} catch {
case e: Exception => {
logger.error(s"Error during plugin shutdown", e)