You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by da...@apache.org on 2015/06/27 02:04:00 UTC
[04/17] incubator-nifi git commit: NIFI-632 using
NarThreadContextClassLoader when generating documentation
NIFI-632 using NarThreadContextClassLoader when generating documentation
Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/4074ec37
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/4074ec37
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/4074ec37
Branch: refs/heads/develop
Commit: 4074ec37858b5fc42074468c981d507cdae4d402
Parents: 6f36c79
Author: danbress <db...@onyxconsults.com>
Authored: Sat May 30 12:04:46 2015 -0400
Committer: danbress <db...@onyxconsults.com>
Committed: Tue Jun 9 21:34:23 2015 -0400
----------------------------------------------------------------------
.../nifi-framework/nifi-documentation/pom.xml | 4 +++
.../apache/nifi/documentation/DocGenerator.java | 27 +++++++++++++-------
2 files changed, 22 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4074ec37/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/pom.xml
index 340f2c5..66febbb 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/pom.xml
@@ -28,6 +28,10 @@
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
+ <artifactId>nifi-framework-core-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.nifi</groupId>
<artifactId>nifi-properties</artifactId>
</dependency>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4074ec37/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/DocGenerator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/DocGenerator.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/DocGenerator.java
index 0e9ed37..c817bfa 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/DocGenerator.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/DocGenerator.java
@@ -33,6 +33,7 @@ import org.apache.nifi.documentation.init.ControllerServiceInitializer;
import org.apache.nifi.documentation.init.ProcessorInitializer;
import org.apache.nifi.documentation.init.ReportingTaskingInitializer;
import org.apache.nifi.nar.ExtensionManager;
+import org.apache.nifi.nar.NarThreadContextClassLoader;
import org.apache.nifi.processor.Processor;
import org.apache.nifi.reporting.InitializationException;
import org.apache.nifi.reporting.ReportingTask;
@@ -68,17 +69,25 @@ public class DocGenerator {
logger.debug("Generating documentation for: " + extensionClasses.size() + " components in: "
+ explodedNiFiDocsDir);
- for (final Class<?> extensionClass : extensionClasses) {
- if (ConfigurableComponent.class.isAssignableFrom(extensionClass)) {
- final Class<? extends ConfigurableComponent> componentClass = extensionClass
- .asSubclass(ConfigurableComponent.class);
- try {
- logger.debug("Documenting: " + componentClass);
- document(explodedNiFiDocsDir, componentClass);
- } catch (Exception e) {
- logger.warn("Unable to document: " + componentClass, e);
+ // save the original class loader and use a NarThreadContextClassLoader
+ final ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
+ try {
+ Thread.currentThread().setContextClassLoader(NarThreadContextClassLoader.getInstance());
+
+ for (final Class<?> extensionClass : extensionClasses) {
+ if (ConfigurableComponent.class.isAssignableFrom(extensionClass)) {
+ final Class<? extends ConfigurableComponent> componentClass = extensionClass
+ .asSubclass(ConfigurableComponent.class);
+ try {
+ logger.debug("Documenting: " + componentClass);
+ document(explodedNiFiDocsDir, componentClass);
+ } catch (Exception e) {
+ logger.warn("Unable to document: " + componentClass, e);
+ }
}
}
+ } finally {
+ Thread.currentThread().setContextClassLoader(originalClassLoader);
}
}