/** * This method allows for custom registration of plugins that are on the main classpath. This was originally created * so that test environments could register test plugins programmatically. * * @param clazz * the plugin implementation to register * @param cat * the category of the plugin * @param id * the id for the plugin * @param name * the name for the plugin * @param desc * the description for the plugin * @param image * the image for the plugin * @throws KettlePluginException */ public void registerCustom( Class<?> clazz, String cat, String id, String name, String desc, String image ) throws KettlePluginException { Class<? extends PluginTypeInterface> pluginType = getClass(); Map<Class<?>, String> classMap = new HashMap<>(); PluginMainClassType mainClassTypesAnnotation = pluginType.getAnnotation( PluginMainClassType.class ); classMap.put( mainClassTypesAnnotation.value(), clazz.getName() ); PluginInterface stepPlugin = new Plugin( new String[] { id }, pluginType, mainClassTypesAnnotation.value(), cat, name, desc, image, false, false, classMap, new ArrayList<String>(), null, null, null, null, null ); registry.registerPlugin( pluginType, stepPlugin ); }
@Override public boolean equals( Object obj ) { return ( obj != null ) && ( obj instanceof Plugin ) && compareTo( (Plugin) obj ) == 0; }
new Plugin( ids, this.getClass(), mainType.value(), category, name, description, imageFile, separateClassLoader, classLoaderGroup, nativePluginType, classMap, libraries, null, pluginFolder, documentationUrl,
@BeforeClass public static void setUpBeforeClass() throws Exception { KettleEnvironment.init(); // PluginRegistry.addPluginType(ValueMetaPluginType.getInstance()); PluginRegistry.getInstance().registerPluginType( ValueMetaPluginType.class ); Map<Class<?>, String> classes = new HashMap<Class<?>, String>(); classes.put( ValueMetaInterface.class, "org.pentaho.di.core.row.value.ValueMetaString" ); p1 = new Plugin( new String[] { "2" }, ValueMetaPluginType.class, ValueMetaInterface.class, "", "", "", "", false, true, classes, null, null, null ); classes = new HashMap<Class<?>, String>(); classes.put( ValueMetaInterface.class, "org.pentaho.di.core.row.value.ValueMetaInteger" ); p2 = new Plugin( new String[] { "5" }, ValueMetaPluginType.class, ValueMetaInterface.class, "", "", "", "", false, true, classes, null, null, null ); PluginRegistry.getInstance().registerPlugin( ValueMetaPluginType.class, p1 ); PluginRegistry.getInstance().registerPlugin( ValueMetaPluginType.class, p2 ); }
new Plugin( id.split( "," ), pluginType, mainClassTypesAnnotation.value(), category, description, tooltip, iconFilename, false, nativePlugin, classMap, jarFiles, errorHelpFileFull, pluginFolder,
protected void registerExtraDatabaseType( String id, String description, String mainClass ) throws KettlePluginException { Map<Class<?>, String> classMap = new HashMap<Class<?>, String>(); classMap.put( DatabaseInterface.class, mainClass ); PluginInterface dbPlugin = new Plugin( new String[] { id }, DatabasePluginType.class, DatabaseInterface.class, "", description, description, null, false, false, classMap, new ArrayList<String>(), null, null, null, null, null ); PluginRegistry.getInstance().addClassLoader( (URLClassLoader) Thread.currentThread().getContextClassLoader().getParent(), dbPlugin ); PluginRegistry.getInstance().registerPlugin( DatabasePluginType.class, dbPlugin ); }
protected void registerExtraDatabaseType( String id, String description, String mainClass ) throws KettlePluginException { Map<Class<?>, String> classMap = new HashMap<Class<?>, String>(); classMap.put( DatabaseInterface.class, mainClass ); PluginInterface dbPlugin = new Plugin( new String[] { id }, DatabasePluginType.class, DatabaseInterface.class, "", description, description, null, false, false, classMap, new ArrayList<String>(), null, null, null, null, null ); PluginRegistry.getInstance().addClassLoader( (URLClassLoader) Thread.currentThread().getContextClassLoader().getParent(), dbPlugin ); PluginRegistry.getInstance().registerPlugin( DatabasePluginType.class, dbPlugin ); }
protected void registerExtraDatabaseType( String id, String description, String mainClass ) throws KettlePluginException { Map<Class<?>, String> classMap = new HashMap<Class<?>, String>(); classMap.put( DatabaseInterface.class, mainClass ); PluginInterface dbPlugin = new Plugin( new String[] { id }, DatabasePluginType.class, DatabaseInterface.class, "", description, description, null, false, false, classMap, new ArrayList<String>(), null, null, null, null, null ); PluginRegistry.getInstance().addClassLoader( (URLClassLoader) Thread.currentThread().getContextClassLoader().getParent(), dbPlugin ); PluginRegistry.getInstance().registerPlugin( DatabasePluginType.class, dbPlugin ); }
protected void registerExtraDatabaseType( String id, String description, String mainClass ) throws KettlePluginException { Map<Class<?>, String> classMap = new HashMap<Class<?>, String>(); classMap.put( DatabaseInterface.class, mainClass ); PluginInterface dbPlugin = new Plugin( new String[] { id }, DatabasePluginType.class, DatabaseInterface.class, "", description, description, null, false, false, classMap, new ArrayList<String>(), null, null, null, null, null ); PluginRegistry.getInstance().addClassLoader( (URLClassLoader) Thread.currentThread().getContextClassLoader().getParent(), dbPlugin ); PluginRegistry.getInstance().registerPlugin( DatabasePluginType.class, dbPlugin ); }