Class 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.

    • Constructor Detail

      • PentahoSystemPluginManager

        public PentahoSystemPluginManager()
    • Method Detail

      • getContentTypes

        public Set<String> getContentTypes()
        Specified by:
        getContentTypes in interface org.pentaho.platform.api.engine.IPluginManager
      • getContentTypeInfo

        public org.pentaho.platform.api.engine.IContentInfo getContentTypeInfo​(String type)
        Specified by:
        getContentTypeInfo in interface org.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 interface org.pentaho.platform.api.engine.IPluginManager
        Throws:
        org.pentaho.platform.api.engine.ObjectFactoryException
      • reload

        public boolean reload()
        Specified by:
        reload in interface org.pentaho.platform.api.engine.IPluginManager
      • reload

        public boolean reload​(org.pentaho.platform.api.engine.IPentahoSession session)
        Specified by:
        reload in interface org.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 interface org.pentaho.platform.api.engine.IPluginManager
      • getBean

        public Object getBean​(String beanId)
                       throws org.pentaho.platform.api.engine.PluginBeanException
        Specified by:
        getBean in interface org.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 interface org.pentaho.platform.api.engine.IPluginManager
      • loadClass

        public Class<?> loadClass​(String beanId)
                           throws org.pentaho.platform.api.engine.PluginBeanException
        Specified by:
        loadClass in interface org.pentaho.platform.api.engine.IPluginManager
        Throws:
        org.pentaho.platform.api.engine.PluginBeanException
      • isBeanRegistered

        public boolean isBeanRegistered​(String beanId)
        Specified by:
        isBeanRegistered in interface org.pentaho.platform.api.engine.IPluginManager
      • unloadAllPlugins

        public void unloadAllPlugins()
        Specified by:
        unloadAllPlugins in interface org.pentaho.platform.api.engine.IPluginManager
      • getPluginIdForType

        public String getPluginIdForType​(String contentType)
        Specified by:
        getPluginIdForType in interface org.pentaho.platform.api.engine.IPluginManager
      • getPluginRESTPerspectivesForType

        public List<String> getPluginRESTPerspectivesForType​(String contentType)
        Specified by:
        getPluginRESTPerspectivesForType in interface org.pentaho.platform.api.engine.IPluginManager
      • getPluginRESTPerspectivesForId

        public List<String> getPluginRESTPerspectivesForId​(String id)
        Specified by:
        getPluginRESTPerspectivesForId in interface org.pentaho.platform.api.engine.IPluginManager
      • getPluginIdForClassLoader

        public String getPluginIdForClassLoader​(ClassLoader classLoader)
        Specified by:
        getPluginIdForClassLoader in interface org.pentaho.platform.api.engine.IPluginManager
      • isRequested

        protected boolean isRequested​(String servicePath,
                                      String requestPath)
        Return true 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 interface org.pentaho.platform.api.engine.IPluginManager
      • getServicePlugin

        @Deprecated
        public String getServicePlugin​(String path)
        Deprecated.
        Specified by:
        getServicePlugin in interface org.pentaho.platform.api.engine.IPluginManager
      • getClassLoader

        public ClassLoader getClassLoader​(String pluginId)
        Specified by:
        getClassLoader in interface org.pentaho.platform.api.engine.IPluginManager
      • getBeanFactory

        public org.springframework.beans.factory.ListableBeanFactory getBeanFactory​(String pluginId)
        Specified by:
        getBeanFactory in interface org.pentaho.platform.api.engine.IPluginManager
      • isStaticResource

        public boolean isStaticResource​(String path)
        Specified by:
        isStaticResource in interface org.pentaho.platform.api.engine.IPluginManager
      • isPublic

        public boolean isPublic​(String pluginId,
                                String path)
        Specified by:
        isPublic in interface org.pentaho.platform.api.engine.IPluginManager
      • getStaticResource

        public InputStream getStaticResource​(String path)
        Specified by:
        getStaticResource in interface org.pentaho.platform.api.engine.IPluginManager
      • getRegisteredPlugins

        public List<String> getRegisteredPlugins()
        Specified by:
        getRegisteredPlugins in interface org.pentaho.platform.api.engine.IPluginManager
      • getExternalResourcesForContext

        public List<String> getExternalResourcesForContext​(String context)
        Specified by:
        getExternalResourcesForContext in interface org.pentaho.platform.api.engine.IPluginManager
      • addPluginManagerListener

        public void addPluginManagerListener​(org.pentaho.platform.api.engine.IPluginManagerListener listener)
        Specified by:
        addPluginManagerListener in interface org.pentaho.platform.api.engine.IPluginManager