This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
     new a61b38d4f0 NIFI-14989 Migrated Property Names for Box, CDC, Cipher, 
Confluent, and Dropbox Bundles (#10328)
a61b38d4f0 is described below

commit a61b38d4f0801687a9af666bc92bb343ecd81a5d
Author: dan-s1 <[email protected]>
AuthorDate: Mon Sep 22 15:57:10 2025 -0400

    NIFI-14989 Migrated Property Names for Box, CDC, Cipher, Confluent, and 
Dropbox Bundles (#10328)
    
    Signed-off-by: David Handermann <[email protected]>
---
 .../nifi/processors/box/AbstractBoxProcessor.java  | 38 ++++++++++
 .../processors/box/ConsumeBoxEnterpriseEvents.java |  7 +-
 .../nifi/processors/box/ConsumeBoxEvents.java      |  9 ++-
 .../box/CreateBoxFileMetadataInstance.java         |  7 +-
 .../processors/box/CreateBoxMetadataTemplate.java  |  7 +-
 .../box/DeleteBoxFileMetadataInstance.java         |  7 +-
 .../box/ExtractStructuredBoxFileMetadata.java      |  7 +-
 .../apache/nifi/processors/box/FetchBoxFile.java   | 19 +++--
 .../nifi/processors/box/FetchBoxFileInfo.java      |  7 +-
 .../box/FetchBoxFileMetadataInstance.java          |  7 +-
 .../processors/box/FetchBoxFileRepresentation.java |  9 ++-
 .../processors/box/GetBoxFileCollaborators.java    |  7 +-
 .../nifi/processors/box/GetBoxGroupMembers.java    |  7 +-
 .../apache/nifi/processors/box/ListBoxFile.java    | 23 ++++---
 .../nifi/processors/box/ListBoxFileInfo.java       |  7 +-
 .../box/ListBoxFileMetadataInstances.java          |  7 +-
 .../box/ListBoxFileMetadataTemplates.java          |  7 +-
 .../org/apache/nifi/processors/box/PutBoxFile.java | 37 +++++-----
 .../box/UpdateBoxFileMetadataInstance.java         |  7 +-
 .../nifi/processors/box/AbstractBoxFileTest.java   |  2 +-
 .../processors/box/ListBoxFileListingTest.java     |  2 +-
 .../nifi/processors/box/ListBoxFileTest.java       | 16 +++++
 .../box/controllerservices/BoxClientService.java   |  8 ---
 .../JsonConfigBasedBoxClientService.java           | 17 +++--
 .../cdc/mysql/processors/CaptureChangeMySQL.java   | 80 +++++++++++-----------
 .../nifi/processors/cipher/VerifyContentMAC.java   | 25 ++++---
 .../schemaregistry/ConfluentSchemaRegistry.java    | 37 +++++-----
 .../nifi/processors/dropbox/DropboxTrait.java      |  4 +-
 .../nifi/processors/dropbox/FetchDropbox.java      | 12 +++-
 .../nifi/processors/dropbox/ListDropbox.java       | 19 +++--
 .../apache/nifi/processors/dropbox/PutDropbox.java | 27 +++++---
 .../dropbox/StandardDropboxCredentialService.java  | 21 +++---
 32 files changed, 292 insertions(+), 204 deletions(-)

diff --git 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/AbstractBoxProcessor.java
 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/AbstractBoxProcessor.java
new file mode 100644
index 0000000000..f9713e74c5
--- /dev/null
+++ 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/AbstractBoxProcessor.java
@@ -0,0 +1,38 @@
+/*
+ * 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.processors.box;
+
+import org.apache.nifi.box.controllerservices.BoxClientService;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.migration.PropertyConfiguration;
+import org.apache.nifi.processor.AbstractProcessor;
+
+abstract class AbstractBoxProcessor extends AbstractProcessor {
+    static final String OLD_BOX_CLIENT_SERVICE_PROPERTY_NAME = 
"box-client-service";
+
+    static final PropertyDescriptor BOX_CLIENT_SERVICE = new 
PropertyDescriptor.Builder()
+            .name("Box Client Service")
+            .description("Controller Service used to obtain a Box API 
connection.")
+            .identifiesControllerService(BoxClientService.class)
+            .required(true)
+            .build();
+
+    @Override
+    public void migrateProperties(PropertyConfiguration config) {
+        config.renameProperty(OLD_BOX_CLIENT_SERVICE_PROPERTY_NAME, 
BOX_CLIENT_SERVICE.getName());
+    }
+}
diff --git 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ConsumeBoxEnterpriseEvents.java
 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ConsumeBoxEnterpriseEvents.java
index 7ba3ddc090..786b57ef52 100644
--- 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ConsumeBoxEnterpriseEvents.java
+++ 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ConsumeBoxEnterpriseEvents.java
@@ -35,7 +35,6 @@ import org.apache.nifi.components.state.Scope;
 import org.apache.nifi.expression.ExpressionLanguageScope;
 import org.apache.nifi.flowfile.FlowFile;
 import org.apache.nifi.flowfile.attributes.CoreAttributes;
-import org.apache.nifi.processor.AbstractProcessor;
 import org.apache.nifi.processor.ProcessContext;
 import org.apache.nifi.processor.ProcessSession;
 import org.apache.nifi.processor.Relationship;
@@ -66,7 +65,7 @@ import static 
org.apache.nifi.annotation.behavior.InputRequirement.Requirement.I
         The last known position of the Box Event stream is stored in the 
processor state and is used to
         resume the stream from the last known position when the processor is 
restarted.
         """, scopes = { Scope.CLUSTER })
-public class ConsumeBoxEnterpriseEvents extends AbstractProcessor {
+public class ConsumeBoxEnterpriseEvents extends AbstractBoxProcessor {
 
     private static final String POSITION_KEY = "position";
     private static final String EARLIEST_POSITION = "0";
@@ -103,7 +102,7 @@ public class ConsumeBoxEnterpriseEvents extends 
AbstractProcessor {
             .build();
 
     private static final List<PropertyDescriptor> PROPERTY_DESCRIPTORS = 
List.of(
-            BoxClientService.BOX_CLIENT_SERVICE,
+            BOX_CLIENT_SERVICE,
             EVENT_TYPES,
             START_EVENT_POSITION,
             START_OFFSET
@@ -132,7 +131,7 @@ public class ConsumeBoxEnterpriseEvents extends 
AbstractProcessor {
 
     @OnScheduled
     public void onEnabled(final ProcessContext context) {
-        final BoxClientService boxClientService = 
context.getProperty(BoxClientService.BOX_CLIENT_SERVICE).asControllerService(BoxClientService.class);
+        final BoxClientService boxClientService = 
context.getProperty(BOX_CLIENT_SERVICE).asControllerService(BoxClientService.class);
         boxAPIConnection = boxClientService.getBoxApiConnection();
 
         eventTypes = context.getProperty(EVENT_TYPES).isSet()
diff --git 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ConsumeBoxEvents.java
 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ConsumeBoxEvents.java
index 873f7ecaa8..f6f84e9e62 100644
--- 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ConsumeBoxEvents.java
+++ 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ConsumeBoxEvents.java
@@ -38,7 +38,6 @@ import org.apache.nifi.components.state.Scope;
 import org.apache.nifi.flowfile.FlowFile;
 import org.apache.nifi.flowfile.attributes.CoreAttributes;
 import org.apache.nifi.logging.ComponentLog;
-import org.apache.nifi.processor.AbstractProcessor;
 import org.apache.nifi.processor.ProcessContext;
 import org.apache.nifi.processor.ProcessSession;
 import org.apache.nifi.processor.Relationship;
@@ -71,7 +70,7 @@ import java.util.concurrent.atomic.AtomicLong;
         The last known position of the Box stream is stored in the processor 
state and is used to
         resume the stream from the last known position when the processor is 
restarted.
         """, scopes = { Scope.CLUSTER })
-public class ConsumeBoxEvents extends AbstractProcessor implements 
VerifiableProcessor {
+public class ConsumeBoxEvents extends AbstractBoxProcessor implements 
VerifiableProcessor {
 
     private final static String POSITION_KEY = "position";
 
@@ -88,7 +87,7 @@ public class ConsumeBoxEvents extends AbstractProcessor 
implements VerifiablePro
             .build();
 
     private static final List<PropertyDescriptor> PROPERTY_DESCRIPTORS = 
List.of(
-            BoxClientService.BOX_CLIENT_SERVICE,
+            BOX_CLIENT_SERVICE,
             QUEUE_CAPACITY
     );
 
@@ -116,7 +115,7 @@ public class ConsumeBoxEvents extends AbstractProcessor 
implements VerifiablePro
 
     @OnScheduled
     public void onScheduled(final ProcessContext context) {
-        final BoxClientService boxClientService = 
context.getProperty(BoxClientService.BOX_CLIENT_SERVICE).asControllerService(BoxClientService.class);
+        final BoxClientService boxClientService = 
context.getProperty(BOX_CLIENT_SERVICE).asControllerService(BoxClientService.class);
         boxAPIConnection = boxClientService.getBoxApiConnection();
 
         try {
@@ -184,7 +183,7 @@ public class ConsumeBoxEvents extends AbstractProcessor 
implements VerifiablePro
     public List<ConfigVerificationResult> verify(ProcessContext context, 
ComponentLog verificationLogger, Map<String, String> attributes) {
 
         final List<ConfigVerificationResult> results = new ArrayList<>();
-        BoxClientService boxClientService = 
context.getProperty(BoxClientService.BOX_CLIENT_SERVICE).asControllerService(BoxClientService.class);
+        BoxClientService boxClientService = 
context.getProperty(BOX_CLIENT_SERVICE).asControllerService(BoxClientService.class);
         boxAPIConnection = boxClientService.getBoxApiConnection();
 
         try {
diff --git 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/CreateBoxFileMetadataInstance.java
 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/CreateBoxFileMetadataInstance.java
index c686d34dc2..8419ce5550 100644
--- 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/CreateBoxFileMetadataInstance.java
+++ 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/CreateBoxFileMetadataInstance.java
@@ -31,7 +31,6 @@ import 
org.apache.nifi.box.controllerservices.BoxClientService;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.expression.ExpressionLanguageScope;
 import org.apache.nifi.flowfile.FlowFile;
-import org.apache.nifi.processor.AbstractProcessor;
 import org.apache.nifi.processor.ProcessContext;
 import org.apache.nifi.processor.ProcessSession;
 import org.apache.nifi.processor.Relationship;
@@ -73,7 +72,7 @@ import static 
org.apache.nifi.processors.box.BoxFileAttributes.ERROR_MESSAGE_DES
         @WritesAttribute(attribute = ERROR_CODE, description = 
ERROR_CODE_DESC),
         @WritesAttribute(attribute = ERROR_MESSAGE, description = 
ERROR_MESSAGE_DESC)
 })
-public class CreateBoxFileMetadataInstance extends AbstractProcessor {
+public class CreateBoxFileMetadataInstance extends AbstractBoxProcessor {
 
     public static final PropertyDescriptor FILE_ID = new 
PropertyDescriptor.Builder()
             .name("File ID")
@@ -127,7 +126,7 @@ public class CreateBoxFileMetadataInstance extends 
AbstractProcessor {
     );
 
     private static final List<PropertyDescriptor> PROPERTY_DESCRIPTORS = 
List.of(
-            BoxClientService.BOX_CLIENT_SERVICE,
+            BOX_CLIENT_SERVICE,
             FILE_ID,
             TEMPLATE_KEY,
             RECORD_READER
@@ -147,7 +146,7 @@ public class CreateBoxFileMetadataInstance extends 
AbstractProcessor {
 
     @OnScheduled
     public void onScheduled(final ProcessContext context) {
-        final BoxClientService boxClientService = 
context.getProperty(BoxClientService.BOX_CLIENT_SERVICE)
+        final BoxClientService boxClientService = 
context.getProperty(BOX_CLIENT_SERVICE)
                 .asControllerService(BoxClientService.class);
         boxAPIConnection = boxClientService.getBoxApiConnection();
     }
diff --git 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/CreateBoxMetadataTemplate.java
 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/CreateBoxMetadataTemplate.java
index d538e6a3ee..a6b9266795 100644
--- 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/CreateBoxMetadataTemplate.java
+++ 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/CreateBoxMetadataTemplate.java
@@ -30,7 +30,6 @@ import 
org.apache.nifi.box.controllerservices.BoxClientService;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.expression.ExpressionLanguageScope;
 import org.apache.nifi.flowfile.FlowFile;
-import org.apache.nifi.processor.AbstractProcessor;
 import org.apache.nifi.processor.ProcessContext;
 import org.apache.nifi.processor.ProcessSession;
 import org.apache.nifi.processor.Relationship;
@@ -70,7 +69,7 @@ import static 
org.apache.nifi.processors.box.BoxFileAttributes.ERROR_MESSAGE_DES
         @WritesAttribute(attribute = ERROR_CODE, description = 
ERROR_CODE_DESC),
         @WritesAttribute(attribute = ERROR_MESSAGE, description = 
ERROR_MESSAGE_DESC)
 })
-public class CreateBoxMetadataTemplate extends AbstractProcessor {
+public class CreateBoxMetadataTemplate extends AbstractBoxProcessor {
 
     public static final String SCOPE_ENTERPRISE = "enterprise";
 
@@ -124,7 +123,7 @@ public class CreateBoxMetadataTemplate extends 
AbstractProcessor {
     );
 
     private static final List<PropertyDescriptor> PROPERTY_DESCRIPTORS = 
List.of(
-            BoxClientService.BOX_CLIENT_SERVICE,
+            BOX_CLIENT_SERVICE,
             TEMPLATE_NAME,
             TEMPLATE_KEY,
             HIDDEN,
@@ -149,7 +148,7 @@ public class CreateBoxMetadataTemplate extends 
AbstractProcessor {
     }
 
     protected BoxAPIConnection getBoxAPIConnection(final ProcessContext 
context) {
-        final BoxClientService boxClientService = 
context.getProperty(BoxClientService.BOX_CLIENT_SERVICE)
+        final BoxClientService boxClientService = 
context.getProperty(BOX_CLIENT_SERVICE)
                 .asControllerService(BoxClientService.class);
         return boxClientService.getBoxApiConnection();
     }
diff --git 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/DeleteBoxFileMetadataInstance.java
 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/DeleteBoxFileMetadataInstance.java
index 7f2686732b..e4dcd31811 100644
--- 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/DeleteBoxFileMetadataInstance.java
+++ 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/DeleteBoxFileMetadataInstance.java
@@ -30,7 +30,6 @@ import 
org.apache.nifi.box.controllerservices.BoxClientService;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.expression.ExpressionLanguageScope;
 import org.apache.nifi.flowfile.FlowFile;
-import org.apache.nifi.processor.AbstractProcessor;
 import org.apache.nifi.processor.ProcessContext;
 import org.apache.nifi.processor.ProcessSession;
 import org.apache.nifi.processor.Relationship;
@@ -57,7 +56,7 @@ import static 
org.apache.nifi.processors.box.BoxFileAttributes.ERROR_MESSAGE_DES
         @WritesAttribute(attribute = ERROR_CODE, description = 
ERROR_CODE_DESC),
         @WritesAttribute(attribute = ERROR_MESSAGE, description = 
ERROR_MESSAGE_DESC)
 })
-public class DeleteBoxFileMetadataInstance extends AbstractProcessor {
+public class DeleteBoxFileMetadataInstance extends AbstractBoxProcessor {
 
     public static final PropertyDescriptor FILE_ID = new 
PropertyDescriptor.Builder()
             .name("File ID")
@@ -104,7 +103,7 @@ public class DeleteBoxFileMetadataInstance extends 
AbstractProcessor {
     );
 
     private static final List<PropertyDescriptor> PROPERTY_DESCRIPTORS = 
List.of(
-            BoxClientService.BOX_CLIENT_SERVICE,
+            BOX_CLIENT_SERVICE,
             FILE_ID,
             TEMPLATE_KEY
     );
@@ -123,7 +122,7 @@ public class DeleteBoxFileMetadataInstance extends 
AbstractProcessor {
 
     @OnScheduled
     public void onScheduled(final ProcessContext context) {
-        final BoxClientService boxClientService = 
context.getProperty(BoxClientService.BOX_CLIENT_SERVICE)
+        final BoxClientService boxClientService = 
context.getProperty(BOX_CLIENT_SERVICE)
                 .asControllerService(BoxClientService.class);
         boxAPIConnection = boxClientService.getBoxApiConnection();
     }
diff --git 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ExtractStructuredBoxFileMetadata.java
 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ExtractStructuredBoxFileMetadata.java
index 418f9743fc..fd09fef76f 100644
--- 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ExtractStructuredBoxFileMetadata.java
+++ 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ExtractStructuredBoxFileMetadata.java
@@ -37,7 +37,6 @@ import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.expression.ExpressionLanguageScope;
 import org.apache.nifi.flowfile.FlowFile;
 import org.apache.nifi.flowfile.attributes.CoreAttributes;
-import org.apache.nifi.processor.AbstractProcessor;
 import org.apache.nifi.processor.ProcessContext;
 import org.apache.nifi.processor.ProcessSession;
 import org.apache.nifi.processor.Relationship;
@@ -78,7 +77,7 @@ import static 
org.apache.nifi.processors.box.BoxFileAttributes.ERROR_MESSAGE_DES
         @WritesAttribute(attribute = ERROR_CODE, description = 
ERROR_CODE_DESC),
         @WritesAttribute(attribute = ERROR_MESSAGE, description = 
ERROR_MESSAGE_DESC)
 })
-public class ExtractStructuredBoxFileMetadata extends AbstractProcessor {
+public class ExtractStructuredBoxFileMetadata extends AbstractBoxProcessor {
 
     public static final PropertyDescriptor FILE_ID = new 
PropertyDescriptor.Builder()
             .name("File ID")
@@ -144,7 +143,7 @@ public class ExtractStructuredBoxFileMetadata extends 
AbstractProcessor {
     );
 
     private static final List<PropertyDescriptor> PROPERTY_DESCRIPTORS = 
List.of(
-            BoxClientService.BOX_CLIENT_SERVICE,
+            BOX_CLIENT_SERVICE,
             FILE_ID,
             EXTRACTION_METHOD,
             TEMPLATE_KEY,
@@ -167,7 +166,7 @@ public class ExtractStructuredBoxFileMetadata extends 
AbstractProcessor {
 
     @OnScheduled
     public void onScheduled(final ProcessContext context) {
-        final BoxClientService boxClientService = 
context.getProperty(BoxClientService.BOX_CLIENT_SERVICE)
+        final BoxClientService boxClientService = 
context.getProperty(BOX_CLIENT_SERVICE)
                 .asControllerService(BoxClientService.class);
         boxAPIConnection = boxClientService.getBoxApiConnection();
     }
diff --git 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/FetchBoxFile.java
 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/FetchBoxFile.java
index 189ee5c204..88877ee01e 100644
--- 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/FetchBoxFile.java
+++ 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/FetchBoxFile.java
@@ -46,7 +46,7 @@ import 
org.apache.nifi.box.controllerservices.BoxClientService;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.expression.ExpressionLanguageScope;
 import org.apache.nifi.flowfile.FlowFile;
-import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.migration.PropertyConfiguration;
 import org.apache.nifi.processor.ProcessContext;
 import org.apache.nifi.processor.ProcessSession;
 import org.apache.nifi.processor.Relationship;
@@ -70,11 +70,10 @@ import java.util.Set;
         @WritesAttribute(attribute = ERROR_CODE, description = 
ERROR_CODE_DESC),
         @WritesAttribute(attribute = ERROR_MESSAGE, description = 
ERROR_MESSAGE_DESC)
 })
-public class FetchBoxFile extends AbstractProcessor {
+public class FetchBoxFile extends AbstractBoxProcessor {
 
-    public static final PropertyDescriptor FILE_ID = new PropertyDescriptor
-            .Builder().name("box-file-id")
-            .displayName("File ID")
+    public static final PropertyDescriptor FILE_ID = new 
PropertyDescriptor.Builder()
+            .name("File ID")
             .description("The ID of the File to fetch")
             .required(true)
             .defaultValue("${box.id}")
@@ -100,7 +99,7 @@ public class FetchBoxFile extends AbstractProcessor {
     );
 
     private static final List<PropertyDescriptor> PROPERTY_DESCRIPTORS = 
List.of(
-            BoxClientService.BOX_CLIENT_SERVICE,
+            BOX_CLIENT_SERVICE,
             FILE_ID
     );
 
@@ -118,7 +117,7 @@ public class FetchBoxFile extends AbstractProcessor {
 
     @OnScheduled
     public void onScheduled(final ProcessContext context) {
-        BoxClientService boxClientService = 
context.getProperty(BoxClientService.BOX_CLIENT_SERVICE).asControllerService(BoxClientService.class);
+        BoxClientService boxClientService = 
context.getProperty(BOX_CLIENT_SERVICE).asControllerService(BoxClientService.class);
 
         boxAPIConnection = boxClientService.getBoxApiConnection();
     }
@@ -145,6 +144,12 @@ public class FetchBoxFile extends AbstractProcessor {
         }
     }
 
+    @Override
+    public void migrateProperties(PropertyConfiguration config) {
+        super.migrateProperties(config);
+        config.renameProperty("box-file-id", FILE_ID.getName());
+    }
+
     BoxFile getBoxFile(String fileId) {
         return new BoxFile(boxAPIConnection, fileId);
     }
diff --git 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/FetchBoxFileInfo.java
 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/FetchBoxFileInfo.java
index dcf90f6f70..d7116868bf 100644
--- 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/FetchBoxFileInfo.java
+++ 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/FetchBoxFileInfo.java
@@ -32,7 +32,6 @@ import 
org.apache.nifi.box.controllerservices.BoxClientService;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.expression.ExpressionLanguageScope;
 import org.apache.nifi.flowfile.FlowFile;
-import org.apache.nifi.processor.AbstractProcessor;
 import org.apache.nifi.processor.ProcessContext;
 import org.apache.nifi.processor.ProcessSession;
 import org.apache.nifi.processor.Relationship;
@@ -86,7 +85,7 @@ import static 
org.apache.nifi.processors.box.BoxFileAttributes.TIMESTAMP_DESC;
         @WritesAttribute(attribute = ERROR_CODE, description = 
ERROR_CODE_DESC),
         @WritesAttribute(attribute = ERROR_MESSAGE, description = 
ERROR_MESSAGE_DESC)
 })
-public class FetchBoxFileInfo extends AbstractProcessor {
+public class FetchBoxFileInfo extends AbstractBoxProcessor {
 
     public static final PropertyDescriptor FILE_ID = new 
PropertyDescriptor.Builder()
             .name("File ID")
@@ -119,7 +118,7 @@ public class FetchBoxFileInfo extends AbstractProcessor {
     );
 
     private static final List<PropertyDescriptor> PROPERTY_DESCRIPTORS = 
List.of(
-            BoxClientService.BOX_CLIENT_SERVICE,
+            BOX_CLIENT_SERVICE,
             FILE_ID
     );
 
@@ -137,7 +136,7 @@ public class FetchBoxFileInfo extends AbstractProcessor {
 
     @OnScheduled
     public void onScheduled(final ProcessContext context) {
-        BoxClientService boxClientService = 
context.getProperty(BoxClientService.BOX_CLIENT_SERVICE).asControllerService(BoxClientService.class);
+        BoxClientService boxClientService = 
context.getProperty(BOX_CLIENT_SERVICE).asControllerService(BoxClientService.class);
         boxAPIConnection = boxClientService.getBoxApiConnection();
     }
 
diff --git 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/FetchBoxFileMetadataInstance.java
 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/FetchBoxFileMetadataInstance.java
index aff6e82182..3e2cfcb934 100644
--- 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/FetchBoxFileMetadataInstance.java
+++ 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/FetchBoxFileMetadataInstance.java
@@ -32,7 +32,6 @@ import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.expression.ExpressionLanguageScope;
 import org.apache.nifi.flowfile.FlowFile;
 import org.apache.nifi.flowfile.attributes.CoreAttributes;
-import org.apache.nifi.processor.AbstractProcessor;
 import org.apache.nifi.processor.ProcessContext;
 import org.apache.nifi.processor.ProcessSession;
 import org.apache.nifi.processor.Relationship;
@@ -65,7 +64,7 @@ import static 
org.apache.nifi.processors.box.utils.BoxMetadataUtils.processBoxMe
         @WritesAttribute(attribute = ERROR_CODE, description = 
ERROR_CODE_DESC),
         @WritesAttribute(attribute = ERROR_MESSAGE, description = 
ERROR_MESSAGE_DESC)
 })
-public class FetchBoxFileMetadataInstance extends AbstractProcessor {
+public class FetchBoxFileMetadataInstance extends AbstractBoxProcessor {
 
     public static final PropertyDescriptor FILE_ID = new 
PropertyDescriptor.Builder()
             .name("File ID")
@@ -121,7 +120,7 @@ public class FetchBoxFileMetadataInstance extends 
AbstractProcessor {
     );
 
     private static final List<PropertyDescriptor> PROPERTY_DESCRIPTORS = 
List.of(
-            BoxClientService.BOX_CLIENT_SERVICE,
+            BOX_CLIENT_SERVICE,
             FILE_ID,
             TEMPLATE_KEY,
             TEMPLATE_SCOPE
@@ -141,7 +140,7 @@ public class FetchBoxFileMetadataInstance extends 
AbstractProcessor {
 
     @OnScheduled
     public void onScheduled(final ProcessContext context) {
-        final BoxClientService boxClientService = 
context.getProperty(BoxClientService.BOX_CLIENT_SERVICE)
+        final BoxClientService boxClientService = 
context.getProperty(BOX_CLIENT_SERVICE)
                 .asControllerService(BoxClientService.class);
         boxAPIConnection = boxClientService.getBoxApiConnection();
     }
diff --git 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/FetchBoxFileRepresentation.java
 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/FetchBoxFileRepresentation.java
index 447f957441..dd5f659263 100644
--- 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/FetchBoxFileRepresentation.java
+++ 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/FetchBoxFileRepresentation.java
@@ -36,7 +36,6 @@ import org.apache.nifi.components.PropertyDescriptor.Builder;
 import org.apache.nifi.expression.ExpressionLanguageScope;
 import org.apache.nifi.flowfile.FlowFile;
 import org.apache.nifi.logging.ComponentLog;
-import org.apache.nifi.processor.AbstractProcessor;
 import org.apache.nifi.processor.ProcessContext;
 import org.apache.nifi.processor.ProcessSession;
 import org.apache.nifi.processor.Relationship;
@@ -66,7 +65,7 @@ import static 
org.apache.nifi.components.ConfigVerificationResult.Outcome;
         @WritesAttribute(attribute = "box.error.code", description = "The 
error code returned by Box if the operation fails.")
 })
 @SeeAlso({FetchBoxFile.class, ListBoxFile.class})
-public class FetchBoxFileRepresentation extends AbstractProcessor implements 
VerifiableProcessor {
+public class FetchBoxFileRepresentation extends AbstractBoxProcessor 
implements VerifiableProcessor {
 
     private static final String BOX_FILE_URI = 
"https://api.box.com/2.0/files/%s/content?representation=%s";;
 
@@ -108,7 +107,7 @@ public class FetchBoxFileRepresentation extends 
AbstractProcessor implements Ver
             .build();
 
     private static final List<PropertyDescriptor> PROPERTY_DESCRIPTORS = 
List.of(
-            BoxClientService.BOX_CLIENT_SERVICE,
+            BOX_CLIENT_SERVICE,
             FILE_ID,
             REPRESENTATION_TYPE
     );
@@ -141,7 +140,7 @@ public class FetchBoxFileRepresentation extends 
AbstractProcessor implements Ver
 
     @OnScheduled
     public void onScheduled(final ProcessContext context) {
-        final BoxClientService boxClientService = 
context.getProperty(BoxClientService.BOX_CLIENT_SERVICE)
+        final BoxClientService boxClientService = 
context.getProperty(BOX_CLIENT_SERVICE)
                 .asControllerService(BoxClientService.class);
         boxAPIConnection = boxClientService.getBoxApiConnection();
     }
@@ -219,7 +218,7 @@ public class FetchBoxFileRepresentation extends 
AbstractProcessor implements Ver
                                                  final ComponentLog 
verificationLogger,
                                                  final Map<String, String> 
attributes) {
         final List<ConfigVerificationResult> results = new ArrayList<>();
-        final BoxClientService boxClientService = 
context.getProperty(BoxClientService.BOX_CLIENT_SERVICE)
+        final BoxClientService boxClientService = 
context.getProperty(BOX_CLIENT_SERVICE)
                 .asControllerService(BoxClientService.class);
         final BoxAPIConnection boxAPIConnection = 
boxClientService.getBoxApiConnection();
 
diff --git 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/GetBoxFileCollaborators.java
 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/GetBoxFileCollaborators.java
index 861173b978..bbd68a4129 100644
--- 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/GetBoxFileCollaborators.java
+++ 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/GetBoxFileCollaborators.java
@@ -33,7 +33,6 @@ import 
org.apache.nifi.box.controllerservices.BoxClientService;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.expression.ExpressionLanguageScope;
 import org.apache.nifi.flowfile.FlowFile;
-import org.apache.nifi.processor.AbstractProcessor;
 import org.apache.nifi.processor.ProcessContext;
 import org.apache.nifi.processor.ProcessSession;
 import org.apache.nifi.processor.Relationship;
@@ -79,7 +78,7 @@ import static 
org.apache.nifi.processors.box.BoxFileAttributes.ID_DESC;
         @WritesAttribute(attribute = ERROR_CODE, description = 
ERROR_CODE_DESC),
         @WritesAttribute(attribute = ERROR_MESSAGE, description = 
ERROR_MESSAGE_DESC)
 })
-public class GetBoxFileCollaborators extends AbstractProcessor {
+public class GetBoxFileCollaborators extends AbstractBoxProcessor {
 
     public static final PropertyDescriptor FILE_ID = new 
PropertyDescriptor.Builder()
             .name("File ID")
@@ -130,7 +129,7 @@ public class GetBoxFileCollaborators extends 
AbstractProcessor {
     );
 
     private static final List<PropertyDescriptor> PROPERTY_DESCRIPTORS = 
List.of(
-            BoxClientService.BOX_CLIENT_SERVICE,
+            BOX_CLIENT_SERVICE,
             FILE_ID,
             ROLES,
             STATUSES
@@ -150,7 +149,7 @@ public class GetBoxFileCollaborators extends 
AbstractProcessor {
 
     @OnScheduled
     public void onScheduled(final ProcessContext context) {
-        BoxClientService boxClientService = 
context.getProperty(BoxClientService.BOX_CLIENT_SERVICE).asControllerService(BoxClientService.class);
+        BoxClientService boxClientService = 
context.getProperty(BOX_CLIENT_SERVICE).asControllerService(BoxClientService.class);
         boxAPIConnection = boxClientService.getBoxApiConnection();
     }
 
diff --git 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/GetBoxGroupMembers.java
 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/GetBoxGroupMembers.java
index ce16f7116a..c579059a69 100644
--- 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/GetBoxGroupMembers.java
+++ 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/GetBoxGroupMembers.java
@@ -34,7 +34,6 @@ import 
org.apache.nifi.box.controllerservices.BoxClientService;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.expression.ExpressionLanguageScope;
 import org.apache.nifi.flowfile.FlowFile;
-import org.apache.nifi.processor.AbstractProcessor;
 import org.apache.nifi.processor.ProcessContext;
 import org.apache.nifi.processor.ProcessSession;
 import org.apache.nifi.processor.Relationship;
@@ -66,7 +65,7 @@ import static 
org.apache.nifi.processors.box.BoxGroupAttributes.GROUP_USER_LOGIN
         @WritesAttribute(attribute = ERROR_CODE, description = "An http error 
code returned by Box."),
         @WritesAttribute(attribute = ERROR_MESSAGE, description = "An error 
message returned by Box."),
 })
-public class GetBoxGroupMembers extends AbstractProcessor {
+public class GetBoxGroupMembers extends AbstractBoxProcessor {
 
     static final PropertyDescriptor GROUP_ID = new PropertyDescriptor.Builder()
             .name("Group ID")
@@ -78,7 +77,7 @@ public class GetBoxGroupMembers extends AbstractProcessor {
             .build();
 
     private static final List<PropertyDescriptor> PROPERTY_DESCRIPTORS = 
List.of(
-            BoxClientService.BOX_CLIENT_SERVICE,
+            BOX_CLIENT_SERVICE,
             GROUP_ID
     );
 
@@ -117,7 +116,7 @@ public class GetBoxGroupMembers extends AbstractProcessor {
 
     @OnScheduled
     public void onScheduled(final ProcessContext context) {
-        final BoxClientService boxClientService = 
context.getProperty(BoxClientService.BOX_CLIENT_SERVICE).asControllerService(BoxClientService.class);
+        final BoxClientService boxClientService = 
context.getProperty(BOX_CLIENT_SERVICE).asControllerService(BoxClientService.class);
         boxAPIConnection = boxClientService.getBoxApiConnection();
     }
 
diff --git 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ListBoxFile.java
 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ListBoxFile.java
index 71ca40600c..053f832dc0 100644
--- 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ListBoxFile.java
+++ 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ListBoxFile.java
@@ -53,6 +53,7 @@ import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.components.state.Scope;
 import org.apache.nifi.context.PropertyContext;
 import org.apache.nifi.expression.ExpressionLanguageScope;
+import org.apache.nifi.migration.PropertyConfiguration;
 import org.apache.nifi.processor.ProcessContext;
 import org.apache.nifi.processor.util.StandardValidators;
 import org.apache.nifi.processor.util.list.AbstractListProcessor;
@@ -81,8 +82,7 @@ import org.apache.nifi.serialization.record.RecordSchema;
 @DefaultSchedule(strategy = SchedulingStrategy.TIMER_DRIVEN, period = "1 min")
 public class ListBoxFile extends AbstractListProcessor<BoxFileInfo> {
     public static final PropertyDescriptor FOLDER_ID = new 
PropertyDescriptor.Builder()
-        .name("box-folder-id")
-        .displayName("Folder ID")
+        .name("Folder ID")
         .description("The ID of the folder from which to pull list of files.")
         .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
         .expressionLanguageSupported(ExpressionLanguageScope.ENVIRONMENT)
@@ -90,8 +90,7 @@ public class ListBoxFile extends 
AbstractListProcessor<BoxFileInfo> {
         .build();
 
     public static final PropertyDescriptor RECURSIVE_SEARCH = new 
PropertyDescriptor.Builder()
-        .name("recursive-search")
-        .displayName("Search Recursively")
+        .name("Search Recursively")
         .description("When 'true', will include list of files from 
sub-folders." +
             " Otherwise, will return only files that are within the folder 
defined by the 'Folder ID' property.")
         .required(true)
@@ -100,8 +99,7 @@ public class ListBoxFile extends 
AbstractListProcessor<BoxFileInfo> {
         .build();
 
     public static final PropertyDescriptor MIN_AGE = new 
PropertyDescriptor.Builder()
-        .name("min-age")
-        .displayName("Minimum File Age")
+        .name("Minimum File Age")
         .description("The minimum age a file must be in order to be 
considered; any files younger than this will be ignored.")
         .required(true)
         .addValidator(StandardValidators.TIME_PERIOD_VALIDATOR)
@@ -129,7 +127,7 @@ public class ListBoxFile extends 
AbstractListProcessor<BoxFileInfo> {
         .build();
 
     private static final List<PropertyDescriptor> PROPERTY_DESCRIPTORS = 
List.of(
-        BoxClientService.BOX_CLIENT_SERVICE,
+        AbstractBoxProcessor.BOX_CLIENT_SERVICE,
         FOLDER_ID,
         RECURSIVE_SEARCH,
         MIN_AGE,
@@ -164,11 +162,20 @@ public class ListBoxFile extends 
AbstractListProcessor<BoxFileInfo> {
 
     @OnScheduled
     public void onScheduled(final ProcessContext context) {
-        BoxClientService boxClientService = 
context.getProperty(BoxClientService.BOX_CLIENT_SERVICE).asControllerService(BoxClientService.class);
+        BoxClientService boxClientService = 
context.getProperty(AbstractBoxProcessor.BOX_CLIENT_SERVICE).asControllerService(BoxClientService.class);
 
         boxAPIConnection = boxClientService.getBoxApiConnection();
     }
 
+    @Override
+    public void migrateProperties(PropertyConfiguration config) {
+        super.migrateProperties(config);
+        
config.renameProperty(AbstractBoxProcessor.OLD_BOX_CLIENT_SERVICE_PROPERTY_NAME,
 AbstractBoxProcessor.BOX_CLIENT_SERVICE.getName());
+        config.renameProperty("box-folder-id", FOLDER_ID.getName());
+        config.renameProperty("recursive-search", RECURSIVE_SEARCH.getName());
+        config.renameProperty("min-age", MIN_AGE.getName());
+    }
+
     @Override
     protected String getListingContainerName(final ProcessContext context) {
         return String.format("Box Folder [%s]", getPath(context));
diff --git 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ListBoxFileInfo.java
 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ListBoxFileInfo.java
index 1e61dedd17..e1df62b953 100644
--- 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ListBoxFileInfo.java
+++ 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ListBoxFileInfo.java
@@ -33,7 +33,6 @@ import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.expression.ExpressionLanguageScope;
 import org.apache.nifi.flowfile.FlowFile;
 import org.apache.nifi.flowfile.attributes.CoreAttributes;
-import org.apache.nifi.processor.AbstractProcessor;
 import org.apache.nifi.processor.ProcessContext;
 import org.apache.nifi.processor.ProcessSession;
 import org.apache.nifi.processor.Relationship;
@@ -78,7 +77,7 @@ import static 
org.apache.nifi.processors.box.BoxFileAttributes.ERROR_MESSAGE_DES
         @WritesAttribute(attribute = ERROR_CODE, description = 
ERROR_CODE_DESC),
         @WritesAttribute(attribute = ERROR_MESSAGE, description = 
ERROR_MESSAGE_DESC)
 })
-public class ListBoxFileInfo extends AbstractProcessor {
+public class ListBoxFileInfo extends AbstractBoxProcessor {
 
     public static final PropertyDescriptor FOLDER_ID = new 
PropertyDescriptor.Builder()
             .name("Folder ID")
@@ -135,7 +134,7 @@ public class ListBoxFileInfo extends AbstractProcessor {
     );
 
     private static final List<PropertyDescriptor> PROPERTY_DESCRIPTORS = 
List.of(
-            BoxClientService.BOX_CLIENT_SERVICE,
+            BOX_CLIENT_SERVICE,
             FOLDER_ID,
             RECURSIVE_SEARCH,
             MIN_AGE,
@@ -164,7 +163,7 @@ public class ListBoxFileInfo extends AbstractProcessor {
 
     @OnScheduled
     public void onScheduled(final ProcessContext context) {
-        final BoxClientService boxClientService = 
context.getProperty(BoxClientService.BOX_CLIENT_SERVICE)
+        final BoxClientService boxClientService = 
context.getProperty(BOX_CLIENT_SERVICE)
                 .asControllerService(BoxClientService.class);
         boxAPIConnection = boxClientService.getBoxApiConnection();
     }
diff --git 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ListBoxFileMetadataInstances.java
 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ListBoxFileMetadataInstances.java
index ea95e2af78..a76f675566 100644
--- 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ListBoxFileMetadataInstances.java
+++ 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ListBoxFileMetadataInstances.java
@@ -32,7 +32,6 @@ import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.expression.ExpressionLanguageScope;
 import org.apache.nifi.flowfile.FlowFile;
 import org.apache.nifi.flowfile.attributes.CoreAttributes;
-import org.apache.nifi.processor.AbstractProcessor;
 import org.apache.nifi.processor.ProcessContext;
 import org.apache.nifi.processor.ProcessSession;
 import org.apache.nifi.processor.Relationship;
@@ -69,7 +68,7 @@ import static 
org.apache.nifi.processors.box.utils.BoxMetadataUtils.processBoxMe
         @WritesAttribute(attribute = ERROR_CODE, description = 
ERROR_CODE_DESC),
         @WritesAttribute(attribute = ERROR_MESSAGE, description = 
ERROR_MESSAGE_DESC)
 })
-public class ListBoxFileMetadataInstances extends AbstractProcessor {
+public class ListBoxFileMetadataInstances extends AbstractBoxProcessor {
 
     public static final PropertyDescriptor FILE_ID = new 
PropertyDescriptor.Builder()
             .name("File ID")
@@ -102,7 +101,7 @@ public class ListBoxFileMetadataInstances extends 
AbstractProcessor {
     );
 
     private static final List<PropertyDescriptor> PROPERTY_DESCRIPTORS = 
List.of(
-            BoxClientService.BOX_CLIENT_SERVICE,
+            BOX_CLIENT_SERVICE,
             FILE_ID
     );
 
@@ -120,7 +119,7 @@ public class ListBoxFileMetadataInstances extends 
AbstractProcessor {
 
     @OnScheduled
     public void onScheduled(final ProcessContext context) {
-        final BoxClientService boxClientService = 
context.getProperty(BoxClientService.BOX_CLIENT_SERVICE)
+        final BoxClientService boxClientService = 
context.getProperty(BOX_CLIENT_SERVICE)
                 .asControllerService(BoxClientService.class);
         boxAPIConnection = boxClientService.getBoxApiConnection();
     }
diff --git 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ListBoxFileMetadataTemplates.java
 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ListBoxFileMetadataTemplates.java
index 559a6d859b..b3585a0685 100644
--- 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ListBoxFileMetadataTemplates.java
+++ 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/ListBoxFileMetadataTemplates.java
@@ -32,7 +32,6 @@ import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.expression.ExpressionLanguageScope;
 import org.apache.nifi.flowfile.FlowFile;
 import org.apache.nifi.flowfile.attributes.CoreAttributes;
-import org.apache.nifi.processor.AbstractProcessor;
 import org.apache.nifi.processor.ProcessContext;
 import org.apache.nifi.processor.ProcessSession;
 import org.apache.nifi.processor.Relationship;
@@ -68,7 +67,7 @@ import static 
org.apache.nifi.processors.box.BoxFileAttributes.ERROR_MESSAGE_DES
         @WritesAttribute(attribute = ERROR_CODE, description = 
ERROR_CODE_DESC),
         @WritesAttribute(attribute = ERROR_MESSAGE, description = 
ERROR_MESSAGE_DESC)
 })
-public class ListBoxFileMetadataTemplates extends AbstractProcessor {
+public class ListBoxFileMetadataTemplates extends AbstractBoxProcessor {
 
     public static final PropertyDescriptor FILE_ID = new 
PropertyDescriptor.Builder()
             .name("File ID")
@@ -101,7 +100,7 @@ public class ListBoxFileMetadataTemplates extends 
AbstractProcessor {
     );
 
     private static final List<PropertyDescriptor> PROPERTY_DESCRIPTORS = 
List.of(
-            BoxClientService.BOX_CLIENT_SERVICE,
+            BOX_CLIENT_SERVICE,
             FILE_ID
     );
 
@@ -119,7 +118,7 @@ public class ListBoxFileMetadataTemplates extends 
AbstractProcessor {
 
     @OnScheduled
     public void onScheduled(final ProcessContext context) {
-        final BoxClientService boxClientService = 
context.getProperty(BoxClientService.BOX_CLIENT_SERVICE)
+        final BoxClientService boxClientService = 
context.getProperty(BOX_CLIENT_SERVICE)
                 .asControllerService(BoxClientService.class);
         boxAPIConnection = boxClientService.getBoxApiConnection();
     }
diff --git 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/PutBoxFile.java
 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/PutBoxFile.java
index 62a7164c5f..4943240673 100644
--- 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/PutBoxFile.java
+++ 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/PutBoxFile.java
@@ -36,7 +36,7 @@ import 
org.apache.nifi.box.controllerservices.BoxClientService;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.expression.ExpressionLanguageScope;
 import org.apache.nifi.flowfile.FlowFile;
-import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.migration.PropertyConfiguration;
 import org.apache.nifi.processor.DataUnit;
 import org.apache.nifi.processor.ProcessContext;
 import org.apache.nifi.processor.ProcessSession;
@@ -91,7 +91,7 @@ import static 
org.apache.nifi.processors.conflict.resolution.ConflictResolutionS
         @WritesAttribute(attribute = TIMESTAMP, description = TIMESTAMP_DESC),
         @WritesAttribute(attribute = ERROR_CODE, description = 
ERROR_CODE_DESC),
         @WritesAttribute(attribute = ERROR_MESSAGE, description = 
ERROR_MESSAGE_DESC)})
-public class PutBoxFile extends AbstractProcessor {
+public class PutBoxFile extends AbstractBoxProcessor {
     public static final int CHUNKED_UPLOAD_LOWER_LIMIT_IN_BYTES = 20 * 1024 * 
1024;
     public static final int CHUNKED_UPLOAD_UPPER_LIMIT_IN_BYTES = 50 * 1024 * 
1024;
 
@@ -99,8 +99,7 @@ public class PutBoxFile extends AbstractProcessor {
     public static final int WAIT_TIME_MS = 1000;
 
     public static final PropertyDescriptor FOLDER_ID = new 
PropertyDescriptor.Builder()
-            .name("box-folder-id")
-            .displayName("Folder ID")
+            .name("Folder ID")
             .description("The ID of the folder where the file is uploaded." +
             " Please see Additional Details to obtain Folder ID.")
             .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
@@ -109,8 +108,7 @@ public class PutBoxFile extends AbstractProcessor {
             .build();
 
     public static final PropertyDescriptor FILE_NAME = new 
PropertyDescriptor.Builder()
-            .name("file-name")
-            .displayName("Filename")
+            .name("Filename")
             .description("The name of the file to upload to the specified Box 
folder.")
             .required(true)
             .defaultValue("${filename}")
@@ -119,8 +117,7 @@ public class PutBoxFile extends AbstractProcessor {
             .build();
 
     public static final PropertyDescriptor SUBFOLDER_NAME = new 
PropertyDescriptor.Builder()
-            .name("subfolder-name")
-            .displayName("Subfolder Name")
+            .name("Subfolder Name")
             .description("The name (path) of the subfolder where files are 
uploaded. The subfolder name is relative to the folder specified by 'Folder 
ID'."
                     + " Example: subFolder, subFolder1/subfolder2")
             
.addValidator(createRegexMatchingValidator(Pattern.compile("^(?!/).+(?<!/)$"), 
false,
@@ -130,8 +127,7 @@ public class PutBoxFile extends AbstractProcessor {
             .build();
 
     public static final PropertyDescriptor CREATE_SUBFOLDER = new 
PropertyDescriptor.Builder()
-            .name("create-folder")
-            .displayName("Create Subfolder")
+            .name("Create Subfolder")
             .expressionLanguageSupported(ExpressionLanguageScope.NONE)
             .required(true)
             .addValidator(StandardValidators.BOOLEAN_VALIDATOR)
@@ -143,8 +139,7 @@ public class PutBoxFile extends AbstractProcessor {
             .build();
 
     public static final PropertyDescriptor CONFLICT_RESOLUTION = new 
PropertyDescriptor.Builder()
-            .name("conflict-resolution-strategy")
-            .displayName("Conflict Resolution Strategy")
+            .name("Conflict Resolution Strategy")
             .description("Indicates what should happen when a file with the 
same name already exists in the specified Box folder.")
             .required(true)
             .defaultValue(ConflictResolutionStrategy.FAIL.getValue())
@@ -152,8 +147,7 @@ public class PutBoxFile extends AbstractProcessor {
             .build();
 
     public static final PropertyDescriptor CHUNKED_UPLOAD_THRESHOLD = new 
PropertyDescriptor.Builder()
-            .name("chunked-upload-threshold")
-            .displayName("Chunked Upload Threshold")
+            .name("Chunked Upload Threshold")
             .description("The maximum size of the content which is uploaded at 
once. FlowFiles larger than this threshold are uploaded in chunks."
                     + " Chunked upload is allowed for files larger than 20 MB. 
It is recommended to use chunked upload for files exceeding 50 MB.")
             .defaultValue("20 MB")
@@ -162,7 +156,7 @@ public class PutBoxFile extends AbstractProcessor {
             .build();
 
     public static final List<PropertyDescriptor> PROPERTY_DESCRIPTORS = 
List.of(
-            BoxClientService.BOX_CLIENT_SERVICE,
+            BOX_CLIENT_SERVICE,
             FOLDER_ID,
             SUBFOLDER_NAME,
             CREATE_SUBFOLDER,
@@ -205,7 +199,7 @@ public class PutBoxFile extends AbstractProcessor {
 
     @OnScheduled
     public void onScheduled(final ProcessContext context) {
-        final BoxClientService boxClientService = 
context.getProperty(BoxClientService.BOX_CLIENT_SERVICE).asControllerService(BoxClientService.class);
+        final BoxClientService boxClientService = 
context.getProperty(BOX_CLIENT_SERVICE).asControllerService(BoxClientService.class);
 
         boxAPIConnection = boxClientService.getBoxApiConnection();
     }
@@ -267,6 +261,17 @@ public class PutBoxFile extends AbstractProcessor {
         }
     }
 
+    @Override
+    public void migrateProperties(PropertyConfiguration config) {
+        super.migrateProperties(config);
+        config.renameProperty("box-folder-id", FOLDER_ID.getName());
+        config.renameProperty("file-name", FILE_NAME.getName());
+        config.renameProperty("subfolder-name", SUBFOLDER_NAME.getName());
+        config.renameProperty("create-folder", CREATE_SUBFOLDER.getName());
+        config.renameProperty("conflict-resolution-strategy", 
CONFLICT_RESOLUTION.getName());
+        config.renameProperty("chunked-upload-threshold", 
CHUNKED_UPLOAD_THRESHOLD.getName());
+    }
+
     BoxFolder getFolder(String folderId) {
         return new BoxFolder(boxAPIConnection, folderId);
     }
diff --git 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/UpdateBoxFileMetadataInstance.java
 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/UpdateBoxFileMetadataInstance.java
index c8ea194ba6..00bfb9aa16 100644
--- 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/UpdateBoxFileMetadataInstance.java
+++ 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/main/java/org/apache/nifi/processors/box/UpdateBoxFileMetadataInstance.java
@@ -31,7 +31,6 @@ import 
org.apache.nifi.box.controllerservices.BoxClientService;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.expression.ExpressionLanguageScope;
 import org.apache.nifi.flowfile.FlowFile;
-import org.apache.nifi.processor.AbstractProcessor;
 import org.apache.nifi.processor.ProcessContext;
 import org.apache.nifi.processor.ProcessSession;
 import org.apache.nifi.processor.Relationship;
@@ -75,7 +74,7 @@ import static 
org.apache.nifi.processors.box.BoxFileAttributes.ERROR_MESSAGE_DES
         @WritesAttribute(attribute = ERROR_CODE, description = 
ERROR_CODE_DESC),
         @WritesAttribute(attribute = ERROR_MESSAGE, description = 
ERROR_MESSAGE_DESC)
 })
-public class UpdateBoxFileMetadataInstance extends AbstractProcessor {
+public class UpdateBoxFileMetadataInstance extends AbstractBoxProcessor {
 
     public static final PropertyDescriptor FILE_ID = new 
PropertyDescriptor.Builder()
             .name("File ID")
@@ -123,7 +122,7 @@ public class UpdateBoxFileMetadataInstance extends 
AbstractProcessor {
             .build();
 
     private static final List<PropertyDescriptor> PROPERTY_DESCRIPTORS = 
List.of(
-            BoxClientService.BOX_CLIENT_SERVICE,
+            BOX_CLIENT_SERVICE,
             FILE_ID,
             TEMPLATE_KEY,
             RECORD_READER
@@ -150,7 +149,7 @@ public class UpdateBoxFileMetadataInstance extends 
AbstractProcessor {
 
     @OnScheduled
     public void onScheduled(final ProcessContext context) {
-        final BoxClientService boxClientService = 
context.getProperty(BoxClientService.BOX_CLIENT_SERVICE)
+        final BoxClientService boxClientService = 
context.getProperty(BOX_CLIENT_SERVICE)
                 .asControllerService(BoxClientService.class);
         boxAPIConnection = boxClientService.getBoxApiConnection();
     }
diff --git 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/test/java/org/apache/nifi/processors/box/AbstractBoxFileTest.java
 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/test/java/org/apache/nifi/processors/box/AbstractBoxFileTest.java
index 57eeaec79c..2f31f4f4ad 100644
--- 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/test/java/org/apache/nifi/processors/box/AbstractBoxFileTest.java
+++ 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/test/java/org/apache/nifi/processors/box/AbstractBoxFileTest.java
@@ -81,7 +81,7 @@ public class AbstractBoxFileTest {
 
         testRunner.addControllerService(mockBoxClientService.getIdentifier(), 
mockBoxClientService);
         testRunner.enableControllerService(mockBoxClientService);
-        testRunner.setProperty(BoxClientService.BOX_CLIENT_SERVICE, 
mockBoxClientService.getIdentifier());
+        testRunner.setProperty(AbstractBoxProcessor.BOX_CLIENT_SERVICE, 
mockBoxClientService.getIdentifier());
     }
 
     protected BoxFile.Info createFileInfo(String path, Long createdTime) {
diff --git 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/test/java/org/apache/nifi/processors/box/ListBoxFileListingTest.java
 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/test/java/org/apache/nifi/processors/box/ListBoxFileListingTest.java
index e58dedc71d..dd5ac95148 100644
--- 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/test/java/org/apache/nifi/processors/box/ListBoxFileListingTest.java
+++ 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/test/java/org/apache/nifi/processors/box/ListBoxFileListingTest.java
@@ -61,7 +61,7 @@ public class ListBoxFileListingTest implements 
FileListingTestTrait {
             }
         };
 
-        
doReturn(mockBoxClientServicePropertyValue).when(mockProcessContext).getProperty(BoxClientService.BOX_CLIENT_SERVICE);
+        
doReturn(mockBoxClientServicePropertyValue).when(mockProcessContext).getProperty(AbstractBoxProcessor.BOX_CLIENT_SERVICE);
         
doReturn(mockBoxClientService).when(mockBoxClientServicePropertyValue).asControllerService(BoxClientService.class);
         
doReturn(mockBoxAPIConnection).when(mockBoxClientService).getBoxApiConnection();
 
diff --git 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/test/java/org/apache/nifi/processors/box/ListBoxFileTest.java
 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/test/java/org/apache/nifi/processors/box/ListBoxFileTest.java
index ab35846f35..a1ce8bfe5c 100644
--- 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/test/java/org/apache/nifi/processors/box/ListBoxFileTest.java
+++ 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-processors/src/test/java/org/apache/nifi/processors/box/ListBoxFileTest.java
@@ -21,15 +21,20 @@ import static java.util.Collections.singletonList;
 import static org.apache.nifi.processors.box.BoxFileAttributes.ID;
 import static org.apache.nifi.processors.box.BoxFileAttributes.SIZE;
 import static org.apache.nifi.processors.box.BoxFileAttributes.TIMESTAMP;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import com.box.sdk.BoxFolder;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
+
 import org.apache.nifi.flowfile.attributes.CoreAttributes;
 import org.apache.nifi.json.JsonRecordSetWriter;
 import org.apache.nifi.reporting.InitializationException;
 import org.apache.nifi.serialization.RecordSetWriterFactory;
 import org.apache.nifi.util.MockFlowFile;
+import org.apache.nifi.util.PropertyMigrationResult;
+import org.apache.nifi.util.TestRunner;
 import org.apache.nifi.util.TestRunners;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -97,6 +102,17 @@ public class ListBoxFileTest extends AbstractBoxFileTest 
implements FileListingT
         testRunner.assertContents(ListBoxFile.REL_SUCCESS, expectedContents);
     }
 
+    @Test
+    void testMigration() {
+        TestRunner runner = TestRunners.newTestRunner(ListBoxFile.class);
+        final PropertyMigrationResult propertyMigrationResult = 
runner.migrateProperties();
+        // NOTE: Only ensuring migration of property defined outside of this 
class.
+        final Map<String, String> expectedRenamed =
+                
Map.of(AbstractBoxProcessor.OLD_BOX_CLIENT_SERVICE_PROPERTY_NAME, 
AbstractBoxProcessor.BOX_CLIENT_SERVICE.getName());
+
+        expectedRenamed.forEach((key, value) -> assertEquals(value, 
propertyMigrationResult.getPropertiesRenamed().get(key)));
+    }
+
     private void addJsonRecordWriterFactory() throws InitializationException {
         final RecordSetWriterFactory recordSetWriter = new 
JsonRecordSetWriter();
         testRunner.addControllerService("record_writer", recordSetWriter);
diff --git 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-services-api/src/main/java/org/apache/nifi/box/controllerservices/BoxClientService.java
 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-services-api/src/main/java/org/apache/nifi/box/controllerservices/BoxClientService.java
index e369e80910..86c6db7ffa 100644
--- 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-services-api/src/main/java/org/apache/nifi/box/controllerservices/BoxClientService.java
+++ 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-services-api/src/main/java/org/apache/nifi/box/controllerservices/BoxClientService.java
@@ -17,20 +17,12 @@
 package org.apache.nifi.box.controllerservices;
 
 import com.box.sdk.BoxAPIConnection;
-import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.controller.ControllerService;
 
 /**
  * Provides Box client objects through which Box API calls can be used.
  */
 public interface BoxClientService extends ControllerService {
-    PropertyDescriptor BOX_CLIENT_SERVICE = new PropertyDescriptor.Builder()
-        .name("box-client-service")
-        .displayName("Box Client Service")
-        .description("Controller Service used to obtain a Box API connection.")
-        .identifiesControllerService(BoxClientService.class)
-        .required(true)
-        .build();
 
     BoxAPIConnection getBoxApiConnection();
 }
diff --git 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-services/src/main/java/org/apache/nifi/box/controllerservices/JsonConfigBasedBoxClientService.java
 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-services/src/main/java/org/apache/nifi/box/controllerservices/JsonConfigBasedBoxClientService.java
index 9cd3fa9328..aaeed267c4 100644
--- 
a/nifi-extension-bundles/nifi-box-bundle/nifi-box-services/src/main/java/org/apache/nifi/box/controllerservices/JsonConfigBasedBoxClientService.java
+++ 
b/nifi-extension-bundles/nifi-box-bundle/nifi-box-services/src/main/java/org/apache/nifi/box/controllerservices/JsonConfigBasedBoxClientService.java
@@ -44,6 +44,7 @@ import org.apache.nifi.controller.ConfigurationContext;
 import org.apache.nifi.controller.VerifiableControllerService;
 import org.apache.nifi.expression.ExpressionLanguageScope;
 import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.migration.PropertyConfiguration;
 import org.apache.nifi.processor.exception.ProcessException;
 import org.apache.nifi.processor.util.JsonValidator;
 import org.apache.nifi.processor.util.StandardValidators;
@@ -69,8 +70,7 @@ public class JsonConfigBasedBoxClientService extends 
AbstractControllerService i
         .build();
 
     public static final PropertyDescriptor ACCOUNT_ID = new 
PropertyDescriptor.Builder()
-        .name("box-account-id")
-        .displayName("Account ID")
+        .name("Account ID")
         .description("The ID of the Box account which the app will act on 
behalf of.")
         .required(true)
         .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
@@ -79,8 +79,7 @@ public class JsonConfigBasedBoxClientService extends 
AbstractControllerService i
         .build();
 
     public static final PropertyDescriptor APP_CONFIG_FILE = new 
PropertyDescriptor.Builder()
-        .name("app-config-file")
-        .displayName("App Config File")
+        .name("App Config File")
         .description("Full path of an App config JSON file. See Additional 
Details for more information.")
         .required(false)
         .identifiesExternalResource(ResourceCardinality.SINGLE, 
ResourceType.FILE)
@@ -88,8 +87,7 @@ public class JsonConfigBasedBoxClientService extends 
AbstractControllerService i
         .build();
 
     public static final PropertyDescriptor APP_CONFIG_JSON = new 
PropertyDescriptor.Builder()
-        .name("app-config-json")
-        .displayName("App Config JSON")
+        .name("App Config JSON")
         .description("The raw JSON containing an App config. See Additional 
Details for more information.")
         .required(false)
         .sensitive(true)
@@ -251,4 +249,11 @@ public class JsonConfigBasedBoxClientService extends 
AbstractControllerService i
 
         return api;
     }
+
+    @Override
+    public void migrateProperties(PropertyConfiguration config) {
+        config.renameProperty("box-account-id", ACCOUNT_ID.getName());
+        config.renameProperty("app-config-file", APP_CONFIG_FILE.getName());
+        config.renameProperty("app-config-json", APP_CONFIG_JSON.getName());
+    }
 }
diff --git 
a/nifi-extension-bundles/nifi-cdc/nifi-cdc-mysql-bundle/nifi-cdc-mysql-processors/src/main/java/org/apache/nifi/cdc/mysql/processors/CaptureChangeMySQL.java
 
b/nifi-extension-bundles/nifi-cdc/nifi-cdc-mysql-bundle/nifi-cdc-mysql-processors/src/main/java/org/apache/nifi/cdc/mysql/processors/CaptureChangeMySQL.java
index 302e06ca2f..ef06458a09 100644
--- 
a/nifi-extension-bundles/nifi-cdc/nifi-cdc-mysql-bundle/nifi-cdc-mysql-processors/src/main/java/org/apache/nifi/cdc/mysql/processors/CaptureChangeMySQL.java
+++ 
b/nifi-extension-bundles/nifi-cdc/nifi-cdc-mysql-bundle/nifi-cdc-mysql-processors/src/main/java/org/apache/nifi/cdc/mysql/processors/CaptureChangeMySQL.java
@@ -200,8 +200,7 @@ public class CaptureChangeMySQL extends 
AbstractSessionFactoryProcessor {
 
     // Properties
     public static final PropertyDescriptor DATABASE_NAME_PATTERN = new 
PropertyDescriptor.Builder()
-            .name("capture-change-mysql-db-name-pattern")
-            .displayName("Database/Schema Name Pattern")
+            .name("Database/Schema Name Pattern")
             .description("A regular expression (regex) for matching databases 
(or schemas, depending on your RDBMS' terminology) against the list of CDC 
events. The regex must match "
                     + "the database name as it is stored in the RDBMS. If the 
property is not set, the database name will not be used to filter the CDC 
events. "
                     + "NOTE: DDL events, even if they affect different 
databases, are associated with the database used by the session to execute the 
DDL. "
@@ -212,8 +211,7 @@ public class CaptureChangeMySQL extends 
AbstractSessionFactoryProcessor {
             .build();
 
     public static final PropertyDescriptor TABLE_NAME_PATTERN = new 
PropertyDescriptor.Builder()
-            .name("capture-change-mysql-name-pattern")
-            .displayName("Table Name Pattern")
+            .name("Table Name Pattern")
             .description("A regular expression (regex) for matching CDC events 
affecting matching tables. The regex must match the table name as it is stored 
in the database. "
                     + "If the property is not set, no events will be filtered 
based on table name.")
             .required(false)
@@ -221,8 +219,7 @@ public class CaptureChangeMySQL extends 
AbstractSessionFactoryProcessor {
             .build();
 
     public static final PropertyDescriptor CONNECT_TIMEOUT = new 
PropertyDescriptor.Builder()
-            .name("capture-change-mysql-max-wait-time")
-            .displayName("Max Wait Time")
+            .name("Max Wait Time")
             .description("The maximum amount of time allowed for a connection 
to be established, zero means there is effectively no limit.")
             .defaultValue("30 seconds")
             .required(true)
@@ -231,8 +228,7 @@ public class CaptureChangeMySQL extends 
AbstractSessionFactoryProcessor {
             .build();
 
     public static final PropertyDescriptor HOSTS = new 
PropertyDescriptor.Builder()
-            .name("capture-change-mysql-hosts")
-            .displayName("MySQL Nodes")
+            .name("MySQL Nodes")
             .description("A list of hostname (and optional port) entries 
corresponding to nodes in a MySQL cluster. The entries should be comma 
separated "
                     + "using a colon (if the port is to be specified) such as 
host1:port,host2:port,....  For example mysql.myhost.com:3306. The port need 
not be specified, "
                     + "when omitted the default MySQL port value of 3306 will 
be used. This processor will attempt to connect to "
@@ -244,8 +240,7 @@ public class CaptureChangeMySQL extends 
AbstractSessionFactoryProcessor {
             .build();
 
     public static final PropertyDescriptor DRIVER_NAME = new 
PropertyDescriptor.Builder()
-            .name("capture-change-mysql-driver-class")
-            .displayName("MySQL Driver Class Name")
+            .name("MySQL Driver Class Name")
             .description("The class name of the MySQL database driver class")
             .defaultValue("com.mysql.jdbc.Driver")
             .required(true)
@@ -254,8 +249,7 @@ public class CaptureChangeMySQL extends 
AbstractSessionFactoryProcessor {
             .build();
 
     public static final PropertyDescriptor DRIVER_LOCATION = new 
PropertyDescriptor.Builder()
-            .name("capture-change-mysql-driver-locations")
-            .displayName("MySQL Driver Location(s)")
+            .name("MySQL Driver Location(s)")
             .description("Comma-separated list of files/folders and/or URLs 
containing the MySQL driver JAR and its dependencies (if any). "
                     + "For example 
'/var/tmp/mysql-connector-java-5.1.38-bin.jar'")
             .required(false)
@@ -265,8 +259,7 @@ public class CaptureChangeMySQL extends 
AbstractSessionFactoryProcessor {
             .build();
 
     public static final PropertyDescriptor USERNAME = new 
PropertyDescriptor.Builder()
-            .name("capture-change-mysql-username")
-            .displayName("Username")
+            .name("Username")
             .description("Username to access the MySQL cluster")
             .required(false)
             .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
@@ -274,8 +267,7 @@ public class CaptureChangeMySQL extends 
AbstractSessionFactoryProcessor {
             .build();
 
     public static final PropertyDescriptor PASSWORD = new 
PropertyDescriptor.Builder()
-            .name("capture-change-mysql-password")
-            .displayName("Password")
+            .name("Password")
             .description("Password to access the MySQL cluster")
             .required(false)
             .sensitive(true)
@@ -284,8 +276,7 @@ public class CaptureChangeMySQL extends 
AbstractSessionFactoryProcessor {
             .build();
 
     public static final PropertyDescriptor EVENTS_PER_FLOWFILE_STRATEGY = new 
PropertyDescriptor.Builder()
-            .name("events-per-flowfile-strategy")
-            .displayName("Event Processing Strategy")
+            .name("Event Processing Strategy")
             .description("Specifies the strategy to use when writing events to 
FlowFile(s), such as '" + MAX_EVENTS_PER_FLOWFILE.getDisplayName() + "'")
             .required(true)
             .sensitive(false)
@@ -296,8 +287,7 @@ public class CaptureChangeMySQL extends 
AbstractSessionFactoryProcessor {
             .build();
 
     public static final PropertyDescriptor NUMBER_OF_EVENTS_PER_FLOWFILE = new 
PropertyDescriptor.Builder()
-            .name("number-of-events-per-flowfile")
-            .displayName("Events Per FlowFile")
+            .name("Events Per FlowFile")
             .description("Specifies how many events should be written to a 
single FlowFile. If the processor is stopped before the specified number of 
events has been written,"
                     + "the events will still be written as a FlowFile before 
stopping.")
             .required(true)
@@ -309,8 +299,7 @@ public class CaptureChangeMySQL extends 
AbstractSessionFactoryProcessor {
             .build();
 
     public static final PropertyDescriptor SERVER_ID = new 
PropertyDescriptor.Builder()
-            .name("capture-change-mysql-server-id")
-            .displayName("Server ID")
+            .name("Server ID")
             .description("The client connecting to the MySQL replication group 
is actually a simplified replica (server), and the Server ID value must be 
unique across the whole replication "
                     + "group (i.e. different from any other Server ID being 
used by any primary or replica). Thus, each instance of CaptureChangeMySQL must 
have a Server ID unique across "
                     + "the replication group. If the Server ID is not 
specified, it defaults to 65535.")
@@ -320,16 +309,14 @@ public class CaptureChangeMySQL extends 
AbstractSessionFactoryProcessor {
             .build();
 
     public static final PropertyDescriptor DIST_CACHE_CLIENT = new 
PropertyDescriptor.Builder()
-            .name("capture-change-mysql-dist-map-cache-client")
-            .displayName("Distributed Map Cache Client - unused")
+            .name("Distributed Map Cache Client - unused")
             .description("This is a legacy property that is no longer used to 
store table information, the processor will handle the table information 
(column names, types, etc.)")
             .identifiesControllerService(DistributedMapCacheClient.class)
             .required(false)
             .build();
 
     public static final PropertyDescriptor RETRIEVE_ALL_RECORDS = new 
PropertyDescriptor.Builder()
-            .name("capture-change-mysql-retrieve-all-records")
-            .displayName("Retrieve All Records")
+            .name("Retrieve All Records")
             .description("Specifies whether to get all available CDC events, 
regardless of the current binlog filename and/or position. If binlog filename 
and position values are present "
                     + "in the processor's State, this property's value is 
ignored. This allows for 4 different configurations: 1) If binlog data is 
available in processor State, that is used "
                     + "to determine the start location and the value of 
Retrieve All Records is ignored. 2) If no binlog data is in processor State, 
then Retrieve All Records set to true "
@@ -344,8 +331,7 @@ public class CaptureChangeMySQL extends 
AbstractSessionFactoryProcessor {
             .build();
 
     public static final PropertyDescriptor INCLUDE_BEGIN_COMMIT = new 
PropertyDescriptor.Builder()
-            .name("capture-change-mysql-include-begin-commit")
-            .displayName("Include Begin/Commit Events")
+            .name("Include Begin/Commit Events")
             .description("Specifies whether to emit events corresponding to a 
BEGIN or COMMIT event in the binary log. Set to true if the BEGIN/COMMIT events 
are necessary in the downstream flow, "
                     + "otherwise set to false, which suppresses generation of 
these events and can increase flow performance.")
             .required(true)
@@ -355,8 +341,7 @@ public class CaptureChangeMySQL extends 
AbstractSessionFactoryProcessor {
             .build();
 
     public static final PropertyDescriptor INCLUDE_DDL_EVENTS = new 
PropertyDescriptor.Builder()
-            .name("capture-change-mysql-include-ddl-events")
-            .displayName("Include DDL Events")
+            .name("Include DDL Events")
             .description("Specifies whether to emit events corresponding to 
Data Definition Language (DDL) events such as ALTER TABLE, TRUNCATE TABLE, e.g. 
in the binary log. Set to true "
                     + "if the DDL events are desired/necessary in the 
downstream flow, otherwise set to false, which suppresses generation of these 
events and can increase flow performance.")
             .required(true)
@@ -366,8 +351,7 @@ public class CaptureChangeMySQL extends 
AbstractSessionFactoryProcessor {
             .build();
 
     public static final PropertyDescriptor INIT_SEQUENCE_ID = new 
PropertyDescriptor.Builder()
-            .name("capture-change-mysql-init-seq-id")
-            .displayName("Initial Sequence ID")
+            .name("Initial Sequence ID")
             .description("Specifies an initial sequence identifier to use if 
this processor's State does not have a current "
                     + "sequence identifier. If a sequence identifier is 
present in the processor's State, this property is ignored. Sequence 
identifiers are "
                     + "monotonically increasing integers that record the order 
of flow files generated by the processor. They can be used with the 
EnforceOrder "
@@ -378,8 +362,7 @@ public class CaptureChangeMySQL extends 
AbstractSessionFactoryProcessor {
             .build();
 
     public static final PropertyDescriptor INIT_BINLOG_FILENAME = new 
PropertyDescriptor.Builder()
-            .name("capture-change-mysql-init-binlog-filename")
-            .displayName("Initial Binlog Filename")
+            .name("Initial Binlog Filename")
             .description("Specifies an initial binlog filename to use if this 
processor's State does not have a current binlog filename. If a filename is 
present "
                     + "in the processor's State or \"Use GTID\" property is 
set to false, this property is ignored. "
                     + "This can be used along with Initial Binlog Position to 
\"skip ahead\" if previous events are not desired. "
@@ -391,8 +374,7 @@ public class CaptureChangeMySQL extends 
AbstractSessionFactoryProcessor {
             .build();
 
     public static final PropertyDescriptor INIT_BINLOG_POSITION = new 
PropertyDescriptor.Builder()
-            .name("capture-change-mysql-init-binlog-position")
-            .displayName("Initial Binlog Position")
+            .name("Initial Binlog Position")
             .description("Specifies an initial offset into a binlog (specified 
by Initial Binlog Filename) to use if this processor's State does not have a 
current "
                     + "binlog filename. If a filename is present in the 
processor's State or \"Use GTID\" property is false, this property is ignored. "
                     + "This can be used along with Initial Binlog Filename to 
\"skip ahead\" if previous events are not desired. Note that NiFi Expression 
Language "
@@ -404,8 +386,7 @@ public class CaptureChangeMySQL extends 
AbstractSessionFactoryProcessor {
             .build();
 
     public static final PropertyDescriptor USE_BINLOG_GTID = new 
PropertyDescriptor.Builder()
-            .name("capture-change-mysql-use-gtid")
-            .displayName("Use Binlog GTID")
+            .name("Use Binlog GTID")
             .description("Specifies whether to use Global Transaction ID 
(GTID) for binlog tracking. If set to true, processor's state of binlog file 
name and position is ignored. "
                     + "The main benefit of using GTID is to have much reliable 
failover than using binlog filename/position.")
             .required(true)
@@ -415,8 +396,7 @@ public class CaptureChangeMySQL extends 
AbstractSessionFactoryProcessor {
             .build();
 
     public static final PropertyDescriptor INIT_BINLOG_GTID = new 
PropertyDescriptor.Builder()
-            .name("capture-change-mysql-init-gtid")
-            .displayName("Initial Binlog GTID")
+            .name("Initial Binlog GTID")
             .description("Specifies an initial GTID to use if this processor's 
State does not have a current GTID. "
                     + "If a GTID is present in the processor's State or \"Use 
GTID\" property is set to false, this property is ignored. "
                     + "This can be used to \"skip ahead\" if previous events 
are not desired. "
@@ -519,6 +499,26 @@ public class CaptureChangeMySQL extends 
AbstractSessionFactoryProcessor {
     @Override
     public void migrateProperties(PropertyConfiguration config) {
         config.removeProperty("capture-change-mysql-state-update-interval");
+        config.renameProperty("capture-change-mysql-db-name-pattern", 
DATABASE_NAME_PATTERN.getName());
+        config.renameProperty("capture-change-mysql-name-pattern", 
TABLE_NAME_PATTERN.getName());
+        config.renameProperty("capture-change-mysql-max-wait-time", 
CONNECT_TIMEOUT.getName());
+        config.renameProperty("capture-change-mysql-hosts", HOSTS.getName());
+        config.renameProperty("capture-change-mysql-driver-class", 
DRIVER_NAME.getName());
+        config.renameProperty("capture-change-mysql-driver-locations", 
DRIVER_LOCATION.getName());
+        config.renameProperty("capture-change-mysql-username", 
USERNAME.getName());
+        config.renameProperty("capture-change-mysql-password", 
PASSWORD.getName());
+        config.renameProperty("events-per-flowfile-strategy", 
EVENTS_PER_FLOWFILE_STRATEGY.getName());
+        config.renameProperty("number-of-events-per-flowfile", 
NUMBER_OF_EVENTS_PER_FLOWFILE.getName());
+        config.renameProperty("capture-change-mysql-server-id", 
SERVER_ID.getName());
+        config.renameProperty("capture-change-mysql-dist-map-cache-client", 
DIST_CACHE_CLIENT.getName());
+        config.renameProperty("capture-change-mysql-retrieve-all-records", 
RETRIEVE_ALL_RECORDS.getName());
+        config.renameProperty("capture-change-mysql-include-begin-commit", 
INCLUDE_BEGIN_COMMIT.getName());
+        config.renameProperty("capture-change-mysql-include-ddl-events", 
INCLUDE_DDL_EVENTS.getName());
+        config.renameProperty("capture-change-mysql-init-seq-id", 
INIT_SEQUENCE_ID.getName());
+        config.renameProperty("capture-change-mysql-init-binlog-filename", 
INIT_BINLOG_FILENAME.getName());
+        config.renameProperty("capture-change-mysql-init-binlog-position", 
INIT_BINLOG_POSITION.getName());
+        config.renameProperty("capture-change-mysql-use-gtid", 
USE_BINLOG_GTID.getName());
+        config.renameProperty("capture-change-mysql-init-gtid", 
INIT_BINLOG_GTID.getName());
     }
 
     @Override
diff --git 
a/nifi-extension-bundles/nifi-cipher-bundle/nifi-cipher-processors/src/main/java/org/apache/nifi/processors/cipher/VerifyContentMAC.java
 
b/nifi-extension-bundles/nifi-cipher-bundle/nifi-cipher-processors/src/main/java/org/apache/nifi/processors/cipher/VerifyContentMAC.java
index 3588804a71..cad06cd098 100644
--- 
a/nifi-extension-bundles/nifi-cipher-bundle/nifi-cipher-processors/src/main/java/org/apache/nifi/processors/cipher/VerifyContentMAC.java
+++ 
b/nifi-extension-bundles/nifi-cipher-bundle/nifi-cipher-processors/src/main/java/org/apache/nifi/processors/cipher/VerifyContentMAC.java
@@ -51,6 +51,7 @@ import org.apache.nifi.components.ValidationContext;
 import org.apache.nifi.components.ValidationResult;
 import org.apache.nifi.expression.ExpressionLanguageScope;
 import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.migration.PropertyConfiguration;
 import org.apache.nifi.processor.AbstractProcessor;
 import org.apache.nifi.processor.ProcessContext;
 import org.apache.nifi.processor.ProcessSession;
@@ -73,8 +74,7 @@ public class VerifyContentMAC extends AbstractProcessor {
     protected static final String HMAC_SHA512 = "HmacSHA512";
 
     protected static final PropertyDescriptor MAC_ALGORITHM = new 
PropertyDescriptor.Builder()
-            .name("mac-algorithm")
-            .displayName("Message Authentication Code Algorithm")
+            .name("Message Authentication Code Algorithm")
             .description("Hashed Message Authentication Code Function")
             .allowableValues(HMAC_SHA256, HMAC_SHA512)
             .required(true)
@@ -82,8 +82,7 @@ public class VerifyContentMAC extends AbstractProcessor {
             .build();
 
     protected static final PropertyDescriptor MAC_ENCODING = new 
PropertyDescriptor.Builder()
-            .name("message-authentication-code-encoding")
-            .displayName("Message Authentication Code Encoding")
+            .name("Message Authentication Code Encoding")
             .description("Encoding of the Message Authentication Code")
             .required(true)
             .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
@@ -92,8 +91,7 @@ public class VerifyContentMAC extends AbstractProcessor {
             .build();
 
     protected static final PropertyDescriptor MAC = new 
PropertyDescriptor.Builder()
-            .name("message-authentication-code")
-            .displayName("Message Authentication Code")
+            .name("Message Authentication Code")
             .description("The MAC to compare with the calculated value")
             .required(true)
             .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
@@ -101,8 +99,7 @@ public class VerifyContentMAC extends AbstractProcessor {
             .build();
 
     protected static final PropertyDescriptor SECRET_KEY_ENCODING = new 
PropertyDescriptor.Builder()
-            .name("secret-key-encoding")
-            .displayName("Secret Key Encoding")
+            .name("Secret Key Encoding")
             .description("Encoding of the Secret Key")
             .required(true)
             .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
@@ -111,8 +108,7 @@ public class VerifyContentMAC extends AbstractProcessor {
             .build();
 
     protected static final PropertyDescriptor SECRET_KEY = new 
PropertyDescriptor.Builder()
-            .name("secret-key")
-            .displayName("Secret Key")
+            .name("Secret Key")
             .description("Secret key to calculate the hash")
             .required(true)
             .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
@@ -196,6 +192,15 @@ public class VerifyContentMAC extends AbstractProcessor {
         }
     }
 
+    @Override
+    public void migrateProperties(PropertyConfiguration config) {
+        config.renameProperty("mac-algorithm", MAC_ALGORITHM.getName());
+        config.renameProperty("message-authentication-code-encoding", 
MAC_ENCODING.getName());
+        config.renameProperty("message-authentication-code", MAC.getName());
+        config.renameProperty("secret-key-encoding", 
SECRET_KEY_ENCODING.getName());
+        config.renameProperty("secret-key", SECRET_KEY.getName());
+    }
+
     @Override
     protected List<PropertyDescriptor> getSupportedPropertyDescriptors() {
         return PROPERTY_DESCRIPTORS;
diff --git 
a/nifi-extension-bundles/nifi-confluent-platform-bundle/nifi-confluent-schema-registry-service/src/main/java/org/apache/nifi/confluent/schemaregistry/ConfluentSchemaRegistry.java
 
b/nifi-extension-bundles/nifi-confluent-platform-bundle/nifi-confluent-schema-registry-service/src/main/java/org/apache/nifi/confluent/schemaregistry/ConfluentSchemaRegistry.java
index 372f655b17..dffd445b1f 100644
--- 
a/nifi-extension-bundles/nifi-confluent-platform-bundle/nifi-confluent-schema-registry-service/src/main/java/org/apache/nifi/confluent/schemaregistry/ConfluentSchemaRegistry.java
+++ 
b/nifi-extension-bundles/nifi-confluent-platform-bundle/nifi-confluent-schema-registry-service/src/main/java/org/apache/nifi/confluent/schemaregistry/ConfluentSchemaRegistry.java
@@ -50,6 +50,7 @@ import org.apache.nifi.context.PropertyContext;
 import org.apache.nifi.controller.AbstractControllerService;
 import org.apache.nifi.controller.ConfigurationContext;
 import org.apache.nifi.expression.ExpressionLanguageScope;
+import org.apache.nifi.migration.PropertyConfiguration;
 import org.apache.nifi.processor.util.StandardValidators;
 import org.apache.nifi.schema.access.SchemaField;
 import org.apache.nifi.schema.access.SchemaNotFoundException;
@@ -74,8 +75,7 @@ public class ConfluentSchemaRegistry extends 
AbstractControllerService implement
 
 
     static final PropertyDescriptor SCHEMA_REGISTRY_URLS = new 
PropertyDescriptor.Builder()
-        .name("url")
-        .displayName("Schema Registry URLs")
+        .name("Schema Registry URLs")
         .description("A comma-separated list of URLs of the Schema Registry to 
interact with")
         .expressionLanguageSupported(ExpressionLanguageScope.ENVIRONMENT)
         .defaultValue("http://localhost:8081";)
@@ -84,16 +84,14 @@ public class ConfluentSchemaRegistry extends 
AbstractControllerService implement
         .build();
 
     static final PropertyDescriptor SSL_CONTEXT = new 
PropertyDescriptor.Builder()
-        .name("ssl-context")
-        .displayName("SSL Context Service")
+        .name("SSL Context Service")
         .description("Specifies the SSL Context Service to use for interacting 
with the Confluent Schema Registry")
         .identifiesControllerService(SSLContextProvider.class)
         .required(false)
         .build();
 
     static final PropertyDescriptor CACHE_SIZE = new 
PropertyDescriptor.Builder()
-        .name("cache-size")
-        .displayName("Cache Size")
+        .name("Cache Size")
         .description("Specifies how many Schemas should be cached from the 
Schema Registry")
         .addValidator(StandardValidators.NON_NEGATIVE_INTEGER_VALIDATOR)
         .defaultValue("1000")
@@ -101,8 +99,7 @@ public class ConfluentSchemaRegistry extends 
AbstractControllerService implement
         .build();
 
     static final PropertyDescriptor CACHE_EXPIRATION = new 
PropertyDescriptor.Builder()
-        .name("cache-expiration")
-        .displayName("Cache Expiration")
+        .name("Cache Expiration")
         .description("Specifies how long a Schema that is cached should remain 
in the cache. Once this time period elapses, a "
             + "cached version of a schema will no longer be used, and the 
service will have to communicate with the "
             + "Schema Registry again in order to obtain the schema.")
@@ -112,8 +109,7 @@ public class ConfluentSchemaRegistry extends 
AbstractControllerService implement
         .build();
 
     static final PropertyDescriptor TIMEOUT = new PropertyDescriptor.Builder()
-        .name("timeout")
-        .displayName("Communications Timeout")
+        .name("Communications Timeout")
         .description("Specifies how long to wait to receive data from the 
Schema Registry before considering the communications a failure")
         .addValidator(StandardValidators.TIME_PERIOD_VALIDATOR)
         .expressionLanguageSupported(ExpressionLanguageScope.NONE)
@@ -122,8 +118,7 @@ public class ConfluentSchemaRegistry extends 
AbstractControllerService implement
         .build();
 
     static final PropertyDescriptor AUTHENTICATION_TYPE = new 
PropertyDescriptor.Builder()
-            .name("authentication-type")
-            .displayName("Authentication Type")
+            .name("Authentication Type")
             .description("HTTP Client Authentication Type for Confluent Schema 
Registry")
             .required(false)
             .allowableValues(AuthenticationType.values())
@@ -131,8 +126,7 @@ public class ConfluentSchemaRegistry extends 
AbstractControllerService implement
             .build();
 
     static final PropertyDescriptor USERNAME = new PropertyDescriptor.Builder()
-            .name("username")
-            .displayName("Username")
+            .name("Username")
             .description("Username for authentication to Confluent Schema 
Registry")
             
.addValidator(StandardValidators.createRegexMatchingValidator(Pattern.compile("^[\\x20-\\x39\\x3b-\\x7e\\x80-\\xff]+$")))
             .required(false)
@@ -140,8 +134,7 @@ public class ConfluentSchemaRegistry extends 
AbstractControllerService implement
             .build();
 
     static final PropertyDescriptor PASSWORD = new PropertyDescriptor.Builder()
-            .name("password")
-            .displayName("Password")
+            .name("Password")
             .description("Password for authentication to Confluent Schema 
Registry")
             
.addValidator(StandardValidators.createRegexMatchingValidator(Pattern.compile("^[\\x20-\\x7e\\x80-\\xff]+$")))
             .required(false)
@@ -326,4 +319,16 @@ public class ConfluentSchemaRegistry extends 
AbstractControllerService implement
     public SchemaDefinition retrieveSchemaDefinition(final SchemaIdentifier 
schemaIdentifier) throws IOException, SchemaNotFoundException {
         return client.getSchemaDefinition(schemaIdentifier);
     }
+
+    @Override
+    public void migrateProperties(PropertyConfiguration config) {
+        config.renameProperty("url", SCHEMA_REGISTRY_URLS.getName());
+        config.renameProperty("ssl-context", SSL_CONTEXT.getName());
+        config.renameProperty("cache-size", CACHE_SIZE.getName());
+        config.renameProperty("cache-expiration", CACHE_EXPIRATION.getName());
+        config.renameProperty("timeout", TIMEOUT.getName());
+        config.renameProperty("authentication-type", 
AUTHENTICATION_TYPE.getName());
+        config.renameProperty("username", USERNAME.getName());
+        config.renameProperty("password", PASSWORD.getName());
+    }
 }
diff --git 
a/nifi-extension-bundles/nifi-dropbox-bundle/nifi-dropbox-processors/src/main/java/org/apache/nifi/processors/dropbox/DropboxTrait.java
 
b/nifi-extension-bundles/nifi-dropbox-bundle/nifi-dropbox-processors/src/main/java/org/apache/nifi/processors/dropbox/DropboxTrait.java
index 32d779c3bf..5ec1c2340c 100644
--- 
a/nifi-extension-bundles/nifi-dropbox-bundle/nifi-dropbox-processors/src/main/java/org/apache/nifi/processors/dropbox/DropboxTrait.java
+++ 
b/nifi-extension-bundles/nifi-dropbox-bundle/nifi-dropbox-processors/src/main/java/org/apache/nifi/processors/dropbox/DropboxTrait.java
@@ -39,10 +39,10 @@ import org.apache.nifi.proxy.ProxyConfiguration;
 public interface DropboxTrait {
 
     String DROPBOX_HOME_URL = "https://www.dropbox.com/home";;
+    String OLD_CREDENTIAL_SERVICE_PROPERTY_NAME = "dropbox-credential-service";
 
     PropertyDescriptor CREDENTIAL_SERVICE = new PropertyDescriptor.Builder()
-            .name("dropbox-credential-service")
-            .displayName("Dropbox Credential Service")
+            .name("Dropbox Credential Service")
             .description("Controller Service used to obtain Dropbox 
credentials (App Key, App Secret, Access Token, Refresh Token)." +
                     " See controller service's Additional Details for more 
information.")
             .identifiesControllerService(DropboxCredentialService.class)
diff --git 
a/nifi-extension-bundles/nifi-dropbox-bundle/nifi-dropbox-processors/src/main/java/org/apache/nifi/processors/dropbox/FetchDropbox.java
 
b/nifi-extension-bundles/nifi-dropbox-bundle/nifi-dropbox-processors/src/main/java/org/apache/nifi/processors/dropbox/FetchDropbox.java
index 1ceb7d50bc..a066eaca6c 100644
--- 
a/nifi-extension-bundles/nifi-dropbox-bundle/nifi-dropbox-processors/src/main/java/org/apache/nifi/processors/dropbox/FetchDropbox.java
+++ 
b/nifi-extension-bundles/nifi-dropbox-bundle/nifi-dropbox-processors/src/main/java/org/apache/nifi/processors/dropbox/FetchDropbox.java
@@ -51,6 +51,7 @@ import org.apache.nifi.annotation.lifecycle.OnScheduled;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.expression.ExpressionLanguageScope;
 import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.migration.PropertyConfiguration;
 import org.apache.nifi.processor.AbstractProcessor;
 import org.apache.nifi.processor.ProcessContext;
 import org.apache.nifi.processor.ProcessSession;
@@ -75,9 +76,8 @@ import org.apache.nifi.proxy.ProxySpec;
 )
 public class FetchDropbox extends AbstractProcessor implements DropboxTrait {
 
-    public static final PropertyDescriptor FILE = new PropertyDescriptor
-            .Builder().name("file")
-            .displayName("File")
+    public static final PropertyDescriptor FILE = new 
PropertyDescriptor.Builder()
+            .name("File")
             .description("The Dropbox identifier or path of the Dropbox file 
to fetch." +
                     " The 'File' should match the following regular expression 
pattern: /.*|id:.* ." +
                     " When ListDropbox is used for input, either 
'${dropbox.id}' (identifying files by Dropbox id)" +
@@ -155,6 +155,12 @@ public class FetchDropbox extends AbstractProcessor 
implements DropboxTrait {
         }
     }
 
+    @Override
+    public void migrateProperties(PropertyConfiguration config) {
+        config.renameProperty(OLD_CREDENTIAL_SERVICE_PROPERTY_NAME, 
CREDENTIAL_SERVICE.getName());
+        config.renameProperty("file", FILE.getName());
+    }
+
     private FileMetadata fetchFile(String fileId, ProcessSession session, 
FlowFile outFlowFile) throws DbxException {
         try (DbxDownloader<FileMetadata> downloader = 
dropboxApiClient.files().download(fileId)) {
             final InputStream dropboxInputStream = downloader.getInputStream();
diff --git 
a/nifi-extension-bundles/nifi-dropbox-bundle/nifi-dropbox-processors/src/main/java/org/apache/nifi/processors/dropbox/ListDropbox.java
 
b/nifi-extension-bundles/nifi-dropbox-bundle/nifi-dropbox-processors/src/main/java/org/apache/nifi/processors/dropbox/ListDropbox.java
index ee40921f3a..2f9ddee37f 100644
--- 
a/nifi-extension-bundles/nifi-dropbox-bundle/nifi-dropbox-processors/src/main/java/org/apache/nifi/processors/dropbox/ListDropbox.java
+++ 
b/nifi-extension-bundles/nifi-dropbox-bundle/nifi-dropbox-processors/src/main/java/org/apache/nifi/processors/dropbox/ListDropbox.java
@@ -61,6 +61,7 @@ import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.components.state.Scope;
 import org.apache.nifi.context.PropertyContext;
 import org.apache.nifi.expression.ExpressionLanguageScope;
+import org.apache.nifi.migration.PropertyConfiguration;
 import org.apache.nifi.processor.ProcessContext;
 import org.apache.nifi.processor.util.StandardValidators;
 import org.apache.nifi.processor.util.list.AbstractListProcessor;
@@ -93,8 +94,7 @@ import org.apache.nifi.serialization.record.RecordSchema;
 public class ListDropbox extends AbstractListProcessor<DropboxFileInfo> 
implements DropboxTrait {
 
     public static final PropertyDescriptor FOLDER = new 
PropertyDescriptor.Builder()
-            .name("folder")
-            .displayName("Folder")
+            .name("Folder")
             .description("The Dropbox identifier or path of the folder from 
which to pull list of files." +
                     " 'Folder' should match the following regular expression 
pattern: /.*|id:.* ." +
                     " Example for folder identifier: 
id:odTlUvbpIEAAAAAAAAAGGQ." +
@@ -106,8 +106,7 @@ public class ListDropbox extends 
AbstractListProcessor<DropboxFileInfo> implemen
             .build();
 
     public static final PropertyDescriptor RECURSIVE_SEARCH = new 
PropertyDescriptor.Builder()
-            .name("recursive-search")
-            .displayName("Search Recursively")
+            .name("Search Recursively")
             .description("Indicates whether to list files from subfolders of 
the Dropbox folder.")
             .required(true)
             .defaultValue("true")
@@ -115,8 +114,7 @@ public class ListDropbox extends 
AbstractListProcessor<DropboxFileInfo> implemen
             .build();
 
     public static final PropertyDescriptor MIN_AGE = new 
PropertyDescriptor.Builder()
-            .name("min-age")
-            .displayName("Minimum File Age")
+            .name("Minimum File Age")
             .description("The minimum age a file must be in order to be 
considered; any files newer than this will be ignored.")
             .required(true)
             .addValidator(StandardValidators.TIME_PERIOD_VALIDATOR)
@@ -163,6 +161,15 @@ public class ListDropbox extends 
AbstractListProcessor<DropboxFileInfo> implemen
         dropboxApiClient = getDropboxApiClient(context, getIdentifier());
     }
 
+    @Override
+    public void migrateProperties(PropertyConfiguration config) {
+        super.migrateProperties(config);
+        config.renameProperty(OLD_CREDENTIAL_SERVICE_PROPERTY_NAME, 
CREDENTIAL_SERVICE.getName());
+        config.renameProperty("folder", FOLDER.getName());
+        config.renameProperty("recursive-search", RECURSIVE_SEARCH.getName());
+        config.renameProperty("min-age", MIN_AGE.getName());
+    }
+
     @Override
     protected List<PropertyDescriptor> getSupportedPropertyDescriptors() {
         return PROPERTY_DESCRIPTORS;
diff --git 
a/nifi-extension-bundles/nifi-dropbox-bundle/nifi-dropbox-processors/src/main/java/org/apache/nifi/processors/dropbox/PutDropbox.java
 
b/nifi-extension-bundles/nifi-dropbox-bundle/nifi-dropbox-processors/src/main/java/org/apache/nifi/processors/dropbox/PutDropbox.java
index fb47b9aa4d..8741a08e58 100644
--- 
a/nifi-extension-bundles/nifi-dropbox-bundle/nifi-dropbox-processors/src/main/java/org/apache/nifi/processors/dropbox/PutDropbox.java
+++ 
b/nifi-extension-bundles/nifi-dropbox-bundle/nifi-dropbox-processors/src/main/java/org/apache/nifi/processors/dropbox/PutDropbox.java
@@ -58,6 +58,8 @@ import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
 import java.util.regex.Pattern;
+
+import org.apache.nifi.migration.PropertyConfiguration;
 import 
org.apache.nifi.processors.conflict.resolution.ConflictResolutionStrategy;
 import org.apache.nifi.annotation.behavior.InputRequirement;
 import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
@@ -112,8 +114,7 @@ public class PutDropbox extends AbstractProcessor 
implements DropboxTrait {
             .build();
 
     public static final PropertyDescriptor FOLDER = new 
PropertyDescriptor.Builder()
-            .name("folder")
-            .displayName("Folder")
+            .name("Folder")
             .description("The path of the Dropbox folder to upload files to. "
                     + "The folder will be created if it does not exist yet.")
             
.expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES)
@@ -123,8 +124,7 @@ public class PutDropbox extends AbstractProcessor 
implements DropboxTrait {
             .build();
 
     public static final PropertyDescriptor FILE_NAME = new 
PropertyDescriptor.Builder()
-            .name("file-name")
-            .displayName("Filename")
+            .name("Filename")
             .description("The full name of the file to upload.")
             
.expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES)
             .defaultValue("${filename}")
@@ -133,8 +133,7 @@ public class PutDropbox extends AbstractProcessor 
implements DropboxTrait {
             .build();
 
     public static final PropertyDescriptor CONFLICT_RESOLUTION = new 
PropertyDescriptor.Builder()
-            .name("conflict-resolution-strategy")
-            .displayName("Conflict Resolution Strategy")
+            .name("Conflict Resolution Strategy")
             .description("Indicates what should happen when a file with the 
same name already exists in the specified Dropbox folder.")
             .required(true)
             .defaultValue(FAIL.getValue())
@@ -142,8 +141,7 @@ public class PutDropbox extends AbstractProcessor 
implements DropboxTrait {
             .build();
 
     public static final PropertyDescriptor CHUNKED_UPLOAD_SIZE = new 
PropertyDescriptor.Builder()
-            .name("chunked-upload-size")
-            .displayName("Chunked Upload Size")
+            .name("Chunked Upload Size")
             .description("Defines the size of a chunk. Used when a FlowFile's 
size exceeds 'Chunked Upload Threshold' and content is uploaded in smaller 
chunks. "
                     + "It is recommended to specify chunked upload size 
smaller than 'Chunked Upload Threshold' and as multiples of 4 MB. "
                     + "Maximum allowed value is 150 MB.")
@@ -153,8 +151,7 @@ public class PutDropbox extends AbstractProcessor 
implements DropboxTrait {
             .build();
 
     public static final PropertyDescriptor CHUNKED_UPLOAD_THRESHOLD = new 
PropertyDescriptor.Builder()
-            .name("chunked-upload-threshold")
-            .displayName("Chunked Upload Threshold")
+            .name("Chunked Upload Threshold")
             .description("The maximum size of the content which is uploaded at 
once. FlowFiles larger than this threshold are uploaded in chunks. "
                     + "Maximum allowed value is 150 MB.")
             .defaultValue("150 MB")
@@ -253,6 +250,16 @@ public class PutDropbox extends AbstractProcessor 
implements DropboxTrait {
         }
     }
 
+    @Override
+    public void migrateProperties(PropertyConfiguration config) {
+        config.renameProperty(OLD_CREDENTIAL_SERVICE_PROPERTY_NAME, 
CREDENTIAL_SERVICE.getName());
+        config.renameProperty("folder", FOLDER.getName());
+        config.renameProperty("file-name", FILE_NAME.getName());
+        config.renameProperty("conflict-resolution-strategy", 
CONFLICT_RESOLUTION.getName());
+        config.renameProperty("chunked-upload-size", 
CHUNKED_UPLOAD_SIZE.getName());
+        config.renameProperty("chunked-upload-threshold", 
CHUNKED_UPLOAD_THRESHOLD.getName());
+    }
+
     private void handleUploadError(final ConflictResolutionStrategy 
conflictResolution, final String uploadPath, final UploadErrorException e)  {
         if (e.errorValue.isPath() && 
e.errorValue.getPathValue().getReason().isConflict()) {
             handleConflict(conflictResolution, uploadPath, e);
diff --git 
a/nifi-extension-bundles/nifi-dropbox-bundle/nifi-dropbox-services/src/main/java/org/apache/nifi/services/dropbox/StandardDropboxCredentialService.java
 
b/nifi-extension-bundles/nifi-dropbox-bundle/nifi-dropbox-services/src/main/java/org/apache/nifi/services/dropbox/StandardDropboxCredentialService.java
index c8d25e3bfa..9941f23d89 100644
--- 
a/nifi-extension-bundles/nifi-dropbox-bundle/nifi-dropbox-services/src/main/java/org/apache/nifi/services/dropbox/StandardDropboxCredentialService.java
+++ 
b/nifi-extension-bundles/nifi-dropbox-bundle/nifi-dropbox-services/src/main/java/org/apache/nifi/services/dropbox/StandardDropboxCredentialService.java
@@ -26,6 +26,7 @@ import org.apache.nifi.controller.ConfigurationContext;
 import org.apache.nifi.dropbox.credentials.service.DropboxCredentialDetails;
 import org.apache.nifi.dropbox.credentials.service.DropboxCredentialService;
 import org.apache.nifi.expression.ExpressionLanguageScope;
+import org.apache.nifi.migration.PropertyConfiguration;
 import org.apache.nifi.processor.util.StandardValidators;
 
 @CapabilityDescription("Defines credentials for Dropbox processors.")
@@ -33,8 +34,7 @@ import org.apache.nifi.processor.util.StandardValidators;
 public class StandardDropboxCredentialService extends 
AbstractControllerService implements DropboxCredentialService {
 
     public static final PropertyDescriptor APP_KEY = new 
PropertyDescriptor.Builder()
-            .name("app-key")
-            .displayName("App Key")
+            .name("App Key")
             .description("App Key of the user's Dropbox app." +
                     " See Additional Details for more information.")
             .expressionLanguageSupported(ExpressionLanguageScope.ENVIRONMENT)
@@ -43,8 +43,7 @@ public class StandardDropboxCredentialService extends 
AbstractControllerService
             .build();
 
     public static final PropertyDescriptor APP_SECRET = new 
PropertyDescriptor.Builder()
-            .name("app-secret")
-            .displayName("App Secret")
+            .name("App Secret")
             .description("App Secret of the user's Dropbox app." +
                     " See Additional Details for more information.")
             .expressionLanguageSupported(ExpressionLanguageScope.ENVIRONMENT)
@@ -54,8 +53,7 @@ public class StandardDropboxCredentialService extends 
AbstractControllerService
             .build();
 
     public static final PropertyDescriptor ACCESS_TOKEN = new 
PropertyDescriptor.Builder()
-            .name("access-token")
-            .displayName("Access Token")
+            .name("Access Token")
             .description("Access Token of the user's Dropbox app." +
                     " See Additional Details for more information about Access 
Token generation.")
             .expressionLanguageSupported(ExpressionLanguageScope.ENVIRONMENT)
@@ -65,8 +63,7 @@ public class StandardDropboxCredentialService extends 
AbstractControllerService
             .build();
 
     public static final PropertyDescriptor REFRESH_TOKEN = new 
PropertyDescriptor.Builder()
-            .name("refresh-token")
-            .displayName("Refresh Token")
+            .name("Refresh Token")
             .description("Refresh Token of the user's Dropbox app." +
                     " See Additional Details for more information about 
Refresh Token generation.")
             .expressionLanguageSupported(ExpressionLanguageScope.ENVIRONMENT)
@@ -103,4 +100,12 @@ public class StandardDropboxCredentialService extends 
AbstractControllerService
     public DropboxCredentialDetails getDropboxCredential() {
         return credential;
     }
+
+    @Override
+    public void migrateProperties(PropertyConfiguration config) {
+        config.renameProperty("app-key", APP_KEY.getName());
+        config.renameProperty("app-secret", APP_SECRET.getName());
+        config.renameProperty("access-token", ACCESS_TOKEN.getName());
+        config.renameProperty("refresh-token", REFRESH_TOKEN.getName());
+    }
 }

Reply via email to