Class PentahoSystemPluginManager
- java.lang.Object
-
- org.pentaho.platform.plugin.services.pluginmgr.PentahoSystemPluginManager
-
- All Implemented Interfaces:
org.pentaho.platform.api.engine.IPluginManager
public class PentahoSystemPluginManager extends Object implements org.pentaho.platform.api.engine.IPluginManager
An IPluginManager implementation based on registering objects to the PentahoSystem and querying for them there. This supports finding types registered through other systems, allowing for the transition away from IPluginManager to plain PentahoSystem.getXXX calls. Created by nbaker on 4/18/14.
-
-
Field Summary
Fields Modifier and Type Field Description static String
CONTENT_TYPE
static String
PLUGIN_ID
static String
SETTINGS_PREFIX
-
Constructor Summary
Constructors Constructor Description PentahoSystemPluginManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addPluginManagerListener(org.pentaho.platform.api.engine.IPluginManagerListener listener)
protected void
assertUnique(org.springframework.context.support.GenericApplicationContext applicationContext, String pluginId, String beanId)
A utility method that throws an exception if a bean with the id is already defined for this pluginObject
getBean(String beanId)
org.springframework.beans.factory.ListableBeanFactory
getBeanFactory(String pluginId)
ClassLoader
getClassLoader(String pluginId)
org.pentaho.platform.api.engine.IContentGenerator
getContentGenerator(String type, String perspectiveName)
org.pentaho.platform.api.engine.IContentGenerator
getContentGeneratorForType(String type, org.pentaho.platform.api.engine.IPentahoSession session)
org.pentaho.platform.api.engine.IContentInfo
getContentTypeInfo(String type)
Set<String>
getContentTypes()
List<String>
getExternalResourcesForContext(String context)
protected org.springframework.beans.factory.BeanFactory
getNativeBeanFactory(org.pentaho.platform.api.engine.IPlatformPlugin plugin, ClassLoader loader)
List<org.pentaho.ui.xul.XulOverlay>
getOverlays()
String
getPluginIdForClassLoader(ClassLoader classLoader)
String
getPluginIdForType(String contentType)
List<String>
getPluginRESTPerspectivesForId(String id)
List<String>
getPluginRESTPerspectivesForType(String contentType)
Object
getPluginSetting(String pluginId, String key, String defaultValue)
List<String>
getRegisteredPlugins()
String
getServicePlugin(String path)
Deprecated.InputStream
getStaticResource(String path)
boolean
isBeanRegistered(String beanId)
boolean
isPublic(String pluginId, String path)
protected boolean
isRequested(String servicePath, String requestPath)
Returntrue
if the servicePath is being addressed by the requestPath.boolean
isStaticResource(String path)
Class<?>
loadClass(String beanId)
protected void
registerContentTypes(org.pentaho.platform.api.engine.IPlatformPlugin plugin, ClassLoader loader, org.springframework.context.support.GenericApplicationContext beanFactory)
boolean
reload()
boolean
reload(org.pentaho.platform.api.engine.IPentahoSession session)
void
unloadAllPlugins()
-
-
-
Field Detail
-
CONTENT_TYPE
public static final String CONTENT_TYPE
- See Also:
- Constant Field Values
-
PLUGIN_ID
public static final String PLUGIN_ID
- See Also:
- Constant Field Values
-
SETTINGS_PREFIX
public static final String SETTINGS_PREFIX
- See Also:
- Constant Field Values
-
-
Method Detail
-
getContentTypes
public Set<String> getContentTypes()
- Specified by:
getContentTypes
in interfaceorg.pentaho.platform.api.engine.IPluginManager
-
getContentTypeInfo
public org.pentaho.platform.api.engine.IContentInfo getContentTypeInfo(String type)
- Specified by:
getContentTypeInfo
in interfaceorg.pentaho.platform.api.engine.IPluginManager
-
getContentGeneratorForType
public org.pentaho.platform.api.engine.IContentGenerator getContentGeneratorForType(String type, org.pentaho.platform.api.engine.IPentahoSession session) throws org.pentaho.platform.api.engine.ObjectFactoryException
- Specified by:
getContentGeneratorForType
in interfaceorg.pentaho.platform.api.engine.IPluginManager
- Throws:
org.pentaho.platform.api.engine.ObjectFactoryException
-
reload
public boolean reload()
- Specified by:
reload
in interfaceorg.pentaho.platform.api.engine.IPluginManager
-
reload
public boolean reload(org.pentaho.platform.api.engine.IPentahoSession session)
- Specified by:
reload
in interfaceorg.pentaho.platform.api.engine.IPluginManager
-
registerContentTypes
protected void registerContentTypes(org.pentaho.platform.api.engine.IPlatformPlugin plugin, ClassLoader loader, org.springframework.context.support.GenericApplicationContext beanFactory) throws org.pentaho.platform.api.engine.PlatformPluginRegistrationException
- Throws:
org.pentaho.platform.api.engine.PlatformPluginRegistrationException
-
assertUnique
protected void assertUnique(org.springframework.context.support.GenericApplicationContext applicationContext, String pluginId, String beanId) throws org.pentaho.platform.api.engine.PlatformPluginRegistrationException
A utility method that throws an exception if a bean with the id is already defined for this plugin- Throws:
org.pentaho.platform.api.engine.PlatformPluginRegistrationException
-
getNativeBeanFactory
protected org.springframework.beans.factory.BeanFactory getNativeBeanFactory(org.pentaho.platform.api.engine.IPlatformPlugin plugin, ClassLoader loader)
-
getOverlays
public List<org.pentaho.ui.xul.XulOverlay> getOverlays()
- Specified by:
getOverlays
in interfaceorg.pentaho.platform.api.engine.IPluginManager
-
getBean
public Object getBean(String beanId) throws org.pentaho.platform.api.engine.PluginBeanException
- Specified by:
getBean
in interfaceorg.pentaho.platform.api.engine.IPluginManager
- Throws:
org.pentaho.platform.api.engine.PluginBeanException
-
getContentGenerator
public org.pentaho.platform.api.engine.IContentGenerator getContentGenerator(String type, String perspectiveName)
- Specified by:
getContentGenerator
in interfaceorg.pentaho.platform.api.engine.IPluginManager
-
loadClass
public Class<?> loadClass(String beanId) throws org.pentaho.platform.api.engine.PluginBeanException
- Specified by:
loadClass
in interfaceorg.pentaho.platform.api.engine.IPluginManager
- Throws:
org.pentaho.platform.api.engine.PluginBeanException
-
isBeanRegistered
public boolean isBeanRegistered(String beanId)
- Specified by:
isBeanRegistered
in interfaceorg.pentaho.platform.api.engine.IPluginManager
-
unloadAllPlugins
public void unloadAllPlugins()
- Specified by:
unloadAllPlugins
in interfaceorg.pentaho.platform.api.engine.IPluginManager
-
getPluginIdForType
public String getPluginIdForType(String contentType)
- Specified by:
getPluginIdForType
in interfaceorg.pentaho.platform.api.engine.IPluginManager
-
getPluginRESTPerspectivesForType
public List<String> getPluginRESTPerspectivesForType(String contentType)
- Specified by:
getPluginRESTPerspectivesForType
in interfaceorg.pentaho.platform.api.engine.IPluginManager
-
getPluginRESTPerspectivesForId
public List<String> getPluginRESTPerspectivesForId(String id)
- Specified by:
getPluginRESTPerspectivesForId
in interfaceorg.pentaho.platform.api.engine.IPluginManager
-
getPluginIdForClassLoader
public String getPluginIdForClassLoader(ClassLoader classLoader)
- Specified by:
getPluginIdForClassLoader
in interfaceorg.pentaho.platform.api.engine.IPluginManager
-
isRequested
protected boolean isRequested(String servicePath, String requestPath)
Returntrue
if the servicePath is being addressed by the requestPath. The request path is said to request the service if it contains at least ALL of the elements of the servicePath, in order. It may include more than these elements but it must contain at least the servicePath.- Parameters:
servicePath
-requestPath
-- Returns:
true
if the servicePath is being addressed by the requestPath
-
getPluginSetting
public Object getPluginSetting(String pluginId, String key, String defaultValue)
- Specified by:
getPluginSetting
in interfaceorg.pentaho.platform.api.engine.IPluginManager
-
getServicePlugin
@Deprecated public String getServicePlugin(String path)
Deprecated.- Specified by:
getServicePlugin
in interfaceorg.pentaho.platform.api.engine.IPluginManager
-
getClassLoader
public ClassLoader getClassLoader(String pluginId)
- Specified by:
getClassLoader
in interfaceorg.pentaho.platform.api.engine.IPluginManager
-
getBeanFactory
public org.springframework.beans.factory.ListableBeanFactory getBeanFactory(String pluginId)
- Specified by:
getBeanFactory
in interfaceorg.pentaho.platform.api.engine.IPluginManager
-
isStaticResource
public boolean isStaticResource(String path)
- Specified by:
isStaticResource
in interfaceorg.pentaho.platform.api.engine.IPluginManager
-
isPublic
public boolean isPublic(String pluginId, String path)
- Specified by:
isPublic
in interfaceorg.pentaho.platform.api.engine.IPluginManager
-
getStaticResource
public InputStream getStaticResource(String path)
- Specified by:
getStaticResource
in interfaceorg.pentaho.platform.api.engine.IPluginManager
-
getRegisteredPlugins
public List<String> getRegisteredPlugins()
- Specified by:
getRegisteredPlugins
in interfaceorg.pentaho.platform.api.engine.IPluginManager
-
getExternalResourcesForContext
public List<String> getExternalResourcesForContext(String context)
- Specified by:
getExternalResourcesForContext
in interfaceorg.pentaho.platform.api.engine.IPluginManager
-
addPluginManagerListener
public void addPluginManagerListener(org.pentaho.platform.api.engine.IPluginManagerListener listener)
- Specified by:
addPluginManagerListener
in interfaceorg.pentaho.platform.api.engine.IPluginManager
-
-