From e6ab691cfbbc5716e78df0fa806e23d37b9e5e53 Mon Sep 17 00:00:00 2001
From: exceptionfactory
Date: Mon, 30 Mar 2026 14:52:13 -0500
Subject: [PATCH] NIFI-15770 Deprecated Restricted and RequiredPermission for
removal
- Suppressed removal warnings on internal references to deprecated annotations
---
.../java/org/apache/nifi/annotation/behavior/Restricted.java | 4 ++++
.../java/org/apache/nifi/annotation/behavior/Restriction.java | 4 ++++
.../java/org/apache/nifi/components/RequiredPermission.java | 3 +++
.../nifi/documentation/AbstractDocumentationWriter.java | 2 ++
.../apache/nifi/documentation/xml/XmlDocumentationWriter.java | 2 ++
src/test/java/org/apache/nifi/parameter/TestParameter.java | 1 +
6 files changed, 16 insertions(+)
diff --git a/src/main/java/org/apache/nifi/annotation/behavior/Restricted.java b/src/main/java/org/apache/nifi/annotation/behavior/Restricted.java
index 8411c6c..1f8d922 100644
--- a/src/main/java/org/apache/nifi/annotation/behavior/Restricted.java
+++ b/src/main/java/org/apache/nifi/annotation/behavior/Restricted.java
@@ -38,7 +38,10 @@
* privileged, and admins should be aware of these capabilities and explicitly enable
* them for a subset of trusted users.
*
+ *
+ * @deprecated Planned for removal without replacement according to NIP-24
*/
+@Deprecated(since = "2.8.0", forRemoval = true)
@Documented
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@@ -58,6 +61,7 @@
*
* @return Array of restrictions
*/
+ @SuppressWarnings("removal")
Restriction[] restrictions() default {};
}
diff --git a/src/main/java/org/apache/nifi/annotation/behavior/Restriction.java b/src/main/java/org/apache/nifi/annotation/behavior/Restriction.java
index c16293f..ade8dab 100644
--- a/src/main/java/org/apache/nifi/annotation/behavior/Restriction.java
+++ b/src/main/java/org/apache/nifi/annotation/behavior/Restriction.java
@@ -27,7 +27,10 @@
/**
* Specific restriction for a component. Indicates what the required permission is and why the restriction exists.
+ *
+ * @deprecated Planned for removal without replacement according to NIP-24
*/
+@Deprecated(since = "2.8.0", forRemoval = true)
@Documented
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@@ -39,6 +42,7 @@
*
* @return Permission required for this restriction
*/
+ @SuppressWarnings("removal")
RequiredPermission requiredPermission();
/**
diff --git a/src/main/java/org/apache/nifi/components/RequiredPermission.java b/src/main/java/org/apache/nifi/components/RequiredPermission.java
index 593f064..201fe0d 100644
--- a/src/main/java/org/apache/nifi/components/RequiredPermission.java
+++ b/src/main/java/org/apache/nifi/components/RequiredPermission.java
@@ -20,7 +20,10 @@
/**
* Enumeration of permission required for annotated components
+ *
+ * @deprecated Planned for removal without replacement according to NIP-24
*/
+@Deprecated(since = "2.8.0", forRemoval = true)
public enum RequiredPermission {
READ_FILESYSTEM("read-filesystem", "read filesystem"),
WRITE_FILESYSTEM("write-filesystem", "write filesystem"),
diff --git a/src/main/java/org/apache/nifi/documentation/AbstractDocumentationWriter.java b/src/main/java/org/apache/nifi/documentation/AbstractDocumentationWriter.java
index 4e28cbb..9dedd1b 100644
--- a/src/main/java/org/apache/nifi/documentation/AbstractDocumentationWriter.java
+++ b/src/main/java/org/apache/nifi/documentation/AbstractDocumentationWriter.java
@@ -146,6 +146,7 @@ public final void write(final ConfigurableComponent component, final Collection<
writeFooter(component);
}
+ @SuppressWarnings("removal")
protected void writeBody(final ConfigurableComponent component, Map propertyServices) throws IOException {
writeExtensionName(component.getClass().getName());
writeExtensionType(getExtensionType(component));
@@ -329,6 +330,7 @@ protected ExtensionType getExtensionType(final ConfigurableComponent component)
protected abstract void writeStatefulInfo(Stateful stateful) throws IOException;
+ @SuppressWarnings("removal")
protected abstract void writeRestrictedInfo(Restricted restricted) throws IOException;
protected abstract void writeInputRequirementInfo(InputRequirement.Requirement requirement) throws IOException;
diff --git a/src/main/java/org/apache/nifi/documentation/xml/XmlDocumentationWriter.java b/src/main/java/org/apache/nifi/documentation/xml/XmlDocumentationWriter.java
index 66aec1f..b9acd56 100644
--- a/src/main/java/org/apache/nifi/documentation/xml/XmlDocumentationWriter.java
+++ b/src/main/java/org/apache/nifi/documentation/xml/XmlDocumentationWriter.java
@@ -317,6 +317,7 @@ protected void writeStatefulInfo(final Stateful stateful) throws IOException {
writeEndElement();
}
+ @SuppressWarnings("removal")
@Override
protected void writeRestrictedInfo(final Restricted restricted) throws IOException {
if (restricted == null) {
@@ -337,6 +338,7 @@ protected void writeRestrictedInfo(final Restricted restricted) throws IOExcepti
writeEndElement();
}
+ @SuppressWarnings("removal")
private void writeRestriction(final Restriction restriction) throws IOException {
writeStartElement("restriction");
diff --git a/src/test/java/org/apache/nifi/parameter/TestParameter.java b/src/test/java/org/apache/nifi/parameter/TestParameter.java
index a7d62fb..c4294e0 100644
--- a/src/test/java/org/apache/nifi/parameter/TestParameter.java
+++ b/src/test/java/org/apache/nifi/parameter/TestParameter.java
@@ -248,6 +248,7 @@ public String getIdentifier() {
return identifier;
}
+ @SuppressWarnings("deprecation")
@Override
public String getParameterContextIdentifier() {
return parameterContextIdentifier;