You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by jw...@apache.org on 2017/01/22 22:28:37 UTC

nifi git commit: NIFI-3350 optimized documentation extraction to reduce startup time

Repository: nifi
Updated Branches:
  refs/heads/master 79ca30be4 -> ddda60262


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/ddda6026
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/ddda6026
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/ddda6026

Branch: refs/heads/master
Commit: ddda602620053dd578cf2b96d7733538bc67a82a
Parents: 79ca30b
Author: Mike Moser <mo...@apache.org>
Authored: Fri Jan 13 22:17:36 2017 +0000
Committer: James Wing <jv...@gmail.com>
Committed: Sun Jan 22 14:27:19 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/ddda6026/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 69aac84..1e9ac47 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
@@ -92,7 +92,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());
 
@@ -264,7 +264,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)) {
@@ -303,7 +305,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
@@ -313,12 +318,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;
         }
     }