public String extractCasesUrl( Annotation annotation ) { return pluginType.extractCasesUrl( annotation ); }
public String extractDocumentationUrl( Annotation annotation ) { return pluginType.extractDocumentationUrl( annotation ); }
public String extractForumUrl( Annotation annotation ) { return pluginType.extractForumUrl( annotation ); }
List<String> libraries, boolean nativePluginType, URL pluginFolder ) throws KettlePluginException { String idList = extractID( annotation ); if ( Utils.isEmpty( idList ) ) { throw new KettlePluginException( "No ID specified for plugin with class: " + clazz.getName() ); String packageName = extractI18nPackageName( annotation ); String altPackageName = clazz.getPackage().getName(); String name = getTranslation( extractName( annotation ), packageName, altPackageName, clazz ); String description = getTranslation( extractDesc( annotation ), packageName, altPackageName, clazz ); String category = getTranslation( extractCategory( annotation ), packageName, altPackageName, clazz ); String imageFile = extractImageFile( annotation ); boolean separateClassLoader = extractSeparateClassLoader( annotation ); String documentationUrl = extractDocumentationUrl( annotation ); String casesUrl = extractCasesUrl( annotation ); String forumUrl = extractForumUrl( annotation ); String suggestion = getTranslation( extractSuggestion( annotation ), packageName, altPackageName, clazz ); String classLoaderGroup = extractClassLoaderGroup( annotation ); name += addDeprecation( category ); addExtraClasses( classMap, clazz, annotation );
String description = getTagOrAttribute( pluginNode, "description" ); String iconfile = getTagOrAttribute( pluginNode, "iconfile" ); String tooltip = getTagOrAttribute( pluginNode, "tooltip" ); String category = getTagOrAttribute( pluginNode, "category" ); String classname = getTagOrAttribute( pluginNode, "classname" ); String errorHelpfile = getTagOrAttribute( pluginNode, "errorhelpfile" ); String documentationUrl = getTagOrAttribute( pluginNode, "documentation_url" ); String casesUrl = getTagOrAttribute( pluginNode, "cases_url" ); String forumUrl = getTagOrAttribute( pluginNode, "forum_url" ); String suggestion = getTagOrAttribute( pluginNode, "suggestion" ); Map<String, String> localizedCategories = readPluginLocale( pluginNode, "localized_category", "category" ); category = getAlternativeTranslation( category, localizedCategories ); readPluginLocale( pluginNode, "localized_description", "description" ); description = getAlternativeTranslation( description, localDescriptions ); description += addDeprecation( category ); suggestion = getAlternativeTranslation( suggestion, localDescriptions ); Map<String, String> localizedTooltips = readPluginLocale( pluginNode, "localized_tooltip", "tooltip" ); tooltip = getAlternativeTranslation( tooltip, localizedTooltips ); for ( int i = 0; i < classTypesAnnotation.classTypes().length; i++ ) { Class<?> classType = classTypesAnnotation.classTypes()[i]; String className = getTagOrAttribute( pluginNode, classTypesAnnotation.xmlNodeNames()[i] ); Map<Class<?>, String> objectMap = getAdditionalRuntimeObjectTypes(); for ( Map.Entry<Class<?>, String> entry : objectMap.entrySet() ) {
protected void registerPluginJars() throws KettlePluginException { List<JarFileAnnotationPlugin> jarFilePlugins = findAnnotatedClassFiles( pluginType.getName() ); for ( JarFileAnnotationPlugin jarFilePlugin : jarFilePlugins ) { URLClassLoader urlClassLoader = createUrlClassLoader( jarFilePlugin.getJarFile(), getClass().getClassLoader() ); try { Class<?> clazz = urlClassLoader.loadClass( jarFilePlugin.getClassName() ); if ( clazz == null ) { throw new KettlePluginException( "Unable to load class: " + jarFilePlugin.getClassName() ); } List<String> libraries = Arrays.stream( urlClassLoader.getURLs() ) .map( URL::getFile ) .collect( Collectors.toList() ); Annotation annotation = clazz.getAnnotation( pluginType ); handlePluginAnnotation( clazz, annotation, libraries, false, jarFilePlugin.getPluginFolder() ); } catch ( Exception e ) { // Ignore for now, don't know if it's even possible. LogChannel.GENERAL.logError( "Unexpected error registering jar plugin file: " + jarFilePlugin.getJarFile(), e ); } finally { if ( urlClassLoader != null && urlClassLoader instanceof KettleURLClassLoader ) { ( (KettleURLClassLoader) urlClassLoader ).closeClassLoader(); } } } }
public String extractCategory( Annotation annotation ) { String category = pluginType.extractCategory( annotation ); packageName = extractI18nPackageName( annotation ); return BasePluginType.getTranslation( category, packageName, altPackageName, target.getClass() ); }
public String extractDesc( Annotation annotation ) { String desc = pluginType.extractDesc( annotation ); packageName = extractI18nPackageName( annotation ); return BasePluginType.getTranslation( desc, packageName, altPackageName, target.getClass() ); }
public String extractI18nPackageName( Annotation annotation ) { return pluginType.extractI18nPackageName( annotation ); }