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 08c021decd NIFI-15107 Standardized property names in Parquet, PGP,
Redis, and Registry bundles (#10458)
08c021decd is described below
commit 08c021decde8bd2d59cf1925a757bfd415f5295e
Author: dan-s1 <[email protected]>
AuthorDate: Thu Oct 23 14:04:51 2025 -0400
NIFI-15107 Standardized property names in Parquet, PGP, Redis, and Registry
bundles (#10458)
Signed-off-by: David Handermann <[email protected]>
---
.../org/apache/nifi/parquet/ParquetReader.java | 10 ++++++
.../nifi/parquet/ParquetRecordSetWriter.java | 23 +++++++++---
.../apache/nifi/parquet/utils/ParquetUtils.java | 42 +++++++++++-----------
.../processors/parquet/ConvertAvroToParquet.java | 13 +++++++
.../apache/nifi/processors/parquet/PutParquet.java | 18 ++++++++--
.../nifi/processors/pgp/DecryptContentPGP.java | 17 +++++----
.../nifi/processors/pgp/EncryptContentPGP.java | 25 +++++++------
.../apache/nifi/processors/pgp/SignContentPGP.java | 25 +++++++------
.../nifi/processors/pgp/VerifyContentPGP.java | 9 +++--
.../standard/StandardPGPPrivateKeyService.java | 17 +++++----
.../standard/StandardPGPPublicKeyService.java | 12 ++++---
.../nifi/redis/processor/PutRedisHashRecord.java | 23 +++++++-----
...impleRedisDistributedMapCacheClientService.java | 9 +++++
.../nifi/redis/service/FakeRedisProcessor.java | 3 +-
.../org/apache/nifi/redis/util/RedisUtils.java | 8 ++---
.../services/AvroSchemaRegistry.java | 9 +++--
16 files changed, 182 insertions(+), 81 deletions(-)
diff --git
a/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/parquet/ParquetReader.java
b/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/parquet/ParquetReader.java
index fb482dff02..90366f2dc0 100644
---
a/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/parquet/ParquetReader.java
+++
b/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/parquet/ParquetReader.java
@@ -18,6 +18,9 @@ package org.apache.nifi.parquet;
import static
org.apache.nifi.parquet.utils.ParquetUtils.AVRO_ADD_LIST_ELEMENT_RECORDS;
import static
org.apache.nifi.parquet.utils.ParquetUtils.AVRO_READ_COMPATIBILITY;
+import static
org.apache.nifi.parquet.utils.ParquetUtils.OLD_AVRO_ADD_LIST_ELEMENT_RECORDS_PROPERTY_NAME;
+import static
org.apache.nifi.parquet.utils.ParquetUtils.OLD_AVRO_READ_COMPATIBILITY_PROPERTY_NAME;
+
import static org.apache.nifi.parquet.utils.ParquetUtils.applyCommonConfig;
import static org.apache.nifi.parquet.utils.ParquetUtils.createParquetConfig;
@@ -31,6 +34,7 @@ import org.apache.nifi.annotation.documentation.Tags;
import org.apache.nifi.components.PropertyDescriptor;
import org.apache.nifi.controller.AbstractControllerService;
import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.migration.PropertyConfiguration;
import org.apache.nifi.parquet.record.ParquetRecordReader;
import org.apache.nifi.parquet.utils.ParquetConfig;
import org.apache.nifi.serialization.RecordReader;
@@ -54,6 +58,12 @@ public class ParquetReader extends AbstractControllerService
implements RecordRe
return new ParquetRecordReader(in, inputLength, conf, variables);
}
+ @Override
+ public void migrateProperties(PropertyConfiguration config) {
+ config.renameProperty(OLD_AVRO_ADD_LIST_ELEMENT_RECORDS_PROPERTY_NAME,
AVRO_ADD_LIST_ELEMENT_RECORDS.getName());
+ config.renameProperty(OLD_AVRO_READ_COMPATIBILITY_PROPERTY_NAME,
AVRO_READ_COMPATIBILITY.getName());
+ }
+
@Override
protected List<PropertyDescriptor> getSupportedPropertyDescriptors() {
return PROPERTY_DESCRIPTORS;
diff --git
a/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/parquet/ParquetRecordSetWriter.java
b/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/parquet/ParquetRecordSetWriter.java
index 25b3813b19..f2d890d6c6 100644
---
a/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/parquet/ParquetRecordSetWriter.java
+++
b/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/parquet/ParquetRecordSetWriter.java
@@ -39,6 +39,7 @@ import org.apache.nifi.avro.AvroTypeUtil;
import org.apache.nifi.components.PropertyDescriptor;
import org.apache.nifi.controller.ConfigurationContext;
import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.migration.PropertyConfiguration;
import org.apache.nifi.parquet.record.WriteParquetResult;
import org.apache.nifi.parquet.utils.ParquetAttribute;
import org.apache.nifi.parquet.utils.ParquetConfig;
@@ -56,8 +57,7 @@ import org.apache.nifi.serialization.record.RecordSchema;
public class ParquetRecordSetWriter extends SchemaRegistryRecordSetWriter
implements RecordSetWriterFactory {
public 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")
.addValidator(StandardValidators.NON_NEGATIVE_INTEGER_VALIDATOR)
.defaultValue("1000")
@@ -65,8 +65,7 @@ public class ParquetRecordSetWriter extends
SchemaRegistryRecordSetWriter implem
.build();
public static final PropertyDescriptor INT96_FIELDS = new
PropertyDescriptor.Builder()
- .name("int96-fields")
- .displayName("INT96 Fields")
+ .name("INT96 Fields")
.description("List of fields with full path that should be treated
as INT96 timestamps.")
.addValidator(StandardValidators.NON_BLANK_VALIDATOR)
.required(false)
@@ -131,6 +130,22 @@ public class ParquetRecordSetWriter extends
SchemaRegistryRecordSetWriter implem
}
}
+ @Override
+ public void migrateProperties(PropertyConfiguration config) {
+ super.migrateProperties(config);
+ config.renameProperty("cache-size", CACHE_SIZE.getName());
+ config.renameProperty("int96-fields", INT96_FIELDS.getName());
+ config.renameProperty(ParquetUtils.OLD_ROW_GROUP_SIZE_PROPERTY_NAME,
ParquetUtils.ROW_GROUP_SIZE.getName());
+ config.renameProperty(ParquetUtils.OLD_PAGE_SIZE_PROPERTY_NAME,
ParquetUtils.PAGE_SIZE.getName());
+
config.renameProperty(ParquetUtils.OLD_DICTIONARY_PAGE_SIZE_PROPERTY_NAME,
ParquetUtils.DICTIONARY_PAGE_SIZE.getName());
+ config.renameProperty(ParquetUtils.OLD_MAX_PADDING_SIZE_PROPERTY_NAME,
ParquetUtils.MAX_PADDING_SIZE.getName());
+
config.renameProperty(ParquetUtils.OLD_ENABLE_DICTIONARY_ENCODING_PROPERTY_NAME,
ParquetUtils.ENABLE_DICTIONARY_ENCODING.getName());
+
config.renameProperty(ParquetUtils.OLD_ENABLE_VALIDATION_PROPERTY_NAME,
ParquetUtils.ENABLE_VALIDATION.getName());
+ config.renameProperty(ParquetUtils.OLD_WRITER_VERSION_PROPERTY_NAME,
ParquetUtils.WRITER_VERSION.getName());
+
config.renameProperty(ParquetUtils.OLD_AVRO_ADD_LIST_ELEMENT_RECORDS_PROPERTY_NAME,
ParquetUtils.AVRO_ADD_LIST_ELEMENT_RECORDS.getName());
+
config.renameProperty(ParquetUtils.OLD_AVRO_WRITE_OLD_LIST_STRUCTURE_PROPERTY_NAME,
ParquetUtils.AVRO_WRITE_OLD_LIST_STRUCTURE.getName());
+ }
+
@Override
protected List<PropertyDescriptor> getSupportedPropertyDescriptors() {
final List<PropertyDescriptor> properties = new
ArrayList<>(super.getSupportedPropertyDescriptors());
diff --git
a/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/parquet/utils/ParquetUtils.java
b/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/parquet/utils/ParquetUtils.java
index dbce85d8f9..6ed2baf5c5 100644
---
a/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/parquet/utils/ParquetUtils.java
+++
b/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/parquet/utils/ParquetUtils.java
@@ -41,9 +41,19 @@ import
org.apache.parquet.hadoop.metadata.CompressionCodecName;
public class ParquetUtils {
+ public static final String OLD_ROW_GROUP_SIZE_PROPERTY_NAME =
"row-group-size";
+ public static final String OLD_PAGE_SIZE_PROPERTY_NAME = "page-size";
+ public static final String OLD_DICTIONARY_PAGE_SIZE_PROPERTY_NAME =
"dictionary-page-size";
+ public static final String OLD_MAX_PADDING_SIZE_PROPERTY_NAME =
"max-padding-size";
+ public static final String OLD_ENABLE_DICTIONARY_ENCODING_PROPERTY_NAME =
"enable-dictionary-encoding";
+ public static final String OLD_ENABLE_VALIDATION_PROPERTY_NAME =
"enable-validation";
+ public static final String OLD_WRITER_VERSION_PROPERTY_NAME =
"writer-version";
+ public static final String OLD_AVRO_READ_COMPATIBILITY_PROPERTY_NAME =
"avro-read-compatibility";
+ public static final String OLD_AVRO_ADD_LIST_ELEMENT_RECORDS_PROPERTY_NAME
= "avro-add-list-element-records";
+ public static final String OLD_AVRO_WRITE_OLD_LIST_STRUCTURE_PROPERTY_NAME
= "avro-write-old-list-structure";
+
public static final PropertyDescriptor ROW_GROUP_SIZE = new
PropertyDescriptor.Builder()
- .name("row-group-size")
- .displayName("Row Group Size")
+ .name("Row Group Size")
.description("The row group size used by the Parquet writer. " +
"The value is specified in the format of <Data Size> <Data
Unit> where Data Unit is one of B, KB, MB, GB, TB.")
.addValidator(StandardValidators.DATA_SIZE_VALIDATOR)
@@ -51,8 +61,7 @@ public class ParquetUtils {
.build();
public static final PropertyDescriptor PAGE_SIZE = new
PropertyDescriptor.Builder()
- .name("page-size")
- .displayName("Page Size")
+ .name("Page Size")
.description("The page size used by the Parquet writer. " +
"The value is specified in the format of <Data Size> <Data
Unit> where Data Unit is one of B, KB, MB, GB, TB.")
.addValidator(StandardValidators.DATA_SIZE_VALIDATOR)
@@ -60,8 +69,7 @@ public class ParquetUtils {
.build();
public static final PropertyDescriptor DICTIONARY_PAGE_SIZE = new
PropertyDescriptor.Builder()
- .name("dictionary-page-size")
- .displayName("Dictionary Page Size")
+ .name("Dictionary Page Size")
.description("The dictionary page size used by the Parquet writer.
" +
"The value is specified in the format of <Data Size> <Data
Unit> where Data Unit is one of B, KB, MB, GB, TB.")
.addValidator(StandardValidators.DATA_SIZE_VALIDATOR)
@@ -69,8 +77,7 @@ public class ParquetUtils {
.build();
public static final PropertyDescriptor MAX_PADDING_SIZE = new
PropertyDescriptor.Builder()
- .name("max-padding-size")
- .displayName("Max Padding Size")
+ .name("Max Padding Size")
.description("The maximum amount of padding that will be used to
align row groups with blocks in the " +
"underlying filesystem. If the underlying filesystem is
not a block filesystem like HDFS, this has no effect. " +
"The value is specified in the format of <Data Size> <Data
Unit> where Data Unit is one of B, KB, MB, GB, TB.")
@@ -79,29 +86,25 @@ public class ParquetUtils {
.build();
public static final PropertyDescriptor ENABLE_DICTIONARY_ENCODING = new
PropertyDescriptor.Builder()
- .name("enable-dictionary-encoding")
- .displayName("Enable Dictionary Encoding")
+ .name("Enable Dictionary Encoding")
.description("Specifies whether dictionary encoding should be
enabled for the Parquet writer")
.allowableValues("true", "false")
.build();
public static final PropertyDescriptor ENABLE_VALIDATION = new
PropertyDescriptor.Builder()
- .name("enable-validation")
- .displayName("Enable Validation")
+ .name("Enable Validation")
.description("Specifies whether validation should be enabled for
the Parquet writer")
.allowableValues("true", "false")
.build();
public static final PropertyDescriptor WRITER_VERSION = new
PropertyDescriptor.Builder()
- .name("writer-version")
- .displayName("Writer Version")
+ .name("Writer Version")
.description("Specifies the version used by Parquet writer")
.allowableValues(org.apache.parquet.column.ParquetProperties.WriterVersion.values())
.build();
public static final PropertyDescriptor AVRO_READ_COMPATIBILITY = new
PropertyDescriptor.Builder()
- .name("avro-read-compatibility")
- .displayName("Avro Read Compatibility")
+ .name("Avro Read Compatibility")
.description("Specifies the value for '" +
AvroReadSupport.AVRO_COMPATIBILITY + "' in the underlying Parquet library")
.allowableValues("true", "false")
.defaultValue("true")
@@ -109,8 +112,7 @@ public class ParquetUtils {
.build();
public static final PropertyDescriptor AVRO_ADD_LIST_ELEMENT_RECORDS = new
PropertyDescriptor.Builder()
- .name("avro-add-list-element-records")
- .displayName("Avro Add List Element Records")
+ .name("Avro Add List Element Records")
.description("Specifies the value for '" +
AvroSchemaConverter.ADD_LIST_ELEMENT_RECORDS + "' in the underlying Parquet
library")
.allowableValues("true", "false")
.defaultValue("true")
@@ -118,8 +120,7 @@ public class ParquetUtils {
.build();
public static final PropertyDescriptor AVRO_WRITE_OLD_LIST_STRUCTURE = new
PropertyDescriptor.Builder()
- .name("avro-write-old-list-structure")
- .displayName("Avro Write Old List Structure")
+ .name("Avro Write Old List Structure")
.description("Specifies the value for '" +
AvroWriteSupport.WRITE_OLD_LIST_STRUCTURE + "' in the underlying Parquet
library")
.allowableValues("true", "false")
.defaultValue("true")
@@ -140,7 +141,6 @@ public class ParquetUtils {
// NOTE: This needs to be named the same as the compression property in
AbstractPutHDFSRecord
public static final PropertyDescriptor COMPRESSION_TYPE = new
PropertyDescriptor.Builder()
.name(AbstractPutHDFSRecord.COMPRESSION_TYPE.getName())
- .displayName("Compression Type")
.description("The type of compression for the file being written.")
.allowableValues(COMPRESSION_TYPES.toArray(new AllowableValue[0]))
.defaultValue(COMPRESSION_TYPES.get(0).getValue())
diff --git
a/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/processors/parquet/ConvertAvroToParquet.java
b/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/processors/parquet/ConvertAvroToParquet.java
index 853c0be918..5a100113c0 100644
---
a/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/processors/parquet/ConvertAvroToParquet.java
+++
b/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/processors/parquet/ConvertAvroToParquet.java
@@ -34,6 +34,7 @@ import org.apache.nifi.annotation.documentation.Tags;
import org.apache.nifi.components.PropertyDescriptor;
import org.apache.nifi.flowfile.FlowFile;
import org.apache.nifi.flowfile.attributes.CoreAttributes;
+import org.apache.nifi.migration.PropertyConfiguration;
import org.apache.nifi.parquet.stream.NifiParquetOutputFile;
import org.apache.nifi.parquet.utils.ParquetConfig;
import org.apache.nifi.parquet.utils.ParquetUtils;
@@ -177,6 +178,18 @@ public class ConvertAvroToParquet extends
AbstractProcessor {
}
+ @Override
+ public void migrateProperties(PropertyConfiguration config) {
+ config.renameProperty(ParquetUtils.OLD_ROW_GROUP_SIZE_PROPERTY_NAME,
ParquetUtils.ROW_GROUP_SIZE.getName());
+ config.renameProperty(ParquetUtils.OLD_PAGE_SIZE_PROPERTY_NAME,
ParquetUtils.PAGE_SIZE.getName());
+
config.renameProperty(ParquetUtils.OLD_DICTIONARY_PAGE_SIZE_PROPERTY_NAME,
ParquetUtils.DICTIONARY_PAGE_SIZE.getName());
+ config.renameProperty(ParquetUtils.OLD_MAX_PADDING_SIZE_PROPERTY_NAME,
ParquetUtils.MAX_PADDING_SIZE.getName());
+
config.renameProperty(ParquetUtils.OLD_ENABLE_DICTIONARY_ENCODING_PROPERTY_NAME,
ParquetUtils.ENABLE_DICTIONARY_ENCODING.getName());
+
config.renameProperty(ParquetUtils.OLD_ENABLE_VALIDATION_PROPERTY_NAME,
ParquetUtils.ENABLE_VALIDATION.getName());
+ config.renameProperty(ParquetUtils.OLD_WRITER_VERSION_PROPERTY_NAME,
ParquetUtils.WRITER_VERSION.getName());
+
+ }
+
private ParquetWriter createParquetWriter(final ProcessContext context,
final FlowFile flowFile, final OutputStream out, final Schema schema)
throws IOException {
diff --git
a/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/processors/parquet/PutParquet.java
b/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/processors/parquet/PutParquet.java
index 25a5df328a..d9ecb95dd1 100644
---
a/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/processors/parquet/PutParquet.java
+++
b/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/processors/parquet/PutParquet.java
@@ -35,6 +35,7 @@ import org.apache.nifi.components.AllowableValue;
import org.apache.nifi.components.PropertyDescriptor;
import org.apache.nifi.components.RequiredPermission;
import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.migration.PropertyConfiguration;
import org.apache.nifi.parquet.hadoop.AvroParquetHDFSRecordWriter;
import org.apache.nifi.parquet.utils.ParquetConfig;
import org.apache.nifi.parquet.utils.ParquetUtils;
@@ -75,8 +76,7 @@ import static
org.apache.nifi.parquet.utils.ParquetUtils.createParquetConfig;
public class PutParquet extends AbstractPutHDFSRecord {
public static final PropertyDescriptor REMOVE_CRC_FILES = new
PropertyDescriptor.Builder()
- .name("remove-crc-files")
- .displayName("Remove CRC Files")
+ .name("Remove CRC Files")
.description("Specifies whether the corresponding CRC file should
be deleted upon successfully writing a Parquet file")
.allowableValues("true", "false")
.defaultValue("false")
@@ -125,6 +125,20 @@ public class PutParquet extends AbstractPutHDFSRecord {
return new AvroParquetHDFSRecordWriter(parquetWriter.build(),
avroSchema);
}
+ @Override
+ public void migrateProperties(PropertyConfiguration config) {
+ super.migrateProperties(config);
+ config.renameProperty("remove-crc-files", REMOVE_CRC_FILES.getName());
+ config.renameProperty(ParquetUtils.OLD_ROW_GROUP_SIZE_PROPERTY_NAME,
ParquetUtils.ROW_GROUP_SIZE.getName());
+ config.renameProperty(ParquetUtils.OLD_PAGE_SIZE_PROPERTY_NAME,
ParquetUtils.PAGE_SIZE.getName());
+
config.renameProperty(ParquetUtils.OLD_DICTIONARY_PAGE_SIZE_PROPERTY_NAME,
ParquetUtils.DICTIONARY_PAGE_SIZE.getName());
+ config.renameProperty(ParquetUtils.OLD_MAX_PADDING_SIZE_PROPERTY_NAME,
ParquetUtils.MAX_PADDING_SIZE.getName());
+
config.renameProperty(ParquetUtils.OLD_ENABLE_DICTIONARY_ENCODING_PROPERTY_NAME,
ParquetUtils.ENABLE_DICTIONARY_ENCODING.getName());
+
config.renameProperty(ParquetUtils.OLD_ENABLE_VALIDATION_PROPERTY_NAME,
ParquetUtils.ENABLE_VALIDATION.getName());
+ config.renameProperty(ParquetUtils.OLD_WRITER_VERSION_PROPERTY_NAME,
ParquetUtils.WRITER_VERSION.getName());
+
config.renameProperty(ParquetUtils.OLD_AVRO_ADD_LIST_ELEMENT_RECORDS_PROPERTY_NAME,
ParquetUtils.AVRO_ADD_LIST_ELEMENT_RECORDS.getName());
+ }
+
@Override
protected FlowFile postProcess(final ProcessContext context, final
ProcessSession session, final FlowFile flowFile, final Path destFile) {
final boolean removeCRCFiles =
context.getProperty(REMOVE_CRC_FILES).asBoolean();
diff --git
a/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-processors/src/main/java/org/apache/nifi/processors/pgp/DecryptContentPGP.java
b/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-processors/src/main/java/org/apache/nifi/processors/pgp/DecryptContentPGP.java
index 6289580a4c..9bfdcacce8 100644
---
a/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-processors/src/main/java/org/apache/nifi/processors/pgp/DecryptContentPGP.java
+++
b/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-processors/src/main/java/org/apache/nifi/processors/pgp/DecryptContentPGP.java
@@ -30,6 +30,7 @@ import org.apache.nifi.components.PropertyValue;
import org.apache.nifi.components.ValidationContext;
import org.apache.nifi.components.ValidationResult;
import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.migration.PropertyConfiguration;
import org.apache.nifi.pgp.service.api.PGPPrivateKeyService;
import org.apache.nifi.processor.AbstractProcessor;
import org.apache.nifi.processor.ProcessContext;
@@ -104,8 +105,7 @@ public class DecryptContentPGP extends AbstractProcessor {
.build();
public static final PropertyDescriptor DECRYPTION_STRATEGY = new
PropertyDescriptor.Builder()
- .name("decryption-strategy")
- .displayName("Decryption Strategy")
+ .name("Decryption Strategy")
.description("Strategy for writing files to success after
decryption")
.required(true)
.defaultValue(DecryptionStrategy.DECRYPTED.name())
@@ -117,16 +117,14 @@ public class DecryptContentPGP extends AbstractProcessor {
.build();
public static final PropertyDescriptor PASSPHRASE = new
PropertyDescriptor.Builder()
- .name("passphrase")
- .displayName("Passphrase")
+ .name("Passphrase")
.description("Passphrase used for decrypting data encrypted with
Password-Based Encryption")
.sensitive(true)
.addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
.build();
public static final PropertyDescriptor PRIVATE_KEY_SERVICE = new
PropertyDescriptor.Builder()
- .name("private-key-service")
- .displayName("Private Key Service")
+ .name("Private Key Service")
.description("PGP Private Key Service for decrypting data
encrypted with Public Key Encryption")
.identifiesControllerService(PGPPrivateKeyService.class)
.build();
@@ -194,6 +192,13 @@ public class DecryptContentPGP extends AbstractProcessor {
}
}
+ @Override
+ public void migrateProperties(PropertyConfiguration config) {
+ config.renameProperty("decryption-strategy",
DECRYPTION_STRATEGY.getName());
+ config.renameProperty("passphrase", PASSPHRASE.getName());
+ config.renameProperty("private-key-service",
PRIVATE_KEY_SERVICE.getName());
+ }
+
/**
* Custom Validate requires at least one decryption property to be
configured
*
diff --git
a/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-processors/src/main/java/org/apache/nifi/processors/pgp/EncryptContentPGP.java
b/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-processors/src/main/java/org/apache/nifi/processors/pgp/EncryptContentPGP.java
index 7f39fda6ec..eaca5378ae 100644
---
a/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-processors/src/main/java/org/apache/nifi/processors/pgp/EncryptContentPGP.java
+++
b/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-processors/src/main/java/org/apache/nifi/processors/pgp/EncryptContentPGP.java
@@ -32,6 +32,7 @@ import org.apache.nifi.expression.ExpressionLanguageScope;
import org.apache.nifi.flowfile.FlowFile;
import org.apache.nifi.flowfile.attributes.CoreAttributes;
import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.migration.PropertyConfiguration;
import org.apache.nifi.pgp.service.api.PGPPublicKeyService;
import org.apache.nifi.processor.AbstractProcessor;
import org.apache.nifi.processor.ProcessContext;
@@ -105,8 +106,7 @@ public class EncryptContentPGP extends AbstractProcessor {
.build();
public static final PropertyDescriptor SYMMETRIC_KEY_ALGORITHM = new
PropertyDescriptor.Builder()
- .name("symmetric-key-algorithm")
- .displayName("Symmetric-Key Algorithm")
+ .name("Symmetric-Key Algorithm")
.description("Symmetric-Key Algorithm for encryption")
.required(true)
.defaultValue(SymmetricKeyAlgorithm.AES_256.toString())
@@ -114,8 +114,7 @@ public class EncryptContentPGP extends AbstractProcessor {
.build();
public static final PropertyDescriptor FILE_ENCODING = new
PropertyDescriptor.Builder()
- .name("file-encoding")
- .displayName("File Encoding")
+ .name("File Encoding")
.description("File Encoding for encryption")
.required(true)
.defaultValue(FileEncoding.BINARY.toString())
@@ -123,23 +122,20 @@ public class EncryptContentPGP extends AbstractProcessor {
.build();
public static final PropertyDescriptor PASSPHRASE = new
PropertyDescriptor.Builder()
- .name("passphrase")
- .displayName("Passphrase")
+ .name("Passphrase")
.description("Passphrase used for encrypting data with
Password-Based Encryption")
.sensitive(true)
.addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
.build();
public static final PropertyDescriptor PUBLIC_KEY_SERVICE = new
PropertyDescriptor.Builder()
- .name("public-key-service")
- .displayName("Public Key Service")
+ .name("Public Key Service")
.description("PGP Public Key Service for encrypting data with
Public Key Encryption")
.identifiesControllerService(PGPPublicKeyService.class)
.build();
public static final PropertyDescriptor PUBLIC_KEY_SEARCH = new
PropertyDescriptor.Builder()
- .name("public-key-search")
- .displayName("Public Key Search")
+ .name("Public Key Search")
.description("PGP Public Key Search will be used to match against
the User ID or Key ID when formatted as uppercase hexadecimal string of 16
characters")
.expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES)
.addValidator(StandardValidators.NON_EMPTY_EL_VALIDATOR)
@@ -214,6 +210,15 @@ public class EncryptContentPGP extends AbstractProcessor {
}
}
+ @Override
+ public void migrateProperties(PropertyConfiguration config) {
+ config.renameProperty("symmetric-key-algorithm",
SYMMETRIC_KEY_ALGORITHM.getName());
+ config.renameProperty("file-encoding", FILE_ENCODING.getName());
+ config.renameProperty("passphrase", PASSPHRASE.getName());
+ config.renameProperty("public-key-service",
PUBLIC_KEY_SERVICE.getName());
+ config.renameProperty("public-key-search",
PUBLIC_KEY_SEARCH.getName());
+ }
+
/**
* Custom Validate requires at least one encryption property to be
configured
*
diff --git
a/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-processors/src/main/java/org/apache/nifi/processors/pgp/SignContentPGP.java
b/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-processors/src/main/java/org/apache/nifi/processors/pgp/SignContentPGP.java
index 93e6d0d015..1dd31bea60 100644
---
a/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-processors/src/main/java/org/apache/nifi/processors/pgp/SignContentPGP.java
+++
b/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-processors/src/main/java/org/apache/nifi/processors/pgp/SignContentPGP.java
@@ -29,6 +29,7 @@ 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.migration.PropertyConfiguration;
import org.apache.nifi.pgp.service.api.PGPPrivateKeyService;
import org.apache.nifi.processor.AbstractProcessor;
import org.apache.nifi.processor.ProcessContext;
@@ -98,8 +99,7 @@ public class SignContentPGP extends AbstractProcessor {
.build();
public static final PropertyDescriptor FILE_ENCODING = new
PropertyDescriptor.Builder()
- .name("file-encoding")
- .displayName("File Encoding")
+ .name("File Encoding")
.description("File Encoding for signing")
.required(true)
.defaultValue(FileEncoding.BINARY.name())
@@ -107,8 +107,7 @@ public class SignContentPGP extends AbstractProcessor {
.build();
public static final PropertyDescriptor HASH_ALGORITHM = new
PropertyDescriptor.Builder()
- .name("hash-algorithm")
- .displayName("Hash Algorithm")
+ .name("Hash Algorithm")
.description("Hash Algorithm for signing")
.required(true)
.defaultValue(HashAlgorithm.SHA512.name())
@@ -116,8 +115,7 @@ public class SignContentPGP extends AbstractProcessor {
.build();
public static final PropertyDescriptor SIGNING_STRATEGY = new
PropertyDescriptor.Builder()
- .name("signing-strategy")
- .displayName("Signing Strategy")
+ .name("Signing Strategy")
.description("Strategy for writing files to success after signing")
.required(true)
.defaultValue(SigningStrategy.SIGNED.name())
@@ -129,16 +127,14 @@ public class SignContentPGP extends AbstractProcessor {
.build();
public static final PropertyDescriptor PRIVATE_KEY_SERVICE = new
PropertyDescriptor.Builder()
- .name("private-key-service")
- .displayName("Private Key Service")
+ .name("Private Key Service")
.description("PGP Private Key Service for generating content
signatures")
.identifiesControllerService(PGPPrivateKeyService.class)
.required(true)
.build();
public static final PropertyDescriptor PRIVATE_KEY_ID = new
PropertyDescriptor.Builder()
- .name("private-key-id")
- .displayName("Private Key ID")
+ .name("Private Key ID")
.description("PGP Private Key Identifier formatted as uppercase
hexadecimal string of 16 characters used for signing")
.expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES)
.addValidator(StandardValidators.NON_EMPTY_EL_VALIDATOR)
@@ -207,6 +203,15 @@ public class SignContentPGP extends AbstractProcessor {
}
}
+ @Override
+ public void migrateProperties(PropertyConfiguration config) {
+ config.renameProperty("file-encoding", FILE_ENCODING.getName());
+ config.renameProperty("hash-algorithm", HASH_ALGORITHM.getName());
+ config.renameProperty("signing-strategy", SIGNING_STRATEGY.getName());
+ config.renameProperty("private-key-service",
PRIVATE_KEY_SERVICE.getName());
+ config.renameProperty("private-key-id", PRIVATE_KEY_ID.getName());
+ }
+
private SignatureStreamCallback getStreamCallback(final ProcessContext
context, final FlowFile flowFile) {
final FileEncoding fileEncoding = getFileEncoding(context);
final HashAlgorithm hashAlgorithm = getHashAlgorithm(context);
diff --git
a/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-processors/src/main/java/org/apache/nifi/processors/pgp/VerifyContentPGP.java
b/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-processors/src/main/java/org/apache/nifi/processors/pgp/VerifyContentPGP.java
index f62d8a4d20..7bdece2baa 100644
---
a/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-processors/src/main/java/org/apache/nifi/processors/pgp/VerifyContentPGP.java
+++
b/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-processors/src/main/java/org/apache/nifi/processors/pgp/VerifyContentPGP.java
@@ -26,6 +26,7 @@ import org.apache.nifi.annotation.documentation.SeeAlso;
import org.apache.nifi.annotation.documentation.Tags;
import org.apache.nifi.components.PropertyDescriptor;
import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.migration.PropertyConfiguration;
import org.apache.nifi.pgp.service.api.PGPPublicKeyService;
import org.apache.nifi.processor.AbstractProcessor;
import org.apache.nifi.processor.ProcessContext;
@@ -91,8 +92,7 @@ public class VerifyContentPGP extends AbstractProcessor {
.build();
public static final PropertyDescriptor PUBLIC_KEY_SERVICE = new
PropertyDescriptor.Builder()
- .name("public-key-service")
- .displayName("Public Key Service")
+ .name("Public Key Service")
.description("PGP Public Key Service for verifying signatures with
Public Key Encryption")
.identifiesControllerService(PGPPublicKeyService.class)
.required(true)
@@ -159,6 +159,11 @@ public class VerifyContentPGP extends AbstractProcessor {
}
}
+ @Override
+ public void migrateProperties(PropertyConfiguration config) {
+ config.renameProperty("public-key-service",
PUBLIC_KEY_SERVICE.getName());
+ }
+
private class VerifyStreamCallback implements StreamCallback {
private final PGPPublicKeyService publicKeyService;
diff --git
a/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-service/src/main/java/org/apache/nifi/pgp/service/standard/StandardPGPPrivateKeyService.java
b/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-service/src/main/java/org/apache/nifi/pgp/service/standard/StandardPGPPrivateKeyService.java
index 7ca32bcb8f..d8ec5074b7 100644
---
a/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-service/src/main/java/org/apache/nifi/pgp/service/standard/StandardPGPPrivateKeyService.java
+++
b/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-service/src/main/java/org/apache/nifi/pgp/service/standard/StandardPGPPrivateKeyService.java
@@ -27,6 +27,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.pgp.service.api.KeyIdentifierConverter;
import org.apache.nifi.pgp.service.api.PGPPrivateKeyService;
import
org.apache.nifi.pgp.service.standard.exception.PGPConfigurationException;
@@ -66,8 +67,7 @@ import java.util.stream.Collectors;
@CapabilityDescription("PGP Private Key Service provides Private Keys loaded
from files or properties")
public class StandardPGPPrivateKeyService extends AbstractControllerService
implements PGPPrivateKeyService {
public static final PropertyDescriptor KEYRING_FILE = new
PropertyDescriptor.Builder()
- .name("keyring-file")
- .displayName("Keyring File")
+ .name("Keyring File")
.description("File path to PGP Keyring or Secret Key encoded in
binary or ASCII Armor")
.required(false)
.expressionLanguageSupported(ExpressionLanguageScope.ENVIRONMENT)
@@ -75,8 +75,7 @@ public class StandardPGPPrivateKeyService extends
AbstractControllerService impl
.build();
public static final PropertyDescriptor KEYRING = new
PropertyDescriptor.Builder()
- .name("keyring")
- .displayName("Keyring")
+ .name("Keyring")
.description("PGP Keyring or Secret Key encoded in ASCII Armor")
.required(false)
.sensitive(true)
@@ -84,8 +83,7 @@ public class StandardPGPPrivateKeyService extends
AbstractControllerService impl
.build();
public static final PropertyDescriptor KEY_PASSWORD = new
PropertyDescriptor.Builder()
- .name("key-password")
- .displayName("Key Password")
+ .name("Key Password")
.description("Password used for decrypting Private Keys")
.required(true)
.sensitive(true)
@@ -146,6 +144,13 @@ public class StandardPGPPrivateKeyService extends
AbstractControllerService impl
return Optional.ofNullable(privateKeys.get(keyIdentifier));
}
+ @Override
+ public void migrateProperties(PropertyConfiguration config) {
+ config.renameProperty("keyring-file", KEYRING_FILE.getName());
+ config.renameProperty("keyring", KEYRING.getName());
+ config.renameProperty("key-password", KEY_PASSWORD.getName());
+ }
+
/**
* Get Supported Property Descriptors
*
diff --git
a/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-service/src/main/java/org/apache/nifi/pgp/service/standard/StandardPGPPublicKeyService.java
b/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-service/src/main/java/org/apache/nifi/pgp/service/standard/StandardPGPPublicKeyService.java
index feb110b444..4227aef6c6 100644
---
a/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-service/src/main/java/org/apache/nifi/pgp/service/standard/StandardPGPPublicKeyService.java
+++
b/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-service/src/main/java/org/apache/nifi/pgp/service/standard/StandardPGPPublicKeyService.java
@@ -27,6 +27,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.pgp.service.api.KeyIdentifierConverter;
import org.apache.nifi.pgp.service.api.PGPPublicKeyService;
import
org.apache.nifi.pgp.service.standard.exception.PGPConfigurationException;
@@ -63,8 +64,7 @@ import java.util.stream.StreamSupport;
@CapabilityDescription("PGP Public Key Service providing Public Keys loaded
from files")
public class StandardPGPPublicKeyService extends AbstractControllerService
implements PGPPublicKeyService {
public static final PropertyDescriptor KEYRING_FILE = new
PropertyDescriptor.Builder()
- .name("keyring-file")
- .displayName("Keyring File")
+ .name("Keyring File")
.description("File path to PGP Keyring or Public Key encoded in
binary or ASCII Armor")
.required(false)
.expressionLanguageSupported(ExpressionLanguageScope.ENVIRONMENT)
@@ -72,8 +72,7 @@ public class StandardPGPPublicKeyService extends
AbstractControllerService imple
.build();
public static final PropertyDescriptor KEYRING = new
PropertyDescriptor.Builder()
- .name("keyring")
- .displayName("Keyring")
+ .name("Keyring")
.description("PGP Keyring or Public Key encoded in ASCII Armor")
.required(false)
.addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
@@ -127,6 +126,11 @@ public class StandardPGPPublicKeyService extends
AbstractControllerService imple
return publicKeys.stream().filter(publicKey ->
isPublicKeyMatched(publicKey, search)).findFirst();
}
+ @Override
+ public void migrateProperties(PropertyConfiguration config) {
+ config.renameProperty("keyring-file", KEYRING_FILE.getName());
+ config.renameProperty("keyring", KEYRING.getName());
+ }
/**
* Get Supported Property Descriptors
*
diff --git
a/nifi-extension-bundles/nifi-redis-bundle/nifi-redis-extensions/src/main/java/org/apache/nifi/redis/processor/PutRedisHashRecord.java
b/nifi-extension-bundles/nifi-redis-bundle/nifi-redis-extensions/src/main/java/org/apache/nifi/redis/processor/PutRedisHashRecord.java
index b83a1cf519..3f07d8eb19 100644
---
a/nifi-extension-bundles/nifi-redis-bundle/nifi-redis-extensions/src/main/java/org/apache/nifi/redis/processor/PutRedisHashRecord.java
+++
b/nifi-extension-bundles/nifi-redis-bundle/nifi-redis-extensions/src/main/java/org/apache/nifi/redis/processor/PutRedisHashRecord.java
@@ -26,6 +26,7 @@ import org.apache.nifi.annotation.lifecycle.OnStopped;
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;
@@ -56,6 +57,7 @@ import java.util.List;
import java.util.Set;
import static org.apache.nifi.expression.ExpressionLanguageScope.NONE;
+import static
org.apache.nifi.redis.util.RedisUtils.OLD_REDIS_CONNECTION_POOL_PROPERTY_NAME;
import static org.apache.nifi.redis.util.RedisUtils.REDIS_CONNECTION_POOL;
@InputRequirement(InputRequirement.Requirement.INPUT_REQUIRED)
@@ -73,16 +75,14 @@ public class PutRedisHashRecord extends AbstractProcessor {
public static final String SUCCESS_RECORD_COUNT =
"redis.success.record.count";
protected static final PropertyDescriptor RECORD_READER_FACTORY = new
PropertyDescriptor.Builder()
- .name("record-reader")
- .displayName("Record Reader")
+ .name("Record Reader")
.description("Specifies the Controller Service to use for parsing
incoming data and determining the data's schema")
.identifiesControllerService(RecordReaderFactory.class)
.required(true)
.build();
static final PropertyDescriptor HASH_VALUE_RECORD_PATH = new
PropertyDescriptor.Builder()
- .name("hash-value-record-path")
- .displayName("Hash Value Record Path")
+ .name("Hash Value Record Path")
.description("Specifies a RecordPath to evaluate against each
Record in order to determine the hash value associated with all the record
fields/values "
+ "(see 'hset' in Redis documentation for more details).
The RecordPath must point at exactly one field or an error will occur.")
.required(true)
@@ -91,8 +91,7 @@ public class PutRedisHashRecord extends AbstractProcessor {
.build();
static final PropertyDescriptor DATA_RECORD_PATH = new
PropertyDescriptor.Builder()
- .name("data-record-path")
- .displayName("Data Record Path")
+ .name("Data Record Path")
.description("This property denotes a RecordPath that will be
evaluated against each incoming Record and the Record that results from
evaluating the RecordPath will be sent to" +
" Redis instead of sending the entire incoming Record. The
property defaults to the root '/' which corresponds to a 'flat' record (all
fields/values at the top level of " +
" the Record.")
@@ -103,8 +102,7 @@ public class PutRedisHashRecord extends AbstractProcessor {
.build();
static final PropertyDescriptor CHARSET = new PropertyDescriptor.Builder()
- .name("charset")
- .displayName("Character Set")
+ .name("Character Set")
.description("Specifies the character set to use when storing
record field values as strings. All fields will be converted to strings using
this character set "
+ "before being stored in Redis.")
.required(true)
@@ -225,6 +223,15 @@ public class PutRedisHashRecord extends AbstractProcessor {
session.transfer(flowFile, REL_SUCCESS);
}
+ @Override
+ public void migrateProperties(PropertyConfiguration config) {
+ config.renameProperty("record-reader",
RECORD_READER_FACTORY.getName());
+ config.renameProperty("hash-value-record-path",
HASH_VALUE_RECORD_PATH.getName());
+ config.renameProperty("data-record-path", DATA_RECORD_PATH.getName());
+ config.renameProperty("charset", CHARSET.getName());
+ config.renameProperty(OLD_REDIS_CONNECTION_POOL_PROPERTY_NAME,
REDIS_CONNECTION_POOL.getName());
+ }
+
private List<Record> getDataRecords(final RecordPath dataRecordPath, final
Record outerRecord) {
if (dataRecordPath == null) {
return Collections.singletonList(outerRecord);
diff --git
a/nifi-extension-bundles/nifi-redis-bundle/nifi-redis-extensions/src/main/java/org/apache/nifi/redis/service/SimpleRedisDistributedMapCacheClientService.java
b/nifi-extension-bundles/nifi-redis-bundle/nifi-redis-extensions/src/main/java/org/apache/nifi/redis/service/SimpleRedisDistributedMapCacheClientService.java
index 35f1a31f34..91ce9f9800 100644
---
a/nifi-extension-bundles/nifi-redis-bundle/nifi-redis-extensions/src/main/java/org/apache/nifi/redis/service/SimpleRedisDistributedMapCacheClientService.java
+++
b/nifi-extension-bundles/nifi-redis-bundle/nifi-redis-extensions/src/main/java/org/apache/nifi/redis/service/SimpleRedisDistributedMapCacheClientService.java
@@ -26,6 +26,7 @@ import org.apache.nifi.controller.ConfigurationContext;
import org.apache.nifi.distributed.cache.client.Deserializer;
import org.apache.nifi.distributed.cache.client.DistributedMapCacheClient;
import org.apache.nifi.distributed.cache.client.Serializer;
+import org.apache.nifi.migration.PropertyConfiguration;
import org.apache.nifi.redis.RedisConnectionPool;
import org.apache.nifi.redis.util.RedisAction;
import org.apache.nifi.util.Tuple;
@@ -40,6 +41,8 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
+import static
org.apache.nifi.redis.util.RedisUtils.OLD_REDIS_CONNECTION_POOL_PROPERTY_NAME;
+import static org.apache.nifi.redis.util.RedisUtils.OLD_TTL_PROPERTY_NAME;
import static org.apache.nifi.redis.util.RedisUtils.REDIS_CONNECTION_POOL;
import static org.apache.nifi.redis.util.RedisUtils.TTL;
@@ -198,6 +201,12 @@ public class SimpleRedisDistributedMapCacheClientService
extends AbstractControl
});
}
+ @Override
+ public void migrateProperties(PropertyConfiguration config) {
+ config.renameProperty(OLD_REDIS_CONNECTION_POOL_PROPERTY_NAME,
REDIS_CONNECTION_POOL.getName());
+ config.renameProperty(OLD_TTL_PROPERTY_NAME, TTL.getName());
+ }
+
/**
* Convert the list of all keys to an array.
*/
diff --git
a/nifi-extension-bundles/nifi-redis-bundle/nifi-redis-extensions/src/test/java/org/apache/nifi/redis/service/FakeRedisProcessor.java
b/nifi-extension-bundles/nifi-redis-bundle/nifi-redis-extensions/src/test/java/org/apache/nifi/redis/service/FakeRedisProcessor.java
index 7057c90423..b315676063 100644
---
a/nifi-extension-bundles/nifi-redis-bundle/nifi-redis-extensions/src/test/java/org/apache/nifi/redis/service/FakeRedisProcessor.java
+++
b/nifi-extension-bundles/nifi-redis-bundle/nifi-redis-extensions/src/test/java/org/apache/nifi/redis/service/FakeRedisProcessor.java
@@ -33,8 +33,7 @@ import java.util.List;
public class FakeRedisProcessor extends AbstractProcessor {
public static final PropertyDescriptor REDIS_SERVICE = new
PropertyDescriptor.Builder()
- .name("redis-service")
- .displayName("Redis Service")
+ .name("Redis Service")
.identifiesControllerService(RedisConnectionPool.class)
.addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
.required(true)
diff --git
a/nifi-extension-bundles/nifi-redis-bundle/nifi-redis-utils/src/main/java/org/apache/nifi/redis/util/RedisUtils.java
b/nifi-extension-bundles/nifi-redis-bundle/nifi-redis-utils/src/main/java/org/apache/nifi/redis/util/RedisUtils.java
index 2c27df1b3b..a66c9f2d7a 100644
---
a/nifi-extension-bundles/nifi-redis-bundle/nifi-redis-utils/src/main/java/org/apache/nifi/redis/util/RedisUtils.java
+++
b/nifi-extension-bundles/nifi-redis-bundle/nifi-redis-utils/src/main/java/org/apache/nifi/redis/util/RedisUtils.java
@@ -59,17 +59,17 @@ public class RedisUtils {
private static final Logger LOGGER =
LoggerFactory.getLogger(RedisUtils.class);
// These properties are shared among the controller service(s) and
processor(s) that use a RedisConnectionPool
+ public static final String OLD_REDIS_CONNECTION_POOL_PROPERTY_NAME =
"redis-connection-pool";
+ public static final String OLD_TTL_PROPERTY_NAME = "redis-cache-ttl";
public static final PropertyDescriptor REDIS_CONNECTION_POOL = new
PropertyDescriptor.Builder()
- .name("redis-connection-pool")
- .displayName("Redis Connection Pool")
+ .name("Redis Connection Pool")
.identifiesControllerService(RedisConnectionPool.class)
.required(true)
.build();
public static final PropertyDescriptor TTL = new
PropertyDescriptor.Builder()
- .name("redis-cache-ttl")
- .displayName("TTL")
+ .name("TTL")
.description("Indicates how long the data should exist in Redis.
Setting '0 secs' would mean the data would exist forever")
.addValidator(StandardValidators.TIME_PERIOD_VALIDATOR)
.required(true)
diff --git
a/nifi-extension-bundles/nifi-registry-bundle/nifi-registry-service/src/main/java/org/apache/nifi/schemaregistry/services/AvroSchemaRegistry.java
b/nifi-extension-bundles/nifi-registry-bundle/nifi-registry-service/src/main/java/org/apache/nifi/schemaregistry/services/AvroSchemaRegistry.java
index 79cc9f4b45..5c5f43fdd8 100644
---
a/nifi-extension-bundles/nifi-registry-bundle/nifi-registry-service/src/main/java/org/apache/nifi/schemaregistry/services/AvroSchemaRegistry.java
+++
b/nifi-extension-bundles/nifi-registry-bundle/nifi-registry-service/src/main/java/org/apache/nifi/schemaregistry/services/AvroSchemaRegistry.java
@@ -27,6 +27,7 @@ import org.apache.nifi.components.ValidationContext;
import org.apache.nifi.components.ValidationResult;
import org.apache.nifi.controller.AbstractControllerService;
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;
@@ -55,8 +56,7 @@ public class AvroSchemaRegistry extends
AbstractControllerService implements Sch
private final ConcurrentMap<String, RecordSchema> recordSchemas = new
ConcurrentHashMap<>();
static final PropertyDescriptor VALIDATE_FIELD_NAMES = new
PropertyDescriptor.Builder()
- .name("avro-reg-validated-field-names")
- .displayName("Validate Field Names")
+ .name("Validate Field Names")
.description("Whether or not to validate the field names in the
Avro schema based on Avro naming rules. If set to true, all field names must be
valid Avro names, "
+ "which must begin with [A-Za-z_], and subsequently
contain only [A-Za-z0-9_]. If set to false, no validation will be performed on
the field names.")
.allowableValues("true", "false")
@@ -136,6 +136,11 @@ public class AvroSchemaRegistry extends
AbstractControllerService implements Sch
}
}
+ @Override
+ public void migrateProperties(PropertyConfiguration config) {
+ config.renameProperty("avro-reg-validated-field-names",
VALIDATE_FIELD_NAMES.getName());
+ }
+
@Override
protected List<PropertyDescriptor> getSupportedPropertyDescriptors() {
return PROPERTY_DESCRIPTORS;