public static RepositoryPluginType getInstance() { if ( pluginType == null ) { pluginType = new RepositoryPluginType(); } return pluginType; }
private RepositoryPluginType() { super( RepositoryPlugin.class, "REPOSITORY_TYPE", "Repository type" ); populateFolders( "repositories" ); String systemDir = System.getProperty( "PentahoSystemPath" ); if ( systemDir != null ) { this.pluginFolders.add( new PluginFolder( systemDir, false, true ) ); } }
/** * The core plugin types don't know about UI classes. This method adds those in before initialization. * * TODO: create a SpoonLifecycle listener that can notify interested parties of a pre-initialization state so this can * happen in those listeners. */ private static void registerUIPluginObjectTypes() { RepositoryPluginType repositoryPluginType = RepositoryPluginType.getInstance(); repositoryPluginType.addObjectType( RepositoryRevisionBrowserDialogInterface.class, "version-browser-classname" ); repositoryPluginType.addObjectType( RepositoryDialogInterface.class, "dialog-classname" ); PluginRegistry.addPluginType( SpoonPluginType.getInstance() ); SpoonPluginType.getInstance().getPluginFolders().add( new PluginFolder( "plugins/repositories", false, true ) ); LifecyclePluginType.getInstance().getPluginFolders().add( new PluginFolder( "plugins/spoon", false, true ) ); LifecyclePluginType.getInstance().getPluginFolders().add( new PluginFolder( "plugins/repositories", false, true ) ); PluginRegistry.addPluginType( JobDialogPluginType.getInstance() ); PluginRegistry.addPluginType( TransDialogPluginType.getInstance() ); }
public static void main( String[] a ) throws Exception { final ExecutorService executor = ExecutorUtil.getExecutor(); final RepositoryPluginType repositoryPluginType = RepositoryPluginType.getInstance();
protected void registerXmlPlugins() throws KettlePluginException { for ( PluginFolderInterface folder : pluginFolders ) { if ( folder.isPluginXmlFolder() ) { List<FileObject> pluginXmlFiles = findPluginXmlFiles( folder.getFolder() ); for ( FileObject file : pluginXmlFiles ) { try { Document document = XMLHandler.loadXMLFile( file ); Node pluginNode = XMLHandler.getSubNode( document, "plugin" ); registerPluginFromXmlResource( pluginNode, KettleVFS.getFilename( file.getParent() ), this.getClass(), false, file .getParent().getURL() ); } catch ( Exception e ) { // We want to report this plugin.xml error, perhaps an XML typo or something like that... // log.logError( "Error found while reading repository plugin.xml file: " + file.getName().toString(), e ); } } } } }
JobEntryDialogFragmentType.getInstance(), LogTablePluginType.getInstance(), RepositoryPluginType.getInstance(), LifecyclePluginType.getInstance(), KettleLifecyclePluginType.getInstance(),