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


Reply via email to