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 2017/05/17 20:48:32 UTC

nifi git commit: NIFI-3896 - Makes DeprecationNotice more intuitive. This closes #1799

Repository: nifi
Updated Branches:
  refs/heads/master 5cf4bf61b -> 289dde098


NIFI-3896 - Makes DeprecationNotice more intuitive. This closes #1799

            Update developers guide on how to deprecate a component


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

Branch: refs/heads/master
Commit: 289dde098e8f14c7ed586e03a0d9f70ccc8b97ac
Parents: 5cf4bf6
Author: Andre F de Miranda <tr...@users.noreply.github.com>
Authored: Tue May 16 00:30:02 2017 +1000
Committer: Matt Gilman <ma...@gmail.com>
Committed: Wed May 17 16:37:11 2017 -0400

----------------------------------------------------------------------
 .../annotation/documentation/DeprecationNotice.java |  3 ++-
 nifi-docs/src/main/asciidoc/developer-guide.adoc    | 16 ++++++++++++++++
 .../documentation/html/HtmlDocumentationWriter.java |  2 +-
 .../documentation/example/DeprecatedProcessor.java  |  2 +-
 4 files changed, 20 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/289dde09/nifi-api/src/main/java/org/apache/nifi/annotation/documentation/DeprecationNotice.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/annotation/documentation/DeprecationNotice.java b/nifi-api/src/main/java/org/apache/nifi/annotation/documentation/DeprecationNotice.java
index a3bbdf4..f9d47dd 100644
--- a/nifi-api/src/main/java/org/apache/nifi/annotation/documentation/DeprecationNotice.java
+++ b/nifi-api/src/main/java/org/apache/nifi/annotation/documentation/DeprecationNotice.java
@@ -36,8 +36,9 @@ import java.lang.annotation.Target;
 @Target({ElementType.TYPE})
 @Retention(RetentionPolicy.RUNTIME)
 @Inherited
+
 public @interface DeprecationNotice {
-    Class<? extends ConfigurableComponent>[] value() default {};
+    Class<? extends ConfigurableComponent>[] alternatives() default {};
 
     String[] classNames() default {};
 

http://git-wip-us.apache.org/repos/asf/nifi/blob/289dde09/nifi-docs/src/main/asciidoc/developer-guide.adoc
----------------------------------------------------------------------
diff --git a/nifi-docs/src/main/asciidoc/developer-guide.adoc b/nifi-docs/src/main/asciidoc/developer-guide.adoc
index 7b2ba35..d4195a1 100644
--- a/nifi-docs/src/main/asciidoc/developer-guide.adoc
+++ b/nifi-docs/src/main/asciidoc/developer-guide.adoc
@@ -2379,6 +2379,22 @@ bundled with an extension that requires it, even if @RequiresInstanceClassLoadin
 logged to help avoid this bad practice.
 
 
+[[deprecation]]
+== Deprecating a Component
+Sometimes it may be desirable to deprecate a component. Whenever this occurs the developer may use the
+ @DeprecationNotice annotation to indicate that a component has been deprecated, aloowing the developer
+ to describe a reason for the deprecation and suggest alternative components. An example of how to do this can
+ be found below:
+
+[source, java]
+----
+ @DeprecationNotice(alternatives = {ListenSyslog.class}, classNames = {"org.apache.nifi.processors.standard.ListenRELP"}, reason = "Technologyhas been superseded",  )
+ public class ListenOldProtocol extends AbstractProcessor {
+----
+As you can see, the alternatives can be used to define and array of alternative Components, while classNames can be
+used to represent the similar content through an array of strings.
+
+
 == How to contribute to Apache NiFi
 
 We are always excited to have contributions from the community - especially from new contributors!

http://git-wip-us.apache.org/repos/asf/nifi/blob/289dde09/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/html/HtmlDocumentationWriter.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/html/HtmlDocumentationWriter.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/html/HtmlDocumentationWriter.java
index e5badc8..6497e41 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/html/HtmlDocumentationWriter.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/html/HtmlDocumentationWriter.java
@@ -249,7 +249,7 @@ public class HtmlDocumentationWriter implements DocumentationWriter {
             xmlStreamWriter.writeCharacters("Please consider using one the following alternatives: ");
 
 
-            Class<? extends ConfigurableComponent>[] componentNames = deprecationNotice.value();
+            Class<? extends ConfigurableComponent>[] componentNames = deprecationNotice.alternatives();
             String[] classNames = deprecationNotice.classNames();
 
             if (componentNames.length > 0 || classNames.length > 0) {

http://git-wip-us.apache.org/repos/asf/nifi/blob/289dde09/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/example/DeprecatedProcessor.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/example/DeprecatedProcessor.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/example/DeprecatedProcessor.java
index af44195..0c4ca95 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/example/DeprecatedProcessor.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/example/DeprecatedProcessor.java
@@ -57,7 +57,7 @@ import java.util.Set;
 @DynamicRelationship(name = "name from dynamic property", description = "all files that match the properties XPath")
 @Stateful(scopes = {Scope.CLUSTER, Scope.LOCAL}, description = "state management description")
 @Restricted("processor restriction description")
-@DeprecationNotice({FullyDocumentedProcessor.class, FullyDocumentedReportingTask.class})
+@DeprecationNotice(alternatives = {FullyDocumentedProcessor.class, FullyDocumentedReportingTask.class})
 public class DeprecatedProcessor extends AbstractProcessor {
 
     public static final PropertyDescriptor DIRECTORY = new PropertyDescriptor.Builder().name("Input Directory")