markap14 commented on a change in pull request #4852: URL: https://github.com/apache/nifi/pull/4852#discussion_r585061047
########## File path: nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/DocGenerator.java ########## @@ -69,25 +70,34 @@ public static void generate(final NiFiProperties properties, final ExtensionMana /** * Documents a type of configurable component. * - * @param extensionClasses types of a configurable component + * @param extensionDefinitions definitions of the extensions to document * @param explodedNiFiDocsDir base directory of component documentation */ - public static void documentConfigurableComponent(final Set<Class> extensionClasses, final File explodedNiFiDocsDir, final ExtensionManager extensionManager) { - for (final Class<?> extensionClass : extensionClasses) { - if (ConfigurableComponent.class.isAssignableFrom(extensionClass)) { - final String extensionClassName = extensionClass.getCanonicalName(); - - final Bundle bundle = extensionManager.getBundle(extensionClass.getClassLoader()); - if (bundle == null) { - logger.warn("No coordinate found for {}, skipping...", new Object[] {extensionClassName}); - continue; - } - final BundleCoordinate coordinate = bundle.getBundleDetails().getCoordinate(); + public static void documentConfigurableComponent(final Set<ExtensionDefinition> extensionDefinitions, final File explodedNiFiDocsDir, final ExtensionManager extensionManager) { + for (final ExtensionDefinition extensionDefinition : extensionDefinitions) { + final Bundle bundle = extensionDefinition.getBundle(); + if (bundle == null) { + logger.warn("Cannot document extension {} because it has no bundle associated with it", extensionDefinition); + continue; + } + + final BundleCoordinate coordinate = bundle.getBundleDetails().getCoordinate(); + + final String extensionClassName = extensionDefinition.getImplementationClassName(); + final String path = coordinate.getGroup() + "/" + coordinate.getId() + "/" + coordinate.getVersion() + "/" + extensionClassName; + final File componentDirectory = new File(explodedNiFiDocsDir, path); + final File indexHtml = new File(componentDirectory, "index.html"); Review comment: Not IMO. I am very much not a fan of extracting strings into static member variables unless they are pretty heavily used or likely to change. It results in lots of statically defined strings that really muddy up the code. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org