com.atlassian.confluence.plugin
Class ConfluencePluginManager

java.lang.Object
  extended by com.atlassian.plugin.manager.DefaultPluginManager
      extended by com.atlassian.confluence.plugin.ConfluencePluginManager
All Implemented Interfaces:
com.atlassian.plugin.PluginAccessor, com.atlassian.plugin.PluginController, com.atlassian.plugin.PluginManager, com.atlassian.plugin.PluginSystemLifecycle, java.util.EventListener, org.springframework.context.ApplicationContextAware, org.springframework.context.ApplicationListener
Direct Known Subclasses:
SetupPluginManager

public class ConfluencePluginManager
extends com.atlassian.plugin.manager.DefaultPluginManager
implements org.springframework.context.ApplicationListener, org.springframework.context.ApplicationContextAware, com.atlassian.plugin.PluginManager

Extension of DefaultPluginManager which listens for plugin events fired on other nodes.


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.atlassian.plugin.PluginAccessor
com.atlassian.plugin.PluginAccessor.Descriptor
 
Field Summary
 
Fields inherited from interface com.atlassian.plugin.PluginManager
PLUGIN_DESCRIPTOR_FILENAME
 
Constructor Summary
ConfluencePluginManager(com.atlassian.plugin.manager.PluginPersistentStateStore pluginStateStore, java.util.List<java.lang.Object> pluginLoaders, com.atlassian.plugin.ModuleDescriptorFactory moduleDescriptorFactory, com.atlassian.plugin.event.PluginEventManager pluginEventManager, com.atlassian.event.api.EventPublisher eventPublisher, com.atlassian.plugin.PluginInstaller pluginInstaller)
          If you pass a String in the list of pluginLoaders, it will automagically be converted into a SinglePluginLoader for a file with that string's name.
 
Method Summary
protected  void addPlugins(com.atlassian.plugin.loaders.PluginLoader loader, java.util.Collection<com.atlassian.plugin.Plugin> pluginsToInstall)
           
protected  com.atlassian.plugin.manager.store.MemoryPluginPersistentStateStore getLocalPluginStateStore()
           
protected  com.atlassian.plugin.manager.PluginPersistentState getState()
           
 void init()
          
protected  boolean isSetupPluginManager()
          Overridden in SetupPluginManager to return true.
protected  void notifyModuleDisabled(com.atlassian.plugin.ModuleDescriptor<?> module)
           
protected  void notifyModuleEnabled(com.atlassian.plugin.ModuleDescriptor<?> module)
           
protected  void notifyPluginDisabled(com.atlassian.plugin.Plugin plugin)
           
protected  void notifyPluginEnabled(com.atlassian.plugin.Plugin plugin)
           
protected  void notifyUninstallPlugin(com.atlassian.plugin.Plugin plugin)
           
 void onApplicationEvent(org.springframework.context.ApplicationEvent event)
          Initialised the plugin system on receipt of a DatabaseConfiguredEvent and update local plugin state on clustered plugin events
protected  void onUpdateRequiresRestartState(java.lang.String pluginKey, com.atlassian.plugin.PluginRestartState pluginRestartState)
           
 void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
           
protected  void updatePlugin(com.atlassian.plugin.Plugin oldPlugin, com.atlassian.plugin.Plugin newPlugin)
           
 
Methods inherited from class com.atlassian.plugin.manager.DefaultPluginManager
addPlugin, disablePlugin, disablePluginInternal, disablePluginModule, disablePluginModuleState, disablePluginState, disablePluginWithoutPersisting, enablePlugin, enablePluginModule, enablePluginModuleState, enablePlugins, enablePluginState, getClassLoader, getDynamicPluginClass, getDynamicResourceAsStream, getEnabledModuleDescriptorsByClass, getEnabledModuleDescriptorsByClass, getEnabledModuleDescriptorsByType, getEnabledModulesByClass, getEnabledModulesByClassAndDescriptor, getEnabledModulesByClassAndDescriptor, getEnabledPlugin, getEnabledPluginModule, getEnabledPlugins, getModuleDescriptors, getModules, getPlugin, getPluginModule, getPluginResourceAsStream, getPluginRestartState, getPlugins, getPlugins, getStore, installPlugin, installPlugins, isPluginEnabled, isPluginModuleEnabled, isSystemPlugin, onPluginContainerUnavailable, onPluginModuleAvailable, onPluginModuleUnavailable, onPluginRefresh, removeStateFromStore, revertRestartRequiredChange, scanForNewPlugins, setDescriptorParserFactory, setPluginInstaller, shutdown, uninstall, uninstallNoEvent, unloadPlugin, warmRestart
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.atlassian.plugin.PluginController
disablePlugin, disablePluginModule, disablePluginWithoutPersisting, enablePlugin, enablePluginModule, enablePlugins, installPlugin, installPlugins, revertRestartRequiredChange, scanForNewPlugins, uninstall
 
Methods inherited from interface com.atlassian.plugin.PluginAccessor
getClassLoader, getDynamicPluginClass, getDynamicResourceAsStream, getEnabledModuleDescriptorsByClass, getEnabledModuleDescriptorsByClass, getEnabledModuleDescriptorsByType, getEnabledModulesByClass, getEnabledModulesByClassAndDescriptor, getEnabledModulesByClassAndDescriptor, getEnabledPlugin, getEnabledPluginModule, getEnabledPlugins, getModuleDescriptors, getModules, getPlugin, getPluginModule, getPluginResourceAsStream, getPluginRestartState, getPlugins, getPlugins, isPluginEnabled, isPluginModuleEnabled, isSystemPlugin
 
Methods inherited from interface com.atlassian.plugin.PluginSystemLifecycle
shutdown, warmRestart
 

Constructor Detail

ConfluencePluginManager

public ConfluencePluginManager(com.atlassian.plugin.manager.PluginPersistentStateStore pluginStateStore,
                               java.util.List<java.lang.Object> pluginLoaders,
                               com.atlassian.plugin.ModuleDescriptorFactory moduleDescriptorFactory,
                               com.atlassian.plugin.event.PluginEventManager pluginEventManager,
                               com.atlassian.event.api.EventPublisher eventPublisher,
                               com.atlassian.plugin.PluginInstaller pluginInstaller)
If you pass a String in the list of pluginLoaders, it will automagically be converted into a SinglePluginLoader for a file with that string's name.

Parameters:
pluginStateStore - the storage for the plugin state
pluginLoaders - a list of plugin loaders to use
moduleDescriptorFactory - a factory used to create the module descriptors
pluginEventManager - the event manager used for plugins
eventPublisher - the system event publisher
pluginInstaller - used to persist user-installed plugins
Method Detail

getLocalPluginStateStore

protected com.atlassian.plugin.manager.store.MemoryPluginPersistentStateStore getLocalPluginStateStore()
Returns:
a writable memory implementation for storing local plugin state independent of other nodes in the cluster.

getState

protected com.atlassian.plugin.manager.PluginPersistentState getState()
Overrides:
getState in class com.atlassian.plugin.manager.DefaultPluginManager

notifyPluginEnabled

protected void notifyPluginEnabled(com.atlassian.plugin.Plugin plugin)
Overrides:
notifyPluginEnabled in class com.atlassian.plugin.manager.DefaultPluginManager

notifyModuleDisabled

protected void notifyModuleDisabled(com.atlassian.plugin.ModuleDescriptor<?> module)
Overrides:
notifyModuleDisabled in class com.atlassian.plugin.manager.DefaultPluginManager

notifyPluginDisabled

protected void notifyPluginDisabled(com.atlassian.plugin.Plugin plugin)
Overrides:
notifyPluginDisabled in class com.atlassian.plugin.manager.DefaultPluginManager

notifyModuleEnabled

protected void notifyModuleEnabled(com.atlassian.plugin.ModuleDescriptor<?> module)
Overrides:
notifyModuleEnabled in class com.atlassian.plugin.manager.DefaultPluginManager

notifyUninstallPlugin

protected void notifyUninstallPlugin(com.atlassian.plugin.Plugin plugin)
Overrides:
notifyUninstallPlugin in class com.atlassian.plugin.manager.DefaultPluginManager

onUpdateRequiresRestartState

protected void onUpdateRequiresRestartState(java.lang.String pluginKey,
                                            com.atlassian.plugin.PluginRestartState pluginRestartState)
Overrides:
onUpdateRequiresRestartState in class com.atlassian.plugin.manager.DefaultPluginManager

updatePlugin

protected void updatePlugin(com.atlassian.plugin.Plugin oldPlugin,
                            com.atlassian.plugin.Plugin newPlugin)
                     throws com.atlassian.plugin.PluginException
Overrides:
updatePlugin in class com.atlassian.plugin.manager.DefaultPluginManager
Throws:
com.atlassian.plugin.PluginException

init

public void init()
          throws com.atlassian.plugin.PluginParseException

Specified by:
init in interface com.atlassian.plugin.PluginSystemLifecycle
Overrides:
init in class com.atlassian.plugin.manager.DefaultPluginManager
Throws:
com.atlassian.plugin.PluginParseException

addPlugins

protected void addPlugins(@Nullable
                          com.atlassian.plugin.loaders.PluginLoader loader,
                          java.util.Collection<com.atlassian.plugin.Plugin> pluginsToInstall)
                   throws com.atlassian.plugin.PluginParseException
Overrides:
addPlugins in class com.atlassian.plugin.manager.DefaultPluginManager
Throws:
com.atlassian.plugin.PluginParseException

isSetupPluginManager

protected boolean isSetupPluginManager()
Overridden in SetupPluginManager to return true.


onApplicationEvent

public final void onApplicationEvent(org.springframework.context.ApplicationEvent event)
Initialised the plugin system on receipt of a DatabaseConfiguredEvent and update local plugin state on clustered plugin events

Specified by:
onApplicationEvent in interface org.springframework.context.ApplicationListener
Parameters:
event - the event being notified

setApplicationContext

public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
                           throws org.springframework.beans.BeansException
Specified by:
setApplicationContext in interface org.springframework.context.ApplicationContextAware
Throws:
org.springframework.beans.BeansException


Copyright © 2003-2014 Atlassian. All Rights Reserved.