You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by mo...@apache.org on 2017/05/11 17:33:16 UTC

[14/39] nifi git commit: NIFI-3350 optimized documentation extraction to reduce startup time

NIFI-3350 optimized documentation extraction to reduce startup time

Signed-off-by: James Wing <jv...@gmail.com>

This closes #1416.


Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/3a094818
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/3a094818
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/3a094818

Branch: refs/heads/support/nifi-0.7.x
Commit: 3a0948188e3095bc0b38c54daea0dd219a3b11fa
Parents: 6ccc729
Author: Mike Moser <mo...@apache.org>
Authored: Fri Jan 13 22:17:36 2017 +0000
Committer: James Wing <jv...@gmail.com>
Committed: Mon Jan 23 21:20:24 2017 -0800

----------------------------------------------------------------------
 .../main/java/org/apache/nifi/nar/NarUnpacker.java  | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/3a094818/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-nar-utils/src/main/java/org/apache/nifi/nar/NarUnpacker.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-nar-utils/src/main/java/org/apache/nifi/nar/NarUnpacker.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-nar-utils/src/main/java/org/apache/nifi/nar/NarUnpacker.java
index ee8b454..1203118 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-nar-utils/src/main/java/org/apache/nifi/nar/NarUnpacker.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-nar-utils/src/main/java/org/apache/nifi/nar/NarUnpacker.java
@@ -90,7 +90,7 @@ public final class NarUnpacker {
 
             if (!narFiles.isEmpty()) {
                 final long startTime = System.nanoTime();
-                logger.info("Expanding " + narFiles.size() + " NAR files with all processors... It can take few minutes.");
+                logger.info("Expanding " + narFiles.size() + " NAR files with all processors...");
                 for (File narFile : narFiles) {
                     logger.debug("Expanding NAR file: " + narFile.getAbsolutePath());
 
@@ -262,7 +262,9 @@ public final class NarUnpacker {
     private static void unpackDocumentation(final File jar, final File docsDirectory,
             final ExtensionMapping extensionMapping) throws IOException {
         // determine the components that may have documentation
-        determineDocumentedNiFiComponents(jar, extensionMapping);
+        if (!determineDocumentedNiFiComponents(jar, extensionMapping)) {
+            return;
+        }
 
         // look for all documentation related to each component
         try (final JarFile jarFile = new JarFile(jar)) {
@@ -301,7 +303,10 @@ public final class NarUnpacker {
         }
     }
 
-    private static void determineDocumentedNiFiComponents(final File jar,
+    /*
+     * Returns true if this jar file contains a NiFi component
+     */
+    private static boolean determineDocumentedNiFiComponents(final File jar,
             final ExtensionMapping extensionMapping) throws IOException {
         try (final JarFile jarFile = new JarFile(jar)) {
             final JarEntry processorEntry = jarFile
@@ -311,12 +316,17 @@ public final class NarUnpacker {
             final JarEntry controllerServiceEntry = jarFile
                     .getJarEntry("META-INF/services/org.apache.nifi.controller.ControllerService");
 
+            if (processorEntry==null && reportingTaskEntry==null && controllerServiceEntry==null) {
+                return false;
+            }
+
             extensionMapping.addAllProcessors(determineDocumentedNiFiComponents(jarFile,
                     processorEntry));
             extensionMapping.addAllReportingTasks(determineDocumentedNiFiComponents(jarFile,
                     reportingTaskEntry));
             extensionMapping.addAllControllerServices(determineDocumentedNiFiComponents(jarFile,
                     controllerServiceEntry));
+            return true;
         }
     }