You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by mc...@apache.org on 2015/03/19 02:24:10 UTC
[22/27] incubator-nifi git commit: NIFI-280 This closes #19 Updated
poms for versions after merge. Minor doc removals. Awesome PR!
NIFI-280 This closes #19 Updated poms for versions after merge. Minor doc removals. Awesome PR!
Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/e9d31f5d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/e9d31f5d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/e9d31f5d
Branch: refs/heads/NIFI-353
Commit: e9d31f5d994e5d6d89edf8465942167647959abc
Parents: cadfc67
Author: joewitt <jo...@apache.org>
Authored: Tue Mar 17 23:42:22 2015 -0400
Committer: joewitt <jo...@apache.org>
Committed: Tue Mar 17 23:42:22 2015 -0400
----------------------------------------------------------------------
nifi/nifi-assembly/NOTICE | 5 +
.../nifi-framework/nifi-documentation/pom.xml | 92 +--
.../ConfigurableComponentInitializer.java | 16 +-
.../apache/nifi/documentation/DocGenerator.java | 261 ++++---
.../nifi/documentation/DocumentationWriter.java | 6 +-
.../html/HtmlDocumentationWriter.java | 718 +++++++++----------
.../html/HtmlProcessorDocumentationWriter.java | 46 +-
.../init/ControllerServiceInitializer.java | 12 +-
.../init/ProcessorInitializer.java | 12 +-
.../init/ReportingTaskingInitializer.java | 12 +-
...kControllerServiceInitializationContext.java | 18 +-
.../mock/MockControllerServiceLookup.java | 42 +-
.../MockProcessorInitializationContext.java | 26 +-
.../MockReportingInitializationContext.java | 60 +-
.../documentation/example/NakedProcessor.java | 17 +-
.../nifi-framework/pom.xml | 2 +-
.../nifi-framework-bundle/pom.xml | 2 +-
.../processors/standard/DistributeLoad.java | 2 +-
.../processors/standard/HandleHttpRequest.java | 7 +-
.../additionalDetails.html | 42 +-
.../additionalDetails.html | 58 ++
.../index.html | 155 ----
.../additionalDetails.html | 222 +++---
.../index.html | 100 ---
.../additionalDetails.html | 127 ++++
.../index.html | 255 -------
.../additionalDetails.html | 57 ++
.../index.html | 112 ---
.../additionalDetails.html | 88 +--
.../additionalDetails.html | 2 +-
.../additionalDetails.html | 2 +-
.../additionalDetails.html | 2 +-
.../additionalDetails.html | 24 +-
.../additionalDetails.html | 4 +-
.../additionalDetails.html | 2 +-
.../additionalDetails.html | 2 +-
.../additionalDetails.html | 2 +-
.../additionalDetails.html | 2 +-
.../index.html | 85 ---
39 files changed, 1067 insertions(+), 1632 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e9d31f5d/nifi/nifi-assembly/NOTICE
----------------------------------------------------------------------
diff --git a/nifi/nifi-assembly/NOTICE b/nifi/nifi-assembly/NOTICE
index 4ead623..8d7db8d 100644
--- a/nifi/nifi-assembly/NOTICE
+++ b/nifi/nifi-assembly/NOTICE
@@ -181,6 +181,11 @@ The following binary components are provided under the Apache Software License v
Apache log4j
Copyright 2007 The Apache Software Foundation
+ (ASLv2) Apache Tika
+ The following NOTICE information applies:
+ Apache Tika Core
+ Copyright 2007-2015 The Apache Software Foundation
+
(ASLv2) Apache Commons Configuration
The following NOTICE information applies:
Apache Commons Configuration
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e9d31f5d/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 f35c8cd..e522d30 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
@@ -1,49 +1,49 @@
<?xml version="1.0"?>
<project
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
- xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <!-- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with this
- work for additional information regarding copyright ownership. The ASF licenses
- this file to You under the Apache License, Version 2.0 (the "License"); you
- may not use this file except in compliance with the License. You may obtain
- a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless
- required by applicable law or agreed to in writing, software distributed
- under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
- OR CONDITIONS OF ANY KIND, either express or implied. See the License for
- the specific language governing permissions and limitations under the License. -->
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.nifi</groupId>
- <artifactId>nifi-framework</artifactId>
- <version>0.0.2-incubating-SNAPSHOT</version>
- </parent>
- <artifactId>nifi-documentation</artifactId>
- <dependencies>
- <dependency>
- <groupId>org.apache.nifi</groupId>
- <artifactId>nifi-nar-utils</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.nifi</groupId>
- <artifactId>nifi-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.nifi</groupId>
- <artifactId>nifi-properties</artifactId>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-lang3</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.nifi</groupId>
- <artifactId>nifi-processor-utils</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <!-- Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with this
+ work for additional information regarding copyright ownership. The ASF licenses
+ this file to You under the Apache License, Version 2.0 (the "License"); you
+ may not use this file except in compliance with the License. You may obtain
+ a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless
+ required by applicable law or agreed to in writing, software distributed
+ under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
+ OR CONDITIONS OF ANY KIND, either express or implied. See the License for
+ the specific language governing permissions and limitations under the License. -->
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.nifi</groupId>
+ <artifactId>nifi-framework</artifactId>
+ <version>0.1.0-incubating-SNAPSHOT</version>
+ </parent>
+ <artifactId>nifi-documentation</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.nifi</groupId>
+ <artifactId>nifi-nar-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.nifi</groupId>
+ <artifactId>nifi-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.nifi</groupId>
+ <artifactId>nifi-properties</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.nifi</groupId>
+ <artifactId>nifi-processor-utils</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
</project>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e9d31f5d/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/ConfigurableComponentInitializer.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/ConfigurableComponentInitializer.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/ConfigurableComponentInitializer.java
index 164d212..bd07ab5 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/ConfigurableComponentInitializer.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/ConfigurableComponentInitializer.java
@@ -27,12 +27,12 @@ import org.apache.nifi.reporting.InitializationException;
*/
public interface ConfigurableComponentInitializer {
- /**
- * Initializes a configurable component to the point that you can call
- * getPropertyDescriptors() on it
- *
- * @param component the component to initialize
- * @throws InitializationException if the component could not be initialized
- */
- void initialize(ConfigurableComponent component) throws InitializationException;
+ /**
+ * Initializes a configurable component to the point that you can call
+ * getPropertyDescriptors() on it
+ *
+ * @param component the component to initialize
+ * @throws InitializationException if the component could not be initialized
+ */
+ void initialize(ConfigurableComponent component) throws InitializationException;
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e9d31f5d/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 157d95e..8a53f00 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
@@ -43,140 +43,137 @@ import org.slf4j.LoggerFactory;
/**
* Uses the ExtensionManager to get a list of Processor, ControllerService, and
* Reporting Task classes that were loaded and generate documentation for them.
- *
+ *
*
*/
public class DocGenerator {
- private static final Logger logger = LoggerFactory.getLogger(DocGenerator.class);
-
- /**
- * Generates documentation into the work/docs dir specified by
- * NiFiProperties.
- *
- * @param properties
- */
- public static void generate(final NiFiProperties properties) {
- @SuppressWarnings("rawtypes")
- final Set<Class> extensionClasses = new HashSet<>();
- extensionClasses.addAll(ExtensionManager.getExtensions(Processor.class));
- extensionClasses.addAll(ExtensionManager.getExtensions(ControllerService.class));
- extensionClasses.addAll(ExtensionManager.getExtensions(ReportingTask.class));
-
- final File explodedNiFiDocsDir = properties.getComponentDocumentationWorkingDirectory();
-
- 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);
- }
- }
- }
- }
-
- /**
- * Generates the documentation for a particular configurable comopnent. Will
- * check to see if an "additionalDetails.html" file exists and will link
- * that from the generated documentation.
- *
- * @param docsDir
- * the work\docs\components dir to stick component documentation
- * in
- * @param componentClass
- * the class to document
- * @throws InstantiationException
- * @throws IllegalAccessException
- * @throws IOException
- * @throws InitializationException
- */
- private static void document(final File docsDir, final Class<? extends ConfigurableComponent> componentClass)
- throws InstantiationException, IllegalAccessException, IOException, InitializationException {
-
- final ConfigurableComponent component = componentClass.newInstance();
- final ConfigurableComponentInitializer initializer = getComponentInitializer(componentClass);
- initializer.initialize(component);
-
- final DocumentationWriter writer = getDocumentWriter(componentClass);
-
- final File directory = new File(docsDir, componentClass.getCanonicalName());
- directory.mkdirs();
-
- final File baseDocumenationFile = new File(directory, "index.html");
- if (baseDocumenationFile.exists()) {
- logger.warn(baseDocumenationFile + " already exists, overwriting!");
- }
-
- try (final OutputStream output = new BufferedOutputStream(new FileOutputStream(baseDocumenationFile))) {
- writer.write(component, output, hasAdditionalInfo(directory));
- }
- }
-
- /**
- * Returns the DocumentationWriter for the type of component. Currently
- * Processor, ControllerService, and ReportingTask are supported.
- *
- * @param componentClass
- * the class that requires a DocumentationWriter
- * @return a DocumentationWriter capable of generating documentation for
- * that specific type of class
- */
- private static DocumentationWriter getDocumentWriter(final Class<? extends ConfigurableComponent> componentClass) {
- if (Processor.class.isAssignableFrom(componentClass)) {
- return new HtmlProcessorDocumentationWriter();
- } else if (ControllerService.class.isAssignableFrom(componentClass)) {
- return new HtmlDocumentationWriter();
- } else if (ReportingTask.class.isAssignableFrom(componentClass)) {
- return new HtmlDocumentationWriter();
- }
-
- return null;
- }
-
- /**
- * Returns a ConfigurableComponentInitializer for the type of component.
- * Currently Processor, ControllerService and ReportingTask are supported.
- *
- * @param componentClass
- * the class that requires a ConfigurableComponentInitializer
- * @return a ConfigurableComponentInitializer capable of initializing that
- * specific type of class
- */
- private static ConfigurableComponentInitializer getComponentInitializer(
- final Class<? extends ConfigurableComponent> componentClass) {
- if (Processor.class.isAssignableFrom(componentClass)) {
- return new ProcessorInitializer();
- } else if (ControllerService.class.isAssignableFrom(componentClass)) {
- return new ControllerServiceInitializer();
- } else if (ReportingTask.class.isAssignableFrom(componentClass)) {
- return new ReportingTaskingInitializer();
- }
-
- return null;
- }
-
- /**
- * Checks to see if a directory to write to has an additionalDetails.html in
- * it already.
- *
- * @param directory
- * @return true if additionalDetails.html exists, false otherwise.
- */
- private static boolean hasAdditionalInfo(File directory) {
- return directory.list(new FilenameFilter() {
-
- @Override
- public boolean accept(File dir, String name) {
- return name.equalsIgnoreCase(HtmlDocumentationWriter.ADDITIONAL_DETAILS_HTML);
- }
-
- }).length > 0;
- }
+ private static final Logger logger = LoggerFactory.getLogger(DocGenerator.class);
+
+ /**
+ * Generates documentation into the work/docs dir specified by
+ * NiFiProperties.
+ *
+ * @param properties
+ */
+ public static void generate(final NiFiProperties properties) {
+ @SuppressWarnings("rawtypes")
+ final Set<Class> extensionClasses = new HashSet<>();
+ extensionClasses.addAll(ExtensionManager.getExtensions(Processor.class));
+ extensionClasses.addAll(ExtensionManager.getExtensions(ControllerService.class));
+ extensionClasses.addAll(ExtensionManager.getExtensions(ReportingTask.class));
+
+ final File explodedNiFiDocsDir = properties.getComponentDocumentationWorkingDirectory();
+
+ 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);
+ }
+ }
+ }
+ }
+
+ /**
+ * Generates the documentation for a particular configurable comopnent. Will
+ * check to see if an "additionalDetails.html" file exists and will link
+ * that from the generated documentation.
+ *
+ * @param docsDir the work\docs\components dir to stick component
+ * documentation in
+ * @param componentClass the class to document
+ * @throws InstantiationException
+ * @throws IllegalAccessException
+ * @throws IOException
+ * @throws InitializationException
+ */
+ private static void document(final File docsDir, final Class<? extends ConfigurableComponent> componentClass)
+ throws InstantiationException, IllegalAccessException, IOException, InitializationException {
+
+ final ConfigurableComponent component = componentClass.newInstance();
+ final ConfigurableComponentInitializer initializer = getComponentInitializer(componentClass);
+ initializer.initialize(component);
+
+ final DocumentationWriter writer = getDocumentWriter(componentClass);
+
+ final File directory = new File(docsDir, componentClass.getCanonicalName());
+ directory.mkdirs();
+
+ final File baseDocumenationFile = new File(directory, "index.html");
+ if (baseDocumenationFile.exists()) {
+ logger.warn(baseDocumenationFile + " already exists, overwriting!");
+ }
+
+ try (final OutputStream output = new BufferedOutputStream(new FileOutputStream(baseDocumenationFile))) {
+ writer.write(component, output, hasAdditionalInfo(directory));
+ }
+ }
+
+ /**
+ * Returns the DocumentationWriter for the type of component. Currently
+ * Processor, ControllerService, and ReportingTask are supported.
+ *
+ * @param componentClass the class that requires a DocumentationWriter
+ * @return a DocumentationWriter capable of generating documentation for
+ * that specific type of class
+ */
+ private static DocumentationWriter getDocumentWriter(final Class<? extends ConfigurableComponent> componentClass) {
+ if (Processor.class.isAssignableFrom(componentClass)) {
+ return new HtmlProcessorDocumentationWriter();
+ } else if (ControllerService.class.isAssignableFrom(componentClass)) {
+ return new HtmlDocumentationWriter();
+ } else if (ReportingTask.class.isAssignableFrom(componentClass)) {
+ return new HtmlDocumentationWriter();
+ }
+
+ return null;
+ }
+
+ /**
+ * Returns a ConfigurableComponentInitializer for the type of component.
+ * Currently Processor, ControllerService and ReportingTask are supported.
+ *
+ * @param componentClass the class that requires a
+ * ConfigurableComponentInitializer
+ * @return a ConfigurableComponentInitializer capable of initializing that
+ * specific type of class
+ */
+ private static ConfigurableComponentInitializer getComponentInitializer(
+ final Class<? extends ConfigurableComponent> componentClass) {
+ if (Processor.class.isAssignableFrom(componentClass)) {
+ return new ProcessorInitializer();
+ } else if (ControllerService.class.isAssignableFrom(componentClass)) {
+ return new ControllerServiceInitializer();
+ } else if (ReportingTask.class.isAssignableFrom(componentClass)) {
+ return new ReportingTaskingInitializer();
+ }
+
+ return null;
+ }
+
+ /**
+ * Checks to see if a directory to write to has an additionalDetails.html in
+ * it already.
+ *
+ * @param directory
+ * @return true if additionalDetails.html exists, false otherwise.
+ */
+ private static boolean hasAdditionalInfo(File directory) {
+ return directory.list(new FilenameFilter() {
+
+ @Override
+ public boolean accept(File dir, String name) {
+ return name.equalsIgnoreCase(HtmlDocumentationWriter.ADDITIONAL_DETAILS_HTML);
+ }
+
+ }).length > 0;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e9d31f5d/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/DocumentationWriter.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/DocumentationWriter.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/DocumentationWriter.java
index 5a3c5d8..d178636 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/DocumentationWriter.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/DocumentationWriter.java
@@ -23,11 +23,11 @@ import org.apache.nifi.components.ConfigurableComponent;
/**
* Generates documentation for an instance of a ConfigurableComponent
- *
+ *
*
*/
public interface DocumentationWriter {
- void write(ConfigurableComponent configurableComponent, OutputStream streamToWriteTo,
- boolean includesAdditionalDocumentation) throws IOException;
+ void write(ConfigurableComponent configurableComponent, OutputStream streamToWriteTo,
+ boolean includesAdditionalDocumentation) throws IOException;
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e9d31f5d/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/html/HtmlDocumentationWriter.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/html/HtmlDocumentationWriter.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/html/HtmlDocumentationWriter.java
index c192759..b547934 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/html/HtmlDocumentationWriter.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/html/HtmlDocumentationWriter.java
@@ -38,380 +38,354 @@ import org.apache.nifi.documentation.DocumentationWriter;
* Generates HTML documentation for a ConfigurableComponent. This class is used
* to generate documentation for ControllerService and ReportingTask because
* they have no additional information.
- *
+ *
*
*/
public class HtmlDocumentationWriter implements DocumentationWriter {
- /**
- * The filename where additional user specified information may be stored.
- */
- public static final String ADDITIONAL_DETAILS_HTML = "additionalDetails.html";
-
- @Override
- public void write(final ConfigurableComponent configurableComponent, final OutputStream streamToWriteTo,
- final boolean includesAdditionalDocumentation) throws IOException {
-
- try {
- XMLStreamWriter xmlStreamWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(
- streamToWriteTo, "UTF-8");
- xmlStreamWriter.writeDTD("<!DOCTYPE html>");
- xmlStreamWriter.writeStartElement("html");
- xmlStreamWriter.writeAttribute("lang", "en");
- writeHead(configurableComponent, xmlStreamWriter);
- writeBody(configurableComponent, xmlStreamWriter, includesAdditionalDocumentation);
- xmlStreamWriter.writeEndElement();
- xmlStreamWriter.close();
- } catch (XMLStreamException | FactoryConfigurationError e) {
- throw new IOException("Unable to create XMLOutputStream", e);
- }
- }
-
- /**
- * Writes the head portion of the HTML documentation.
- *
- * @param configurableComponent
- * the component to describe
- * @param xmlStreamWriter
- * the stream to write to
- * @throws XMLStreamException
- * thrown if there was a problem writing to the stream
- */
- protected void writeHead(final ConfigurableComponent configurableComponent,
- final XMLStreamWriter xmlStreamWriter) throws XMLStreamException {
- xmlStreamWriter.writeStartElement("head");
- xmlStreamWriter.writeStartElement("meta");
- xmlStreamWriter.writeAttribute("charset", "utf-8");
- xmlStreamWriter.writeEndElement();
- writeSimpleElement(xmlStreamWriter, "title", getTitle(configurableComponent));
-
- xmlStreamWriter.writeStartElement("link");
- xmlStreamWriter.writeAttribute("rel", "stylesheet");
- xmlStreamWriter.writeAttribute("href", "../../css/component-usage.css");
- xmlStreamWriter.writeAttribute("type", "text/css");
- xmlStreamWriter.writeEndElement();
-
- xmlStreamWriter.writeEndElement();
- }
-
- /**
- * Gets the class name of the component.
- *
- * @param configurableComponent
- * the component to describe
- * @return the class name of the component
- */
- protected String getTitle(final ConfigurableComponent configurableComponent) {
- return configurableComponent.getClass().getSimpleName();
- }
-
- /**
- * Writes the body section of the documentation, this consists of the
- * component description, the tags, and the PropertyDescriptors.
- *
- * @param configurableComponent
- * the component to describe
- * @param xmlStreamWriter
- * the stream writer
- * @param hasAdditionalDetails
- * whether there are additional details present or not
- * @throws XMLStreamException
- * thrown if there was a problem writing to the XML stream
- */
- private final void writeBody(final ConfigurableComponent configurableComponent,
- final XMLStreamWriter xmlStreamWriter, final boolean hasAdditionalDetails)
- throws XMLStreamException {
- xmlStreamWriter.writeStartElement("body");
- writeDescription(configurableComponent, xmlStreamWriter, hasAdditionalDetails);
- writeTags(configurableComponent, xmlStreamWriter);
- writeProperties(configurableComponent, xmlStreamWriter);
- writeAdditionalBodyInfo(configurableComponent, xmlStreamWriter);
- xmlStreamWriter.writeEndElement();
- }
-
- /**
- * This method may be overridden by sub classes to write additional
- * information to the body of the documentation.
- *
- * @param configurableComponent
- * the component to describe
- * @param xmlStreamWriter
- * the stream writer
- * @throws XMLStreamException
- * thrown if there was a problem writing to the XML stream
- */
- protected void writeAdditionalBodyInfo(final ConfigurableComponent configurableComponent,
- final XMLStreamWriter xmlStreamWriter) throws XMLStreamException {
- }
-
- /**
- * Writes the tags attached to a ConfigurableComponent.
- *
- * @param configurableComponent
- * @param xmlStreamWriter
- * @throws XMLStreamException
- */
- private void writeTags(final ConfigurableComponent configurableComponent,
- final XMLStreamWriter xmlStreamWriter) throws XMLStreamException {
- final Tags tags = configurableComponent.getClass().getAnnotation(Tags.class);
- xmlStreamWriter.writeStartElement("h3");
- xmlStreamWriter.writeCharacters("Tags: ");
- xmlStreamWriter.writeEndElement();
- xmlStreamWriter.writeStartElement("p");
- if (tags != null) {
- final String tagString = StringUtils.join(tags.value(), ", ");
- xmlStreamWriter.writeCharacters(tagString);
- } else {
- xmlStreamWriter.writeCharacters("None.");
- }
- xmlStreamWriter.writeEndElement();
-
- }
-
- /**
- * Writes a description of the configurable component.
- *
- * @param configurableComponent
- * the component to describe
- * @param xmlStreamWriter
- * the stream writer
- * @param hasAdditionalDetails
- * whether there are additional details available as
- * 'additionalDetails.html'
- * @throws XMLStreamException
- * thrown if there was a problem writing to the XML stream
- */
- protected void writeDescription(final ConfigurableComponent configurableComponent,
- final XMLStreamWriter xmlStreamWriter, final boolean hasAdditionalDetails)
- throws XMLStreamException {
- writeSimpleElement(xmlStreamWriter, "h2", "Description: ");
- writeSimpleElement(xmlStreamWriter, "p", getDescription(configurableComponent));
- if (hasAdditionalDetails) {
- xmlStreamWriter.writeStartElement("p");
-
- writeLink(xmlStreamWriter, "Additional Details...", ADDITIONAL_DETAILS_HTML);
-
- xmlStreamWriter.writeEndElement();
- }
- }
-
- /**
- * Gets a description of the ConfigurableComponent using the
- * CapabilityDescription annotation.
- *
- * @param configurableComponent
- * the component to describe
- * @return a description of the configurableComponent
- */
- protected String getDescription(final ConfigurableComponent configurableComponent) {
- final CapabilityDescription capabilityDescription = configurableComponent.getClass().getAnnotation(
- CapabilityDescription.class);
-
- final String description;
- if (capabilityDescription != null) {
- description = capabilityDescription.value();
- } else {
- description = "No description provided.";
- }
-
- return description;
- }
-
- /**
- * Writes the PropertyDescriptors out as a table.
- *
- * @param configurableComponent
- * the component to describe
- * @param xmlStreamWriter
- * the stream writer
- * @throws XMLStreamException
- * thrown if there was a problem writing to the XML Stream
- */
- protected void writeProperties(final ConfigurableComponent configurableComponent,
- final XMLStreamWriter xmlStreamWriter) throws XMLStreamException {
- writeSimpleElement(xmlStreamWriter, "h3", "Properties: ");
- xmlStreamWriter.writeStartElement("p");
- xmlStreamWriter.writeCharacters("In the list below, the names of required properties appear in ");
- writeSimpleElement(xmlStreamWriter, "strong", "bold");
- xmlStreamWriter.writeCharacters(". Any "
- + "other properties (not in bold) are considered optional. The table also "
- + "indicates any default values, whether a property supports the ");
- writeLink(xmlStreamWriter, "NiFi Expression Language",
- "../../html/expression-language-guide.html");
- xmlStreamWriter.writeCharacters(", and whether a property is considered "
- + "\"sensitive\", meaning that its value will be encrypted. Before entering a "
- + "value in a sensitive property, ensure that the ");
- writeSimpleElement(xmlStreamWriter, "strong", "nifi.properties");
- xmlStreamWriter.writeCharacters(" file has " + "an entry for the property ");
- writeSimpleElement(xmlStreamWriter, "strong", "nifi.sensitive.props.key");
- xmlStreamWriter.writeCharacters(".");
- xmlStreamWriter.writeEndElement();
-
-
- List<PropertyDescriptor> properties = configurableComponent.getPropertyDescriptors();
- if (properties.size() > 0) {
- xmlStreamWriter.writeStartElement("table");
-
- // write the header row
- xmlStreamWriter.writeStartElement("tr");
- writeSimpleElement(xmlStreamWriter, "th", "Name");
- writeSimpleElement(xmlStreamWriter, "th", "Default Value");
- writeSimpleElement(xmlStreamWriter, "th", "Valid Values");
- writeSimpleElement(xmlStreamWriter, "th", "Description");
- xmlStreamWriter.writeEndElement();
-
- // write the individual properties
- for (PropertyDescriptor property : properties) {
- xmlStreamWriter.writeStartElement("tr");
- xmlStreamWriter.writeStartElement("td");
- if (property.isRequired()) {
- writeSimpleElement(xmlStreamWriter, "strong", property.getDisplayName());
- } else {
- xmlStreamWriter.writeCharacters(property.getDisplayName());
- }
-
- xmlStreamWriter.writeEndElement();
- writeSimpleElement(xmlStreamWriter, "td", property.getDefaultValue());
- xmlStreamWriter.writeStartElement("td");
- writeValidValues(xmlStreamWriter, property);
- xmlStreamWriter.writeEndElement();
- xmlStreamWriter.writeStartElement("td");
- if (property.getDescription() != null && property.getDescription().trim().length() > 0) {
- xmlStreamWriter.writeCharacters(property.getDescription());
- } else {
- xmlStreamWriter.writeCharacters("No Description Provided.");
- }
-
- if (property.isSensitive()) {
- xmlStreamWriter.writeEmptyElement("br");
- writeSimpleElement(xmlStreamWriter, "strong", "Sensitive Property: true");
- }
-
- if (property.isExpressionLanguageSupported()) {
- xmlStreamWriter.writeEmptyElement("br");
- writeSimpleElement(xmlStreamWriter, "strong", "Supports Expression Language: true");
- }
- xmlStreamWriter.writeEndElement();
-
- xmlStreamWriter.writeEndElement();
- }
-
- // TODO support dynamic properties...
- xmlStreamWriter.writeEndElement();
-
- } else {
- writeSimpleElement(xmlStreamWriter, "p", "This component has no required or optional properties.");
- }
- }
-
- private void writeValidValueDescription(XMLStreamWriter xmlStreamWriter, String description)
- throws XMLStreamException {
- xmlStreamWriter.writeCharacters(" ");
- xmlStreamWriter.writeStartElement("img");
- xmlStreamWriter.writeAttribute("src", "../../html/images/iconInfo.png");
- xmlStreamWriter.writeAttribute("alt", description);
- xmlStreamWriter.writeAttribute("title", description);
- xmlStreamWriter.writeEndElement();
-
- }
-
- /**
- * Interrogates a PropertyDescriptor to get a list of AllowableValues, if
- * there are none, nothing is written to the stream.
- *
- * @param xmlStreamWriter
- * the stream writer to use
- * @param property
- * the property to describe
- * @throws XMLStreamException
- * thrown if there was a problem writing to the XML Stream
- */
- protected void writeValidValues(XMLStreamWriter xmlStreamWriter, PropertyDescriptor property)
- throws XMLStreamException {
- if (property.getAllowableValues() != null && property.getAllowableValues().size() > 0) {
- xmlStreamWriter.writeStartElement("ul");
- for (AllowableValue value : property.getAllowableValues()) {
- xmlStreamWriter.writeStartElement("li");
- xmlStreamWriter.writeCharacters(value.getDisplayName());
-
- if (value.getDescription() != null) {
- writeValidValueDescription(xmlStreamWriter, value.getDescription());
- }
- xmlStreamWriter.writeEndElement();
-
- }
- xmlStreamWriter.writeEndElement();
- } else if (property.getControllerServiceDefinition() != null) {
- Class<? extends ControllerService> controllerServiceClass = property.getControllerServiceDefinition();
- writeSimpleElement(xmlStreamWriter, "strong", "Controller Service: ");
- xmlStreamWriter.writeEmptyElement("br");
- xmlStreamWriter.writeCharacters(controllerServiceClass.getSimpleName());
- }
- }
-
- /**
- * Writes a begin element, then text, then end element for the element of a
- * users choosing. Example: <p>text</p>
- *
- * @param writer
- * the stream writer to use
- * @param elementName
- * the name of the element
- * @param characters
- * the characters to insert into the element
- * @param strong
- * whether the characters should be strong or not.
- * @throws XMLStreamException
- * thrown if there was a problem writing to the stream.
- */
- protected final static void writeSimpleElement(final XMLStreamWriter writer, final String elementName,
- final String characters, boolean strong) throws XMLStreamException {
- writer.writeStartElement(elementName);
- if (strong) {
- writer.writeStartElement("strong");
- }
- writer.writeCharacters(characters);
- if (strong) {
- writer.writeEndElement();
- }
- writer.writeEndElement();
- }
-
- /**
- * Writes a begin element, then text, then end element for the element of a
- * users choosing. Example: <p>text</p>
- *
- * @param writer
- * the stream writer to use
- * @param elementName
- * the name of the element
- * @param characters
- * the characters to insert into the element
- * @throws XMLStreamException
- * thrown if there was a problem writing to the stream
- */
- protected final static void writeSimpleElement(final XMLStreamWriter writer, final String elementName,
- final String characters) throws XMLStreamException {
- writeSimpleElement(writer, elementName, characters, false);
- }
-
- /**
- * A helper method to write a link
- *
- * @param xmlStreamWriter
- * the stream to write to
- * @param text
- * the text of the link
- * @param location
- * the location of the link
- * @throws XMLStreamException
- * thrown if there was a problem writing to the stream
- */
- protected void writeLink(final XMLStreamWriter xmlStreamWriter, final String text, final String location)
- throws XMLStreamException {
- xmlStreamWriter.writeStartElement("a");
- xmlStreamWriter.writeAttribute("href", location);
- xmlStreamWriter.writeCharacters(text);
- xmlStreamWriter.writeEndElement();
- }
+ /**
+ * The filename where additional user specified information may be stored.
+ */
+ public static final String ADDITIONAL_DETAILS_HTML = "additionalDetails.html";
+
+ @Override
+ public void write(final ConfigurableComponent configurableComponent, final OutputStream streamToWriteTo,
+ final boolean includesAdditionalDocumentation) throws IOException {
+
+ try {
+ XMLStreamWriter xmlStreamWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(
+ streamToWriteTo, "UTF-8");
+ xmlStreamWriter.writeDTD("<!DOCTYPE html>");
+ xmlStreamWriter.writeStartElement("html");
+ xmlStreamWriter.writeAttribute("lang", "en");
+ writeHead(configurableComponent, xmlStreamWriter);
+ writeBody(configurableComponent, xmlStreamWriter, includesAdditionalDocumentation);
+ xmlStreamWriter.writeEndElement();
+ xmlStreamWriter.close();
+ } catch (XMLStreamException | FactoryConfigurationError e) {
+ throw new IOException("Unable to create XMLOutputStream", e);
+ }
+ }
+
+ /**
+ * Writes the head portion of the HTML documentation.
+ *
+ * @param configurableComponent the component to describe
+ * @param xmlStreamWriter the stream to write to
+ * @throws XMLStreamException thrown if there was a problem writing to the
+ * stream
+ */
+ protected void writeHead(final ConfigurableComponent configurableComponent,
+ final XMLStreamWriter xmlStreamWriter) throws XMLStreamException {
+ xmlStreamWriter.writeStartElement("head");
+ xmlStreamWriter.writeStartElement("meta");
+ xmlStreamWriter.writeAttribute("charset", "utf-8");
+ xmlStreamWriter.writeEndElement();
+ writeSimpleElement(xmlStreamWriter, "title", getTitle(configurableComponent));
+
+ xmlStreamWriter.writeStartElement("link");
+ xmlStreamWriter.writeAttribute("rel", "stylesheet");
+ xmlStreamWriter.writeAttribute("href", "../../css/component-usage.css");
+ xmlStreamWriter.writeAttribute("type", "text/css");
+ xmlStreamWriter.writeEndElement();
+
+ xmlStreamWriter.writeEndElement();
+ }
+
+ /**
+ * Gets the class name of the component.
+ *
+ * @param configurableComponent the component to describe
+ * @return the class name of the component
+ */
+ protected String getTitle(final ConfigurableComponent configurableComponent) {
+ return configurableComponent.getClass().getSimpleName();
+ }
+
+ /**
+ * Writes the body section of the documentation, this consists of the
+ * component description, the tags, and the PropertyDescriptors.
+ *
+ * @param configurableComponent the component to describe
+ * @param xmlStreamWriter the stream writer
+ * @param hasAdditionalDetails whether there are additional details present
+ * or not
+ * @throws XMLStreamException thrown if there was a problem writing to the
+ * XML stream
+ */
+ private void writeBody(final ConfigurableComponent configurableComponent,
+ final XMLStreamWriter xmlStreamWriter, final boolean hasAdditionalDetails)
+ throws XMLStreamException {
+ xmlStreamWriter.writeStartElement("body");
+ writeDescription(configurableComponent, xmlStreamWriter, hasAdditionalDetails);
+ writeTags(configurableComponent, xmlStreamWriter);
+ writeProperties(configurableComponent, xmlStreamWriter);
+ writeAdditionalBodyInfo(configurableComponent, xmlStreamWriter);
+ xmlStreamWriter.writeEndElement();
+ }
+
+ /**
+ * This method may be overridden by sub classes to write additional
+ * information to the body of the documentation.
+ *
+ * @param configurableComponent the component to describe
+ * @param xmlStreamWriter the stream writer
+ * @throws XMLStreamException thrown if there was a problem writing to the
+ * XML stream
+ */
+ protected void writeAdditionalBodyInfo(final ConfigurableComponent configurableComponent,
+ final XMLStreamWriter xmlStreamWriter) throws XMLStreamException {
+ }
+
+ /**
+ * Writes the tags attached to a ConfigurableComponent.
+ *
+ * @param configurableComponent
+ * @param xmlStreamWriter
+ * @throws XMLStreamException
+ */
+ private void writeTags(final ConfigurableComponent configurableComponent,
+ final XMLStreamWriter xmlStreamWriter) throws XMLStreamException {
+ final Tags tags = configurableComponent.getClass().getAnnotation(Tags.class);
+ xmlStreamWriter.writeStartElement("h3");
+ xmlStreamWriter.writeCharacters("Tags: ");
+ xmlStreamWriter.writeEndElement();
+ xmlStreamWriter.writeStartElement("p");
+ if (tags != null) {
+ final String tagString = StringUtils.join(tags.value(), ", ");
+ xmlStreamWriter.writeCharacters(tagString);
+ } else {
+ xmlStreamWriter.writeCharacters("None.");
+ }
+ xmlStreamWriter.writeEndElement();
+
+ }
+
+ /**
+ * Writes a description of the configurable component.
+ *
+ * @param configurableComponent the component to describe
+ * @param xmlStreamWriter the stream writer
+ * @param hasAdditionalDetails whether there are additional details
+ * available as 'additionalDetails.html'
+ * @throws XMLStreamException thrown if there was a problem writing to the
+ * XML stream
+ */
+ protected void writeDescription(final ConfigurableComponent configurableComponent,
+ final XMLStreamWriter xmlStreamWriter, final boolean hasAdditionalDetails)
+ throws XMLStreamException {
+ writeSimpleElement(xmlStreamWriter, "h2", "Description: ");
+ writeSimpleElement(xmlStreamWriter, "p", getDescription(configurableComponent));
+ if (hasAdditionalDetails) {
+ xmlStreamWriter.writeStartElement("p");
+
+ writeLink(xmlStreamWriter, "Additional Details...", ADDITIONAL_DETAILS_HTML);
+
+ xmlStreamWriter.writeEndElement();
+ }
+ }
+
+ /**
+ * Gets a description of the ConfigurableComponent using the
+ * CapabilityDescription annotation.
+ *
+ * @param configurableComponent the component to describe
+ * @return a description of the configurableComponent
+ */
+ protected String getDescription(final ConfigurableComponent configurableComponent) {
+ final CapabilityDescription capabilityDescription = configurableComponent.getClass().getAnnotation(
+ CapabilityDescription.class);
+
+ final String description;
+ if (capabilityDescription != null) {
+ description = capabilityDescription.value();
+ } else {
+ description = "No description provided.";
+ }
+
+ return description;
+ }
+
+ /**
+ * Writes the PropertyDescriptors out as a table.
+ *
+ * @param configurableComponent the component to describe
+ * @param xmlStreamWriter the stream writer
+ * @throws XMLStreamException thrown if there was a problem writing to the
+ * XML Stream
+ */
+ protected void writeProperties(final ConfigurableComponent configurableComponent,
+ final XMLStreamWriter xmlStreamWriter) throws XMLStreamException {
+ writeSimpleElement(xmlStreamWriter, "h3", "Properties: ");
+ xmlStreamWriter.writeStartElement("p");
+ xmlStreamWriter.writeCharacters("In the list below, the names of required properties appear in ");
+ writeSimpleElement(xmlStreamWriter, "strong", "bold");
+ xmlStreamWriter.writeCharacters(". Any "
+ + "other properties (not in bold) are considered optional. The table also "
+ + "indicates any default values, whether a property supports the ");
+ writeLink(xmlStreamWriter, "NiFi Expression Language",
+ "../../html/expression-language-guide.html");
+ xmlStreamWriter.writeCharacters(", and whether a property is considered "
+ + "\"sensitive\", meaning that its value will be encrypted. Before entering a "
+ + "value in a sensitive property, ensure that the ");
+ writeSimpleElement(xmlStreamWriter, "strong", "nifi.properties");
+ xmlStreamWriter.writeCharacters(" file has " + "an entry for the property ");
+ writeSimpleElement(xmlStreamWriter, "strong", "nifi.sensitive.props.key");
+ xmlStreamWriter.writeCharacters(".");
+ xmlStreamWriter.writeEndElement();
+
+ List<PropertyDescriptor> properties = configurableComponent.getPropertyDescriptors();
+ if (properties.size() > 0) {
+ xmlStreamWriter.writeStartElement("table");
+
+ // write the header row
+ xmlStreamWriter.writeStartElement("tr");
+ writeSimpleElement(xmlStreamWriter, "th", "Name");
+ writeSimpleElement(xmlStreamWriter, "th", "Default Value");
+ writeSimpleElement(xmlStreamWriter, "th", "Valid Values");
+ writeSimpleElement(xmlStreamWriter, "th", "Description");
+ xmlStreamWriter.writeEndElement();
+
+ // write the individual properties
+ for (PropertyDescriptor property : properties) {
+ xmlStreamWriter.writeStartElement("tr");
+ xmlStreamWriter.writeStartElement("td");
+ if (property.isRequired()) {
+ writeSimpleElement(xmlStreamWriter, "strong", property.getDisplayName());
+ } else {
+ xmlStreamWriter.writeCharacters(property.getDisplayName());
+ }
+
+ xmlStreamWriter.writeEndElement();
+ writeSimpleElement(xmlStreamWriter, "td", property.getDefaultValue());
+ xmlStreamWriter.writeStartElement("td");
+ writeValidValues(xmlStreamWriter, property);
+ xmlStreamWriter.writeEndElement();
+ xmlStreamWriter.writeStartElement("td");
+ if (property.getDescription() != null && property.getDescription().trim().length() > 0) {
+ xmlStreamWriter.writeCharacters(property.getDescription());
+ } else {
+ xmlStreamWriter.writeCharacters("No Description Provided.");
+ }
+
+ if (property.isSensitive()) {
+ xmlStreamWriter.writeEmptyElement("br");
+ writeSimpleElement(xmlStreamWriter, "strong", "Sensitive Property: true");
+ }
+
+ if (property.isExpressionLanguageSupported()) {
+ xmlStreamWriter.writeEmptyElement("br");
+ writeSimpleElement(xmlStreamWriter, "strong", "Supports Expression Language: true");
+ }
+ xmlStreamWriter.writeEndElement();
+
+ xmlStreamWriter.writeEndElement();
+ }
+
+ // TODO support dynamic properties...
+ xmlStreamWriter.writeEndElement();
+
+ } else {
+ writeSimpleElement(xmlStreamWriter, "p", "This component has no required or optional properties.");
+ }
+ }
+
+ private void writeValidValueDescription(XMLStreamWriter xmlStreamWriter, String description)
+ throws XMLStreamException {
+ xmlStreamWriter.writeCharacters(" ");
+ xmlStreamWriter.writeStartElement("img");
+ xmlStreamWriter.writeAttribute("src", "../../html/images/iconInfo.png");
+ xmlStreamWriter.writeAttribute("alt", description);
+ xmlStreamWriter.writeAttribute("title", description);
+ xmlStreamWriter.writeEndElement();
+
+ }
+
+ /**
+ * Interrogates a PropertyDescriptor to get a list of AllowableValues, if
+ * there are none, nothing is written to the stream.
+ *
+ * @param xmlStreamWriter the stream writer to use
+ * @param property the property to describe
+ * @throws XMLStreamException thrown if there was a problem writing to the
+ * XML Stream
+ */
+ protected void writeValidValues(XMLStreamWriter xmlStreamWriter, PropertyDescriptor property)
+ throws XMLStreamException {
+ if (property.getAllowableValues() != null && property.getAllowableValues().size() > 0) {
+ xmlStreamWriter.writeStartElement("ul");
+ for (AllowableValue value : property.getAllowableValues()) {
+ xmlStreamWriter.writeStartElement("li");
+ xmlStreamWriter.writeCharacters(value.getDisplayName());
+
+ if (value.getDescription() != null) {
+ writeValidValueDescription(xmlStreamWriter, value.getDescription());
+ }
+ xmlStreamWriter.writeEndElement();
+
+ }
+ xmlStreamWriter.writeEndElement();
+ } else if (property.getControllerServiceDefinition() != null) {
+ Class<? extends ControllerService> controllerServiceClass = property.getControllerServiceDefinition();
+ writeSimpleElement(xmlStreamWriter, "strong", "Controller Service: ");
+ xmlStreamWriter.writeEmptyElement("br");
+ xmlStreamWriter.writeCharacters(controllerServiceClass.getSimpleName());
+ }
+ }
+
+ /**
+ * Writes a begin element, then text, then end element for the element of a
+ * users choosing. Example: <p>text</p>
+ *
+ * @param writer the stream writer to use
+ * @param elementName the name of the element
+ * @param characters the characters to insert into the element
+ * @param strong whether the characters should be strong or not.
+ * @throws XMLStreamException thrown if there was a problem writing to the
+ * stream.
+ */
+ protected final static void writeSimpleElement(final XMLStreamWriter writer, final String elementName,
+ final String characters, boolean strong) throws XMLStreamException {
+ writer.writeStartElement(elementName);
+ if (strong) {
+ writer.writeStartElement("strong");
+ }
+ writer.writeCharacters(characters);
+ if (strong) {
+ writer.writeEndElement();
+ }
+ writer.writeEndElement();
+ }
+
+ /**
+ * Writes a begin element, then text, then end element for the element of a
+ * users choosing. Example: <p>text</p>
+ *
+ * @param writer the stream writer to use
+ * @param elementName the name of the element
+ * @param characters the characters to insert into the element
+ * @throws XMLStreamException thrown if there was a problem writing to the
+ * stream
+ */
+ protected final static void writeSimpleElement(final XMLStreamWriter writer, final String elementName,
+ final String characters) throws XMLStreamException {
+ writeSimpleElement(writer, elementName, characters, false);
+ }
+
+ /**
+ * A helper method to write a link
+ *
+ * @param xmlStreamWriter the stream to write to
+ * @param text the text of the link
+ * @param location the location of the link
+ * @throws XMLStreamException thrown if there was a problem writing to the
+ * stream
+ */
+ protected void writeLink(final XMLStreamWriter xmlStreamWriter, final String text, final String location)
+ throws XMLStreamException {
+ xmlStreamWriter.writeStartElement("a");
+ xmlStreamWriter.writeAttribute("href", location);
+ xmlStreamWriter.writeCharacters(text);
+ xmlStreamWriter.writeEndElement();
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e9d31f5d/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/html/HtmlProcessorDocumentationWriter.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/html/HtmlProcessorDocumentationWriter.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/html/HtmlProcessorDocumentationWriter.java
index 4cf6ba8..412ebf6 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/html/HtmlProcessorDocumentationWriter.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/html/HtmlProcessorDocumentationWriter.java
@@ -26,33 +26,33 @@ import org.apache.nifi.processor.Relationship;
/**
* Writes documentation specific for a Processor. This includes everything for a
* ConfigurableComponent as well as Relationship information.
- *
+ *
*
*/
public class HtmlProcessorDocumentationWriter extends HtmlDocumentationWriter {
- @Override
- protected void writeAdditionalBodyInfo(final ConfigurableComponent configurableComponent,
- final XMLStreamWriter xmlStreamWriter) throws XMLStreamException {
- final Processor processor = (Processor) configurableComponent;
- writeSimpleElement(xmlStreamWriter, "h3", "Relationships: ");
+ @Override
+ protected void writeAdditionalBodyInfo(final ConfigurableComponent configurableComponent,
+ final XMLStreamWriter xmlStreamWriter) throws XMLStreamException {
+ final Processor processor = (Processor) configurableComponent;
+ writeSimpleElement(xmlStreamWriter, "h3", "Relationships: ");
- if (processor.getRelationships().size() > 0) {
- xmlStreamWriter.writeStartElement("table");
- xmlStreamWriter.writeStartElement("tr");
- writeSimpleElement(xmlStreamWriter, "th", "Name");
- writeSimpleElement(xmlStreamWriter, "th", "Description");
- xmlStreamWriter.writeEndElement();
+ if (processor.getRelationships().size() > 0) {
+ xmlStreamWriter.writeStartElement("table");
+ xmlStreamWriter.writeStartElement("tr");
+ writeSimpleElement(xmlStreamWriter, "th", "Name");
+ writeSimpleElement(xmlStreamWriter, "th", "Description");
+ xmlStreamWriter.writeEndElement();
- for (Relationship relationship : processor.getRelationships()) {
- xmlStreamWriter.writeStartElement("tr");
- writeSimpleElement(xmlStreamWriter, "td", relationship.getName());
- writeSimpleElement(xmlStreamWriter, "td", relationship.getDescription());
- xmlStreamWriter.writeEndElement();
- }
- xmlStreamWriter.writeEndElement();
- } else {
- xmlStreamWriter.writeCharacters("This processor has no relationships.");
- }
- }
+ for (Relationship relationship : processor.getRelationships()) {
+ xmlStreamWriter.writeStartElement("tr");
+ writeSimpleElement(xmlStreamWriter, "td", relationship.getName());
+ writeSimpleElement(xmlStreamWriter, "td", relationship.getDescription());
+ xmlStreamWriter.writeEndElement();
+ }
+ xmlStreamWriter.writeEndElement();
+ } else {
+ xmlStreamWriter.writeCharacters("This processor has no relationships.");
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e9d31f5d/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ControllerServiceInitializer.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ControllerServiceInitializer.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ControllerServiceInitializer.java
index 123a39c..3c66485 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ControllerServiceInitializer.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ControllerServiceInitializer.java
@@ -25,14 +25,14 @@ import org.apache.nifi.reporting.InitializationException;
/**
* Initializes a ControllerService using a
* MockControllerServiceInitializationContext
- *
+ *
*
*/
public class ControllerServiceInitializer implements ConfigurableComponentInitializer {
- @Override
- public void initialize(ConfigurableComponent component) throws InitializationException {
- ControllerService controllerService = (ControllerService) component;
- controllerService.initialize(new MockControllerServiceInitializationContext());
- }
+ @Override
+ public void initialize(ConfigurableComponent component) throws InitializationException {
+ ControllerService controllerService = (ControllerService) component;
+ controllerService.initialize(new MockControllerServiceInitializationContext());
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e9d31f5d/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ProcessorInitializer.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ProcessorInitializer.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ProcessorInitializer.java
index a33f7b9..07e9c3a 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ProcessorInitializer.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ProcessorInitializer.java
@@ -23,15 +23,15 @@ import org.apache.nifi.processor.Processor;
/**
* Initializes a Procesor using a MockProcessorInitializationContext
- *
+ *
*
*/
public class ProcessorInitializer implements ConfigurableComponentInitializer {
- @Override
- public void initialize(ConfigurableComponent component) {
- Processor processor = (Processor) component;
- processor.initialize(new MockProcessorInitializationContext());
- }
+ @Override
+ public void initialize(ConfigurableComponent component) {
+ Processor processor = (Processor) component;
+ processor.initialize(new MockProcessorInitializationContext());
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e9d31f5d/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ReportingTaskingInitializer.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ReportingTaskingInitializer.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ReportingTaskingInitializer.java
index ff915cf..6fcfca9 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ReportingTaskingInitializer.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ReportingTaskingInitializer.java
@@ -24,14 +24,14 @@ import org.apache.nifi.reporting.ReportingTask;
/**
* Initializes a ReportingTask using a MockReportingInitializationContext;
- *
+ *
*
*/
public class ReportingTaskingInitializer implements ConfigurableComponentInitializer {
- @Override
- public void initialize(ConfigurableComponent component) throws InitializationException {
- ReportingTask reportingTask = (ReportingTask) component;
- reportingTask.initialize(new MockReportingInitializationContext());
- }
+ @Override
+ public void initialize(ConfigurableComponent component) throws InitializationException {
+ ReportingTask reportingTask = (ReportingTask) component;
+ reportingTask.initialize(new MockReportingInitializationContext());
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e9d31f5d/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockControllerServiceInitializationContext.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockControllerServiceInitializationContext.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockControllerServiceInitializationContext.java
index 6153a8e..fcd3ea3 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockControllerServiceInitializationContext.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockControllerServiceInitializationContext.java
@@ -22,19 +22,19 @@ import org.apache.nifi.controller.ControllerServiceLookup;
/**
* A Mock ControllerServiceInitializationContext so that ControllerServices can
* be initialized for the purpose of generating documentation.
- *
+ *
*
*/
public class MockControllerServiceInitializationContext implements ControllerServiceInitializationContext {
- @Override
- public String getIdentifier() {
- return "";
- }
+ @Override
+ public String getIdentifier() {
+ return "";
+ }
- @Override
- public ControllerServiceLookup getControllerServiceLookup() {
- return new MockControllerServiceLookup();
- }
+ @Override
+ public ControllerServiceLookup getControllerServiceLookup() {
+ return new MockControllerServiceLookup();
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e9d31f5d/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockControllerServiceLookup.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockControllerServiceLookup.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockControllerServiceLookup.java
index 88d0911..f11bc68 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockControllerServiceLookup.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockControllerServiceLookup.java
@@ -26,30 +26,30 @@ import org.apache.nifi.controller.ControllerServiceLookup;
* A Mock ControllerServiceLookup that can be used so that
* ConfigurableComponents can be initialized for the purpose of generating
* documentation
- *
+ *
*
*/
public class MockControllerServiceLookup implements ControllerServiceLookup {
- @Override
- public ControllerService getControllerService(String serviceIdentifier) {
- return null;
- }
-
- @Override
- public boolean isControllerServiceEnabled(String serviceIdentifier) {
- return false;
- }
-
- @Override
- public boolean isControllerServiceEnabled(ControllerService service) {
- return false;
- }
-
- @Override
- public Set<String> getControllerServiceIdentifiers(Class<? extends ControllerService> serviceType)
- throws IllegalArgumentException {
- return Collections.emptySet();
- }
+ @Override
+ public ControllerService getControllerService(String serviceIdentifier) {
+ return null;
+ }
+
+ @Override
+ public boolean isControllerServiceEnabled(String serviceIdentifier) {
+ return false;
+ }
+
+ @Override
+ public boolean isControllerServiceEnabled(ControllerService service) {
+ return false;
+ }
+
+ @Override
+ public Set<String> getControllerServiceIdentifiers(Class<? extends ControllerService> serviceType)
+ throws IllegalArgumentException {
+ return Collections.emptySet();
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e9d31f5d/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockProcessorInitializationContext.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockProcessorInitializationContext.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockProcessorInitializationContext.java
index 48ffecb..d77d7dd 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockProcessorInitializationContext.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockProcessorInitializationContext.java
@@ -23,23 +23,23 @@ import org.apache.nifi.processor.ProcessorInitializationContext;
/**
* A Mock ProcessorInitializationContext that can be used so that Processors can
* be initialized for the purpose of generating documentation.
- *
+ *
*
*/
public class MockProcessorInitializationContext implements ProcessorInitializationContext {
- @Override
- public String getIdentifier() {
- return "";
- }
+ @Override
+ public String getIdentifier() {
+ return "";
+ }
- @Override
- public ProcessorLog getLogger() {
- return null;
- }
+ @Override
+ public ProcessorLog getLogger() {
+ return null;
+ }
- @Override
- public ControllerServiceLookup getControllerServiceLookup() {
- return new MockControllerServiceLookup();
- }
+ @Override
+ public ControllerServiceLookup getControllerServiceLookup() {
+ return new MockControllerServiceLookup();
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e9d31f5d/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockReportingInitializationContext.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockReportingInitializationContext.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockReportingInitializationContext.java
index 9782077..910ce5a 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockReportingInitializationContext.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockReportingInitializationContext.java
@@ -25,39 +25,39 @@ import org.apache.nifi.scheduling.SchedulingStrategy;
/**
* A Mock ReportingInitializationContext that can be used to initialize a
* ReportingTask for the purposes of documentation generation.
- *
+ *
* @author Alligator
*
*/
public class MockReportingInitializationContext implements ReportingInitializationContext {
- @Override
- public String getIdentifier() {
- return "";
- }
-
- @Override
- public String getName() {
- return "";
- }
-
- @Override
- public long getSchedulingPeriod(TimeUnit timeUnit) {
- return 0;
- }
-
- @Override
- public ControllerServiceLookup getControllerServiceLookup() {
- return new MockControllerServiceLookup();
- }
-
- @Override
- public String getSchedulingPeriod() {
- return "";
- }
-
- @Override
- public SchedulingStrategy getSchedulingStrategy() {
- return SchedulingStrategy.TIMER_DRIVEN;
- }
+ @Override
+ public String getIdentifier() {
+ return "";
+ }
+
+ @Override
+ public String getName() {
+ return "";
+ }
+
+ @Override
+ public long getSchedulingPeriod(TimeUnit timeUnit) {
+ return 0;
+ }
+
+ @Override
+ public ControllerServiceLookup getControllerServiceLookup() {
+ return new MockControllerServiceLookup();
+ }
+
+ @Override
+ public String getSchedulingPeriod() {
+ return "";
+ }
+
+ @Override
+ public SchedulingStrategy getSchedulingStrategy() {
+ return SchedulingStrategy.TIMER_DRIVEN;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e9d31f5d/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/example/NakedProcessor.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/example/NakedProcessor.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/example/NakedProcessor.java
index 6fce1e1..ee7f315 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/example/NakedProcessor.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/example/NakedProcessor.java
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package org.apache.nifi.documentation.example;
import org.apache.nifi.processor.AbstractProcessor;
@@ -9,7 +25,6 @@ public class NakedProcessor extends AbstractProcessor {
@Override
public void onTrigger(ProcessContext arg0, ProcessSession arg1) throws ProcessException {
- // TODO Auto-generated method stub
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e9d31f5d/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/pom.xml
index b0ed5c1..c0b4ab9 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/pom.xml
@@ -39,7 +39,7 @@
<module>nifi-administration</module>
<module>nifi-web</module>
<module>nifi-resources</module>
- <module>nifi-documentation</module>
+ <module>nifi-documentation</module>
</modules>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e9d31f5d/nifi/nifi-nar-bundles/nifi-framework-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/pom.xml
index 4c07d75..074821a 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/pom.xml
@@ -111,7 +111,7 @@
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-documentation</artifactId>
- <version>0.0.2-incubating-SNAPSHOT</version>
+ <version>0.1.0-incubating-SNAPSHOT</version>
</dependency>
</dependencies>
</dependencyManagement>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e9d31f5d/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/DistributeLoad.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/DistributeLoad.java b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/DistributeLoad.java
index 8fb8ad4..c78251c 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/DistributeLoad.java
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/DistributeLoad.java
@@ -151,7 +151,7 @@ public class DistributeLoad extends AbstractProcessor {
}
private static Relationship createRelationship(final int num) {
- return new Relationship.Builder().name(String.valueOf(num)).build();
+ return new Relationship.Builder().name(String.valueOf(num)).description("Where to route flowfiles for this relationship index").build();
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e9d31f5d/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/HandleHttpRequest.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/HandleHttpRequest.java b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/HandleHttpRequest.java
index 575bf95..4386100 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/HandleHttpRequest.java
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/HandleHttpRequest.java
@@ -79,9 +79,9 @@ public class HandleHttpRequest extends AbstractProcessor {
private static final Pattern URL_QUERY_PARAM_DELIMITER = Pattern.compile("&");
// Allowable values for client auth
- public static final AllowableValue CLIENT_NONE = new AllowableValue("No Authentication", "Processor will not authenticate clients. Anyone can communicate with this Processor anonymously");
- public static final AllowableValue CLIENT_WANT = new AllowableValue("Want Authentication", "Processor will try to verify the client but if unable to verify will allow the client to communicate anonymously");
- public static final AllowableValue CLIENT_NEED = new AllowableValue("Need Authentication", "Processor will reject communications from any client unless the client provides a certificate that is trusted by the TrustStore specified in the SSL Context Service");
+ public static final AllowableValue CLIENT_NONE = new AllowableValue("No Authentication", "No Authentication", "Processor will not authenticate clients. Anyone can communicate with this Processor anonymously");
+ public static final AllowableValue CLIENT_WANT = new AllowableValue("Want Authentication", "Want Authentication", "Processor will try to verify the client but if unable to verify will allow the client to communicate anonymously");
+ public static final AllowableValue CLIENT_NEED = new AllowableValue("Need Authentication", "Need Authentication", "Processor will reject communications from any client unless the client provides a certificate that is trusted by the TrustStore specified in the SSL Context Service");
public static final PropertyDescriptor PORT = new PropertyDescriptor.Builder()
@@ -208,6 +208,7 @@ public class HandleHttpRequest extends AbstractProcessor {
descriptors.add(ALLOW_HEAD);
descriptors.add(ALLOW_OPTIONS);
descriptors.add(ADDITIONAL_METHODS);
+ descriptors.add(CLIENT_AUTH);
return descriptors;
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e9d31f5d/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/resources/docs/org.apache.nifi.processors.standard.DistributeLoad/additionalDetails.html
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/resources/docs/org.apache.nifi.processors.standard.DistributeLoad/additionalDetails.html b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/resources/docs/org.apache.nifi.processors.standard.DistributeLoad/additionalDetails.html
index 0c16e4f..f593bed 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/resources/docs/org.apache.nifi.processors.standard.DistributeLoad/additionalDetails.html
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/resources/docs/org.apache.nifi.processors.standard.DistributeLoad/additionalDetails.html
@@ -22,39 +22,19 @@
</head>
<body>
- <h2>Description:</h2>
- <p>This processor distributes FlowFiles to downstream
- processors based on a distribution strategy. The user may select the strategy "round robin", the
- strategy "next available", or "load distribution service". If using the round robin
- strategy, the default is to assign each destination (i.e., relationship) a weighting of 1
- (evenly distributed). However, the user may add optional properties to change this weighting. When
- adding a property, the name must be a positive integer between 1 and the number of relationships (inclusive).
- For example, if Number of Relationships has a value of 8 and a property is added with the name 5
- and the value 10, then relationship 5 (among the 8) will receive 10
- FlowFiles in each iteration instead of 1. All other relationships will receive 1 FlowFile in each iteration.
- </p>
- <strong>Properties:</strong>
- <p>In the list below, the names of required properties appear
- in bold. Any other properties (not in bold) are considered optional.
- If a property has a default value, it is indicated. If a property
- supports the use of the NiFi Expression Language (or simply,
- "expression language"), that is also indicated.</p>
+ <strong>Relationships</strong>
+ <ul>
+ <li>1
+ <ul>
+ <li>By default, there is one relationship, named 1. The number
+ of relationships is determined by the value of the <Number of
+ Relationships> property.</li>
+ </ul>
+ </li>
+ </ul>
- <p>
- <strong>Relationships:</strong>
- </p>
- <ul>
- <li>1
- <ul>
- <li>By default, there is one relationship, named 1. The number
- of relationships is determined by the value of the <Number of
- Relationships> property.</li>
- </ul>
- </li>
- </ul>
-
-</body>
+ </body>
</html>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e9d31f5d/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/resources/docs/org.apache.nifi.processors.standard.EvaluateJsonPath/additionalDetails.html
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/resources/docs/org.apache.nifi.processors.standard.EvaluateJsonPath/additionalDetails.html b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/resources/docs/org.apache.nifi.processors.standard.EvaluateJsonPath/additionalDetails.html
new file mode 100644
index 0000000..c1d80aa
--- /dev/null
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/resources/docs/org.apache.nifi.processors.standard.EvaluateJsonPath/additionalDetails.html
@@ -0,0 +1,58 @@
+<!DOCTYPE html>
+<html lang="en">
+ <!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+ http://www.apache.org/licenses/LICENSE-2.0
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+ <head>
+ <meta charset="utf-8"/>
+ <title>EvaluateJsonPath</title>
+ <link rel="stylesheet" href="../../css/component-usage.css" type="text/css"/>
+ </head>
+
+ <body>
+ <!-- Processor Documentation ================================================== -->
+ <p>
+ <strong>Note:</strong> The underlying JsonPath library loads the entirety of the streamed content into and performs
+ result evaluations in memory. Accordingly, it is important to consider the anticipated profile of content being
+ evaluated by this processor and the hardware supporting it especially when working against large JSON documents.
+ </p>
+
+ <p>
+ <strong>Modifies Attributes:</strong>
+ </p>
+
+ <p>
+ This processor adds user-defined attributes if the <Destination> property is set to
+ <code>flowfile-attribute</code>.
+ </p>
+
+
+ <p>
+ <strong>Properties</strong>
+ </p>
+ <ul>
+ <li>
+ user-defined properties
+ <ul>
+ <li>The name of the attribute to put the JsonPath result into if
+ flowfile-attribute is used as the value for the Destination
+ property; if using flowfile-content as the value for the
+ Destination property, this value is ignored.
+ </li>
+ <li>Supports expression language: false</li>
+ </ul>
+ </li>
+ </ul>
+ </body>
+</html>