Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package pt.webdetails.cda.utils.framework;
 
 
 import  org.apache.commons.logging.Log;
 import  org.apache.commons.logging.LogFactory;
 import  org.pentaho.platform.api.engine.IPluginManager;
 import  org.pentaho.platform.api.engine.PluginBeanException;
 import  org.pentaho.platform.engine.core.system.PentahoSystem;
public class PluginUtils {
  
  private static final Log logger = LogFactory.getLog(PluginUtils.class);
  @SuppressWarnings("unchecked")
  public static <T> T getPluginBean(String prefixClass<T> interfaceClassthrows PluginBeanException {
    
    if(interfaceClass == null){
      throw new IllegalArgumentException();
    }
    
    String key = prefix + interfaceClass.getSimpleName();
    
    IPluginManager pluginManager = PentahoSystem.get(IPluginManager.class);
    if (pluginManager.isBeanRegistered(key)) {
      Object beanObject = pluginManager.getBean(key);
      try {
        return (T) beanObject;
      } catch (ClassCastException ex) {
        throw new PluginBeanException(MessageFormat.format("The class for bean {0} must implement {1}"keyinterfaceClass.getName())); //$NON-NLS-1$
      }
    } else {
      .error(MessageFormat.format("Bean {0} is not registered.",key));//$NON-NLS-1$
      return null;
    }
  }
  
  
New to GrepCode? Check out our FAQ X