(nifi) branch support/nifi-1.x updated: NIFI-12769 Updated copyright year to 2024 in NOTICE file headers This closes #8385.
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch support/nifi-1.x in repository https://gitbox.apache.org/repos/asf/nifi.git The following commit(s) were added to refs/heads/support/nifi-1.x by this push: new 3baf052aae NIFI-12769 Updated copyright year to 2024 in NOTICE file headers This closes #8385. 3baf052aae is described below commit 3baf052aae18c97c7f2d39a4fc681e5cc8406139 Author: Peter Turcsanyi AuthorDate: Fri Feb 9 21:37:36 2024 +0100 NIFI-12769 Updated copyright year to 2024 in NOTICE file headers This closes #8385. Signed-off-by: Joseph Witt --- NOTICE | 2 +- minifi/minifi-assembly/NOTICE | 2 +- .../minifi-framework-nar/src/main/resources/META-INF/NOTICE | 2 +- .../minifi-framework/minifi-server/src/main/resources/META-INF/NOTICE | 2 +- .../minifi-server-nar/src/main/resources/META-INF/NOTICE| 2 +- .../minifi-provenance-repository-nar/src/main/resources/META-INF/NOTICE | 2 +- .../minifi-standard-nar/src/main/resources/META-INF/NOTICE | 2 +- .../minifi-update-attribute-nar/src/main/resources/META-INF/NOTICE | 2 +- minifi/minifi-toolkit/minifi-toolkit-assembly/NOTICE| 2 +- nifi-assembly/NOTICE| 2 +- nifi-docs/NOTICE| 2 +- nifi-external/nifi-kafka-connect/nifi-kafka-connector-assembly/NOTICE | 2 +- .../nifi-airtable-nar/src/main/resources/META-INF/NOTICE| 2 +- .../nifi-atlas-bundle/nifi-atlas-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-avro-bundle/nifi-avro-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-beats-bundle/nifi-beats-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-cdc-mysql-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-compress-nar/src/main/resources/META-INF/NOTICE| 2 +- .../nifi-confluent-platform-nar/src/main/resource/META-INF/NOTICE | 2 +- .../nifi-couchbase-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-couchbase-services-api-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-easyrules-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-email-bundle/nifi-email-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hadoop-utils/src/main/resources/META-INF/NOTICE| 2 +- .../nifi-framework-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-framework-bundle/nifi-framework/nifi-resources/NOTICE | 2 +- .../nifi-web/nifi-web-docs/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-web/nifi-web-ui/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-headless-server-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-server-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-groovyx-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hadoop-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hadoop-libraries-nar/src/main/resources/META-INF/NOTICE| 2 +- .../nifi-hashicorp-vault-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hbase-bundle/nifi-hbase-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hive-bundle/nifi-hive-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hive-bundle/nifi-hive3-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hive_1_1-nar/src/main/resources/META-INF/NOTICE| 2 +- .../nifi-hubspot-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-iceberg-processors-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-iceberg-services-api-nar/src/main/resources/META-INF/NOTICE| 2 +- .../nifi-iceberg-services-nar/src/main/resources/META-INF/NOTICE| 2 +- nifi-nar-bundles/nifi-jetty-bundle/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-jms-cf-service-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-jms-processors-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-jolt-record-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-kafka-1-0-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-kafka-2-0-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-kafka-2-6-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-kerberos-iaa-providers-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-kudu-bundle/nifi-kudu-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-ldap-iaa-providers-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-mqtt-bundle/nifi-mqtt-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-opentelemetry-nar/src/main/resources/META-INF/NOTICE | 2 +-
(nifi) branch main updated: NIFI-12769 Updated copyright year to 2024 in NOTICE file headers This closes #8384.
This is an automated email from the ASF dual-hosted git repository. joewitt 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 b6b0b241c3 NIFI-12769 Updated copyright year to 2024 in NOTICE file headers This closes #8384. b6b0b241c3 is described below commit b6b0b241c3a4d71454bb29228a468e40bde1d045 Author: Peter Turcsanyi AuthorDate: Fri Feb 9 21:26:36 2024 +0100 NIFI-12769 Updated copyright year to 2024 in NOTICE file headers This closes #8384. Signed-off-by: Joseph Witt --- NOTICE | 2 +- minifi/minifi-assembly/NOTICE | 2 +- .../minifi-framework-nar/src/main/resources/META-INF/NOTICE | 2 +- .../minifi-framework/minifi-server/src/main/resources/META-INF/NOTICE | 2 +- .../minifi-server-nar/src/main/resources/META-INF/NOTICE| 2 +- .../minifi-provenance-repository-nar/src/main/resources/META-INF/NOTICE | 2 +- .../minifi-standard-nar/src/main/resources/META-INF/NOTICE | 2 +- .../minifi-update-attribute-nar/src/main/resources/META-INF/NOTICE | 2 +- minifi/minifi-toolkit/minifi-toolkit-assembly/NOTICE| 2 +- nifi-assembly/NOTICE| 2 +- nifi-docs/NOTICE| 2 +- nifi-external/nifi-kafka-connect/nifi-kafka-connector-assembly/NOTICE | 2 +- .../nifi-airtable-nar/src/main/resources/META-INF/NOTICE| 2 +- .../nifi-apicurio-nar/src/main/resources/META-INF/NOTICE| 2 +- .../nifi-atlas-bundle/nifi-atlas-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-avro-bundle/nifi-avro-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-beats-bundle/nifi-beats-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-cdc-mysql-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-compress-nar/src/main/resources/META-INF/NOTICE| 2 +- .../nifi-confluent-platform-nar/src/main/resource/META-INF/NOTICE | 2 +- .../nifi-couchbase-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-couchbase-services-api-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-email-bundle/nifi-email-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hadoop-utils/src/main/resources/META-INF/NOTICE| 2 +- .../nifi-framework-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-framework-bundle/nifi-framework/nifi-resources/NOTICE | 2 +- .../nifi-web/nifi-web-docs/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-web/nifi-web-frontend/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-web/nifi-web-ui/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-headless-server-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-server-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-groovyx-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hadoop-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hadoop-libraries-nar/src/main/resources/META-INF/NOTICE| 2 +- .../nifi-hashicorp-vault-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hbase-bundle/nifi-hbase-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hive-bundle/nifi-hive3-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hubspot-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-iceberg-processors-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-iceberg-services-api-nar/src/main/resources/META-INF/NOTICE| 2 +- .../nifi-iceberg-services-nar/src/main/resources/META-INF/NOTICE| 2 +- nifi-nar-bundles/nifi-jetty-bundle/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-jms-cf-service-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-jms-processors-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-jolt-bundle/nifi-jolt-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-jolt-transform-json-ui/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-kafka-2-6-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-kerberos-iaa-providers-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-kudu-bundle/nifi-kudu-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-ldap-iaa-providers-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-mqtt-bundle/nifi-mqtt-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-opentelemetry-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-parquet-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-provenance-repository-nar/src/main/resources/META-INF/NOTICE | 2 +-
(nifi) branch main updated: NIFI-12768 Removed unstable filename assertion in TestListFile (#8383)
This is an automated email from the ASF dual-hosted git repository. markap14 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 e93fb17b66 NIFI-12768 Removed unstable filename assertion in TestListFile (#8383) e93fb17b66 is described below commit e93fb17b66aea4940c076724b9ba8702172847fc Author: David Handermann AuthorDate: Fri Feb 9 15:00:22 2024 -0600 NIFI-12768 Removed unstable filename assertion in TestListFile (#8383) --- .../src/test/java/org/apache/nifi/processors/standard/TestListFile.java | 1 - 1 file changed, 1 deletion(-) diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestListFile.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestListFile.java index 99b13b1afa..2f5a9a8c09 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestListFile.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestListFile.java @@ -328,7 +328,6 @@ public class TestListFile { runner.assertAllFlowFilesTransferred(ListFile.REL_SUCCESS); final List successFiles4 = runner.getFlowFilesForRelationship(ListFile.REL_SUCCESS); assertEquals(1, successFiles4.size()); -assertEquals(file2.getName(), successFiles4.get(0).getAttribute("filename")); assertVerificationOutcome(Outcome.SUCCESSFUL, "Successfully listed .* Found 3 objects. Of those, 1 matches the filter."); }
(nifi) branch main updated: NIFI-12764 Removed Commons Codec and Lang3 from security-utils (#8380)
This is an automated email from the ASF dual-hosted git repository. markap14 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 2ea4838157 NIFI-12764 Removed Commons Codec and Lang3 from security-utils (#8380) 2ea4838157 is described below commit 2ea4838157748de8b597357ac7b7af4ff504d61e Author: David Handermann AuthorDate: Fri Feb 9 15:00:06 2024 -0600 NIFI-12764 Removed Commons Codec and Lang3 from security-utils (#8380) --- nifi-commons/nifi-security-utils/pom.xml | 8 -- .../apache/nifi/security/util/KeyStoreUtils.java | 27 ++ .../security/util/StandardTlsConfiguration.java| 17 ++- .../nifi/security/util/crypto/HashAlgorithm.java | 13 ++--- .../nifi/security/util/crypto/HashService.java | 33 -- .../nifi/security/util/KeyStoreUtilsTest.java | 4 +-- .../nifi/security/util/SslSocketFactoryTest.java | 7 +++-- .../nifi/security/util/crypto/HashServiceTest.java | 15 -- .../nifi-web/nifi-web-security/pom.xml | 6 nifi-system-tests/nifi-system-test-suite/pom.xml | 4 +++ 10 files changed, 72 insertions(+), 62 deletions(-) diff --git a/nifi-commons/nifi-security-utils/pom.xml b/nifi-commons/nifi-security-utils/pom.xml index 69f93ddcb3..b9d1e66a85 100644 --- a/nifi-commons/nifi-security-utils/pom.xml +++ b/nifi-commons/nifi-security-utils/pom.xml @@ -44,14 +44,6 @@ nifi-security-cert-builder 2.0.0-SNAPSHOT - -org.apache.commons -commons-lang3 - - -commons-codec -commons-codec - org.bouncycastle bcprov-jdk18on diff --git a/nifi-commons/nifi-security-utils/src/main/java/org/apache/nifi/security/util/KeyStoreUtils.java b/nifi-commons/nifi-security-utils/src/main/java/org/apache/nifi/security/util/KeyStoreUtils.java index 4b541c0ce6..34e8c5e057 100644 --- a/nifi-commons/nifi-security-utils/src/main/java/org/apache/nifi/security/util/KeyStoreUtils.java +++ b/nifi-commons/nifi-security-utils/src/main/java/org/apache/nifi/security/util/KeyStoreUtils.java @@ -41,6 +41,7 @@ import java.time.Duration; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; +import java.util.HexFormat; import java.util.List; import java.util.Map; import java.util.Optional; @@ -48,8 +49,6 @@ import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.TrustManagerFactory; import javax.security.auth.x500.X500Principal; -import org.apache.commons.codec.binary.Hex; -import org.apache.commons.lang3.StringUtils; import org.apache.nifi.security.cert.builder.StandardCertificateBuilder; import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.slf4j.Logger; @@ -171,11 +170,11 @@ public class KeyStoreUtils { public static TlsConfiguration createTlsConfigAndNewKeystoreTruststore(final TlsConfiguration tlsConfiguration, int certDurationDays, String[] dnsSubjectAlternativeNames) throws IOException, GeneralSecurityException { final Path keyStorePath; -final String keystorePassword = StringUtils.isNotBlank(tlsConfiguration.getKeystorePassword()) ? tlsConfiguration.getKeystorePassword() : generatePassword(); +final String keystorePassword = isNotBlank(tlsConfiguration.getKeystorePassword()) ? tlsConfiguration.getKeystorePassword() : generatePassword(); final KeystoreType keystoreType = tlsConfiguration.getKeystoreType() != null ? tlsConfiguration.getKeystoreType() : KeystoreType.PKCS12; -final String keyPassword = StringUtils.isNotBlank(tlsConfiguration.getKeyPassword()) ? tlsConfiguration.getKeyPassword() : keystorePassword; +final String keyPassword = isNotBlank(tlsConfiguration.getKeyPassword()) ? tlsConfiguration.getKeyPassword() : keystorePassword; final Path trustStorePath; -final String truststorePassword = StringUtils.isNotBlank(tlsConfiguration.getTruststorePassword()) ? tlsConfiguration.getTruststorePassword() : generatePassword(); +final String truststorePassword = isNotBlank(tlsConfiguration.getTruststorePassword()) ? tlsConfiguration.getTruststorePassword() : generatePassword(); final KeystoreType truststoreType = tlsConfiguration.getTruststoreType() != null ? tlsConfiguration.getTruststoreType() : KeystoreType.PKCS12; // Create temporary Keystore file @@ -259,11 +258,11 @@ public class KeyStoreUtils { * @throws TlsException if there is a problem initializing or reading from the keystore */ public static KeyManagerFactory loadKeyManagerFactory(String keystorePath, String keystorePassword, String keyPassword, String keystoreType) throws TlsException { -if
(nifi-site) branch asf-site updated: Published changes from 2d611e1934de5e922ea8350a0f17bd1ac26a9b2f
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/nifi-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 534a72f7 Published changes from 2d611e1934de5e922ea8350a0f17bd1ac26a9b2f 534a72f7 is described below commit 534a72f7c79101ac3b8158190441352b8ac70779 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> AuthorDate: Fri Feb 9 20:35:23 2024 + Published changes from 2d611e1934de5e922ea8350a0f17bd1ac26a9b2f --- categories/index.html | 2 +- community/contact/index.html | 4 +-- community/index.html | 2 +- community/powered-by/index.html| 2 +- development/index.html | 2 +- documentation/guides/fds-releases/index.html | 2 +- documentation/guides/index.html| 2 +- documentation/guides/licensing/index.html | 2 +- .../guides/maven-plugin-releases/index.html| 2 +- documentation/guides/releases/index.html | 2 +- documentation/guides/signing/index.html| 2 +- documentation/index.html | 2 +- documentation/security/index.html | 2 +- documentation/v1/index.html| 2 +- documentation/v2/index.html| 2 +- download/index.html| 2 +- index.html | 2 +- projects/fds/index.html| 2 +- projects/index.html| 2 +- projects/minifi/index.html | 2 +- projects/registry/index.html | 2 +- sitemap.xml| 40 +++--- tags/index.html| 2 +- 23 files changed, 43 insertions(+), 43 deletions(-) diff --git a/categories/index.html b/categories/index.html index c054a70a..60c3b99d 100644 --- a/categories/index.html +++ b/categories/index.html @@ -613,7 +613,7 @@ https://issues.apache.org/jira/browse/NIFI;>Issues https://github.com/apache/nifi;>Source https://www.linkedin.com/company/apache-nifi/;>LinkedIn - https://apachenifi.slack.com/;>Slack + https://join.slack.com/t/apachenifi/shared_invite/zt-2ccusmst2-l2KrTzJLrGcHOO0V7~XD4g;>Slack diff --git a/community/contact/index.html b/community/contact/index.html index ec44ebdb..e822df73 100644 --- a/community/contact/index.html +++ b/community/contact/index.html @@ -590,7 +590,7 @@ recommendations on how to interact with the community. Slack https://apachenifi.slack.com/;>Apache NiFi on Slack -New users can join the workspace using the https://join.slack.com/t/apachenifi/shared_invite/zt-11njbtkdx-ZRU8FKYSWoEHRJetidy0zA;>invitation link +New users can join the workspace using the https://join.slack.com/t/apachenifi/shared_invite/zt-2ccusmst2-l2KrTzJLrGcHOO0V7~XD4g;>invitation link Users Mailing List List for getting help, asking questions, and reporting problems. @@ -658,7 +658,7 @@ See Apache NiFi Security Reporting for mo https://issues.apache.org/jira/browse/NIFI;>Issues https://github.com/apache/nifi;>Source https://www.linkedin.com/company/apache-nifi/;>LinkedIn - https://apachenifi.slack.com/;>Slack + https://join.slack.com/t/apachenifi/shared_invite/zt-2ccusmst2-l2KrTzJLrGcHOO0V7~XD4g;>Slack diff --git a/community/index.html b/community/index.html index b0022da4..a1da935e 100644 --- a/community/index.html +++ b/community/index.html @@ -1103,7 +1103,7 @@ Their contributions and efforts are greatly appreciated in helping the community https://issues.apache.org/jira/browse/NIFI;>Issues https://github.com/apache/nifi;>Source https://www.linkedin.com/company/apache-nifi/;>LinkedIn - https://apachenifi.slack.com/;>Slack + https://join.slack.com/t/apachenifi/shared_invite/zt-2ccusmst2-l2KrTzJLrGcHOO0V7~XD4g;>Slack diff --git a/community/powered-by/index.html b/community/powered-by/index.html index 9342483b..588072d6 100644 --- a/community/powered-by/index.html +++ b/community/powered-by/index.html @@ -679,7 +679,7 @@ usage to https://nifi.apache.org/mailing_lists.html;>Users Mailing List https://issues.apache.org/jira/browse/NIFI;>Issues https://github.com/apache/nifi;>Source https://www.linkedin.com/company/apache-nifi/;>LinkedIn - https://apachenifi.slack.com/;>Slack + https://join.slack.com/t/apachenifi/shared_invite/zt-2ccusmst2-l2KrTzJLrGcHOO0V7~XD4g;>Slack diff --git a/development/index.html
(nifi-site) branch main updated: Updating Slack invite links
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/nifi-site.git The following commit(s) were added to refs/heads/main by this push: new 2d611e19 Updating Slack invite links 2d611e19 is described below commit 2d611e1934de5e922ea8350a0f17bd1ac26a9b2f Author: Joseph Witt AuthorDate: Fri Feb 9 13:34:35 2024 -0700 Updating Slack invite links --- content/community/contact.md | 2 +- themes/nifi/layouts/partials/footer.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/community/contact.md b/content/community/contact.md index 9b522eda..7001edc8 100644 --- a/content/community/contact.md +++ b/content/community/contact.md @@ -15,7 +15,7 @@ recommendations on how to interact with the community. ## Slack - [Apache NiFi on Slack](https://apachenifi.slack.com/) -- New users can join the workspace using the [invitation link](https://join.slack.com/t/apachenifi/shared_invite/zt-11njbtkdx-ZRU8FKYSWoEHRJetidy0zA) +- New users can join the workspace using the [invitation link](https://join.slack.com/t/apachenifi/shared_invite/zt-2ccusmst2-l2KrTzJLrGcHOO0V7~XD4g) ## Users Mailing List diff --git a/themes/nifi/layouts/partials/footer.html b/themes/nifi/layouts/partials/footer.html index f955fcf0..bf1e0643 100644 --- a/themes/nifi/layouts/partials/footer.html +++ b/themes/nifi/layouts/partials/footer.html @@ -25,7 +25,7 @@ https://issues.apache.org/jira/browse/NIFI;>Issues https://github.com/apache/nifi;>Source https://www.linkedin.com/company/apache-nifi/;>LinkedIn - https://apachenifi.slack.com/;>Slack + https://join.slack.com/t/apachenifi/shared_invite/zt-2ccusmst2-l2KrTzJLrGcHOO0V7~XD4g;>Slack
(nifi) branch NIFI-10005-RC1 deleted (was 4c5e0c49b8)
This is an automated email from the ASF dual-hosted git repository. exceptionfactory pushed a change to branch NIFI-10005-RC1 in repository https://gitbox.apache.org/repos/asf/nifi.git was 4c5e0c49b8 NIFI-10005-RC1 prepare for next development iteration This change permanently discards the following revisions: discard 4c5e0c49b8 NIFI-10005-RC1 prepare for next development iteration
(nifi) branch MINIFI-422 deleted (was 463d72117b)
This is an automated email from the ASF dual-hosted git repository. exceptionfactory pushed a change to branch MINIFI-422 in repository https://gitbox.apache.org/repos/asf/nifi.git was 463d72117b NIFI-7507: Added section to User Guide on configuring a Process Group The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
(nifi) branch NIFI-10005-RC3 deleted (was 376ebcd820)
This is an automated email from the ASF dual-hosted git repository. exceptionfactory pushed a change to branch NIFI-10005-RC3 in repository https://gitbox.apache.org/repos/asf/nifi.git was 376ebcd820 NIFI-10005-RC3 prepare for next development iteration The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
(nifi) branch 0.x deleted (was 75bcd35966)
This is an automated email from the ASF dual-hosted git repository. exceptionfactory pushed a change to branch 0.x in repository https://gitbox.apache.org/repos/asf/nifi.git was 75bcd35966 NIFI-3906 Added formatting to tables. The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
(nifi) branch main updated (16eadc88da -> 7dc696ecdc)
This is an automated email from the ASF dual-hosted git repository. mcgilman pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/nifi.git from 16eadc88da [NIFI-12746] keep search field open on backdrop click (#8372) add 7dc696ecdc [NIFI-12665] fetch parameter provider parameters (#8367) No new revisions were added by this update. Summary of changes: .../main/nifi/src/app/_app.component-theme.scss| 6 + .../src/main/nifi/src/app/app.component.ts | 2 +- .../src/main/nifi/src/app/app.module.ts| 4 +- .../bulletin-board-list.component.ts | 28 +- .../counter-table/counter-table.component.ts | 17 +- .../ui/canvas/header/search/search.component.ts| 4 +- .../no-registry-clients-dialog.component.spec.ts | 4 +- .../state/parameter-context-listing/index.ts | 3 +- .../edit-parameter-context.component.html | 11 +- .../edit-parameter-context.component.ts| 21 +- .../parameter-context-inheritance.component.ts | 2 +- .../parameter-context-table.component.html | 7 +- .../parameter-context-table.component.ts | 24 +- .../parameter-table/parameter-table.component.html | 2 +- .../parameter-table/parameter-table.component.ts | 3 +- .../provenance-event-table.component.ts| 17 +- .../settings/service/parameter-provider.service.ts | 35 +- .../settings/state/parameter-providers/index.ts| 85 ++- .../parameter-providers.actions.ts | 66 ++- .../parameter-providers.effects.ts | 331 ++- .../parameter-providers.reducer.ts | 56 +- .../parameter-providers.selectors.ts | 19 +- .../edit-parameter-provider.component.html | 3 +- .../edit-parameter-provider.component.spec.ts | 8 +- .../edit-parameter-provider.component.ts | 4 +- ...ch-parameter-provider-parameters.component.html | 342 ...h-parameter-provider-parameters.component.scss} | 35 +- ...arameter-provider-parameters.component.spec.ts} | 25 +- ...etch-parameter-provider-parameters.component.ts | 603 + .../parameter-groups-table.component.html | 58 ++ .../parameter-groups-table.component.scss} | 17 +- .../parameter-groups-table.component.spec.ts} | 15 +- .../parameter-groups-table.component.ts| 96 .../parameter-providers-table.component.html | 3 + .../parameter-providers-table.component.ts | 28 + .../parameter-providers.component.html | 1 + .../parameter-providers.component.ts | 37 +- .../summary-table-filter.component.ts | 53 +- .../user-table/user-table.component.ts | 17 +- .../src/main/nifi/src/app/pipes/join.pipe.spec.ts | 46 ++ .../join.pipe.ts} | 15 +- .../pipes.module.ts} | 20 +- .../sort.pipe.spec.ts} | 33 +- .../sort.pipe.ts} | 41 +- .../app/service/interceptors/auth.interceptor.ts | 4 +- .../main/nifi/src/app/state/error/error.effects.ts | 5 +- .../src/main/nifi/src/app/state/shared/index.ts| 14 +- .../component-state/component-state.component.ts | 5 +- .../disable-controller-service.component.html | 2 +- .../enable-controller-service.component.html | 2 +- .../parameter-references.component.html| 0 .../parameter-references.component.scss| 0 .../parameter-references.component.spec.ts | 0 .../parameter-references.component.ts | 10 +- .../status-history-chart.component.ts | 5 +- .../status-history/status-history.component.ts | 114 ++-- .../src/main/nifi/src/styles.scss | 7 + 57 files changed, 2161 insertions(+), 254 deletions(-) create mode 100644 nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/settings/ui/parameter-providers/fetch-parameter-provider-parameters/fetch-parameter-provider-parameters.component.html copy nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/{parameter-contexts/ui/parameter-context-listing/parameter-references/parameter-references.component.scss => settings/ui/parameter-providers/fetch-parameter-provider-parameters/fetch-parameter-provider-parameters.component.scss} (56%) copy nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/settings/ui/parameter-providers/{edit-parameter-provider/edit-parameter-provider.component.spec.ts => fetch-parameter-provider-parameters/fetch-parameter-provider-parameters.component.spec.ts} (88%) create mode 100644
(nifi) branch main updated (d5206b1ddd -> 16eadc88da)
This is an automated email from the ASF dual-hosted git repository. mcgilman pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/nifi.git from d5206b1ddd NIFI-12736 Fixed migration of credential properties in AWS processors add 16eadc88da [NIFI-12746] keep search field open on backdrop click (#8372) No new revisions were added by this update. Summary of changes: .../app/pages/flow-designer/ui/canvas/header/search/search.component.ts | 1 - 1 file changed, 1 deletion(-)
(nifi) branch support/nifi-1.x updated (ba2e24b68f -> 6612077b42)
This is an automated email from the ASF dual-hosted git repository. exceptionfactory pushed a change to branch support/nifi-1.x in repository https://gitbox.apache.org/repos/asf/nifi.git from ba2e24b68f NIFI-12745: Fix AvroReader silently dropping malformed records add 6612077b42 NIFI-12680 Fixed JAR for DefaultedDynamicClassPathModificationIT No new revisions were added by this update. Summary of changes: .../processor/DefaultedDynamicClassPathModificationIT.java| 11 +++ 1 file changed, 11 insertions(+)
(nifi) branch main updated: NIFI-12736 Fixed migration of credential properties in AWS processors
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 d5206b1ddd NIFI-12736 Fixed migration of credential properties in AWS processors d5206b1ddd is described below commit d5206b1ddd6ab9be80c24fce3d9fb7ca8db7f26b Author: Peter Turcsanyi AuthorDate: Fri Feb 2 21:10:59 2024 +0100 NIFI-12736 Fixed migration of credential properties in AWS processors This closes #8353 Signed-off-by: David Handermann --- .../AbstractAWSCredentialsProviderProcessor.java | 34 -- .../processors/aws/v2/AbstractAwsProcessor.java| 34 -- 2 files changed, 36 insertions(+), 32 deletions(-) diff --git a/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-abstract-processors/src/main/java/org/apache/nifi/processors/aws/AbstractAWSCredentialsProviderProcessor.java b/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-abstract-processors/src/main/java/org/apache/nifi/processors/aws/AbstractAWSCredentialsProviderProcessor.java index a286f754b8..f9a81ad208 100644 --- a/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-abstract-processors/src/main/java/org/apache/nifi/processors/aws/AbstractAWSCredentialsProviderProcessor.java +++ b/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-abstract-processors/src/main/java/org/apache/nifi/processors/aws/AbstractAWSCredentialsProviderProcessor.java @@ -83,7 +83,7 @@ public abstract class AbstractAWSCredentialsProviderProcessor extends Abstract private static final String AUTH_SERVICE_ACCESS_KEY = "Access Key"; private static final String AUTH_SERVICE_SECRET_KEY = "Secret Key"; private static final String AUTH_SERVICE_CREDENTIALS_FILE = "Credentials File"; -private static final String AUTH_SERVICE_DEFAULT_CREDENTIALS = "default-credentials"; +private static final String AUTH_SERVICE_ANONYMOUS_CREDENTIALS = "anonymous-credentials"; private static final String PROXY_SERVICE_HOST = "proxy-server-host"; private static final String PROXY_SERVICE_PORT = "proxy-server-port"; private static final String PROXY_SERVICE_USERNAME = "proxy-user-name"; @@ -200,21 +200,23 @@ public abstract class AbstractAwsProcessor extends Abstract } private void migrateAuthenticationProperties(final PropertyConfiguration config) { -if (config.isPropertySet(OBSOLETE_ACCESS_KEY) && config.isPropertySet(OBSOLETE_SECRET_KEY)) { -final String serviceId = config.createControllerService(CREDENTIALS_SERVICE_CLASSNAME, Map.of( -AUTH_SERVICE_ACCESS_KEY, config.getRawPropertyValue(OBSOLETE_ACCESS_KEY).get(), -AUTH_SERVICE_SECRET_KEY, config.getRawPropertyValue(OBSOLETE_SECRET_KEY).get())); - -config.setProperty(AWS_CREDENTIALS_PROVIDER_SERVICE.getName(), serviceId); -} else if (config.isPropertySet(OBSOLETE_CREDENTIALS_FILE)) { -final String serviceId = config.createControllerService(CREDENTIALS_SERVICE_CLASSNAME, Map.of( -AUTH_SERVICE_CREDENTIALS_FILE, config.getRawPropertyValue(OBSOLETE_CREDENTIALS_FILE).get())); - -config.setProperty(AWS_CREDENTIALS_PROVIDER_SERVICE, serviceId); -} else if (!config.isPropertySet(AWS_CREDENTIALS_PROVIDER_SERVICE)) { -final String serviceId = config.createControllerService(CREDENTIALS_SERVICE_CLASSNAME, Map.of( -AUTH_SERVICE_DEFAULT_CREDENTIALS, "true")); -config.setProperty(AWS_CREDENTIALS_PROVIDER_SERVICE, serviceId); +if (!config.isPropertySet(AWS_CREDENTIALS_PROVIDER_SERVICE)) { +if (config.isPropertySet(OBSOLETE_ACCESS_KEY) && config.isPropertySet(OBSOLETE_SECRET_KEY)) { +final String serviceId = config.createControllerService(CREDENTIALS_SERVICE_CLASSNAME, Map.of( +AUTH_SERVICE_ACCESS_KEY, config.getRawPropertyValue(OBSOLETE_ACCESS_KEY).get(), +AUTH_SERVICE_SECRET_KEY, config.getRawPropertyValue(OBSOLETE_SECRET_KEY).get())); + +config.setProperty(AWS_CREDENTIALS_PROVIDER_SERVICE.getName(), serviceId); +} else if (config.isPropertySet(OBSOLETE_CREDENTIALS_FILE)) { +final String serviceId = config.createControllerService(CREDENTIALS_SERVICE_CLASSNAME, Map.of( +AUTH_SERVICE_CREDENTIALS_FILE, config.getRawPropertyValue(OBSOLETE_CREDENTIALS_FILE).get())); + +config.setProperty(AWS_CREDENTIALS_PROVIDER_SERVICE, serviceId); +} else { +final String serviceId = config.createControllerService(CREDENTIALS_SERVICE_CLASSNAME, Map.of( +AUTH_SERVICE_ANONYMOUS_CREDENTIALS, "true")); +config.setProperty(AWS_CREDENTIALS_PROVIDER_SERVICE, serviceId); +} }
(nifi) branch main updated: NIFI-12742: Error Handling in Summary, Users, and Queue Listing (#8366)
This is an automated email from the ASF dual-hosted git repository. rfellows 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 439c59e733 NIFI-12742: Error Handling in Summary, Users, and Queue Listing (#8366) 439c59e733 is described below commit 439c59e73362e002e8576580e9ad3f3a696ffaae Author: Matt Gilman AuthorDate: Fri Feb 9 09:37:07 2024 -0500 NIFI-12742: Error Handling in Summary, Users, and Queue Listing (#8366) - Error handling in Users. - Error handling in Summary. - Error handling in Queue Listing. - Addressing review feedback. - Dispatching delete success to ensure the active request is reset upon completion. This closes #8366 --- .../app/pages/queue/state/queue-listing/index.ts | 4 +- .../state/queue-listing/queue-listing.actions.ts | 2 + .../state/queue-listing/queue-listing.effects.ts | 103 + .../state/queue-listing/queue-listing.reducer.ts | 48 -- .../state/queue-listing/queue-listing.selectors.ts | 11 ++- .../flowfile-table/flowfile-table.component.html | 1 + .../flowfile-table.component.spec.ts | 17 +++- .../flowfile-table/flowfile-table.component.ts | 3 +- .../ui/queue-listing/queue-listing.component.html | 17 ++-- .../ui/queue-listing/queue-listing.component.ts| 8 +- .../queue/ui/queue-listing/queue-listing.module.ts | 4 +- .../summary/service/cluster-summary.service.ts | 6 +- .../service/process-group-status.service.ts| 6 +- .../pages/summary/state/summary-listing/index.ts | 3 +- .../summary-listing/summary-listing.actions.ts | 5 - .../summary-listing/summary-listing.effects.ts | 13 ++- .../summary-listing/summary-listing.reducer.ts | 15 +-- .../app/pages/users/state/user-listing/index.ts| 3 +- .../state/user-listing/user-listing.actions.ts | 7 +- .../state/user-listing/user-listing.effects.ts | 63 ++--- .../state/user-listing/user-listing.reducer.ts | 10 +- .../state/user-listing/user-listing.selectors.ts | 2 + .../edit-tenant/edit-tenant-dialog.component.html | 1 + .../edit-tenant-dialog.component.spec.ts | 19 +++- .../edit-tenant/edit-tenant-dialog.component.ts| 4 +- 25 files changed, 244 insertions(+), 131 deletions(-) diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/state/queue-listing/index.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/state/queue-listing/index.ts index 0ce0492f81..b5de716db7 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/state/queue-listing/index.ts +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/state/queue-listing/index.ts @@ -101,9 +101,9 @@ export interface FlowFileDialogRequest { } export interface QueueListingState { -requestEntity: ListingRequestEntity | null; +activeListingRequest: ListingRequest | null; +completedListingRequest: ListingRequest | null; connectionLabel: string; loadedTimestamp: string; -error: string | null; status: 'pending' | 'loading' | 'error' | 'success'; } diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/state/queue-listing/queue-listing.actions.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/state/queue-listing/queue-listing.actions.ts index 52c4200dba..b4ff565d1d 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/state/queue-listing/queue-listing.actions.ts +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/state/queue-listing/queue-listing.actions.ts @@ -68,6 +68,8 @@ export const stopPollingQueueListingRequest = createAction(`${QUEUE_PREFIX} Stop export const deleteQueueListingRequest = createAction(`${QUEUE_PREFIX} Delete Queue Listing Request`); +export const deleteQueueListingRequestSuccess = createAction(`${QUEUE_PREFIX} Delete Queue Listing Request Success`); + export const viewFlowFile = createAction(`${QUEUE_PREFIX} View FlowFile`, props<{ request: ViewFlowFileRequest }>()); export const openFlowFileDialog = createAction( diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/state/queue-listing/queue-listing.effects.ts
(nifi) branch main updated (49e599385d -> 4094c7f599)
This is an automated email from the ASF dual-hosted git repository. exceptionfactory pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/nifi.git from 49e599385d NIFI-12696 Added Component Type to Rule Violations for Authorization add 4094c7f599 NIFI-12740 Fixed Threading Bug with Java to Python Bound Objects No new revisions were added by this update. Summary of changes: .../apache/nifi/py4j/client/NiFiPythonGateway.java | 50 -- .../org/apache/nifi/python/PythonController.java | 2 + 2 files changed, 49 insertions(+), 3 deletions(-)
(nifi) branch main updated: NIFI-12696 Added Component Type to Rule Violations for Authorization
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 49e599385d NIFI-12696 Added Component Type to Rule Violations for Authorization 49e599385d is described below commit 49e599385d2527f8a05b929e00221b764b310eab Author: tpalfy AuthorDate: Tue Jan 30 18:00:08 2024 +0100 NIFI-12696 Added Component Type to Rule Violations for Authorization RuleViolations (these objects only reside in memory only) now contain the type of the component that is responsible for the violation. This is used in StandardNiFiServiceFacade to fix and improve the authorization logic. This closes #8318 Signed-off-by: David Handermann --- .../org/apache/nifi/validation/RuleViolation.java | 12 .../nifi/flowanalysis/StandardFlowAnalyzer.java| 7 +++ .../apache/nifi/web/StandardNiFiServiceFacade.java | 66 +++--- .../nifi/web/StandardNiFiServiceFacadeTest.java| 1 + 4 files changed, 52 insertions(+), 34 deletions(-) diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/validation/RuleViolation.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/validation/RuleViolation.java index d09cbd7b79..205ac20d4b 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/validation/RuleViolation.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/validation/RuleViolation.java @@ -18,6 +18,7 @@ package org.apache.nifi.validation; import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; +import org.apache.nifi.flow.ComponentType; import org.apache.nifi.flowanalysis.EnforcementPolicy; import java.util.StringJoiner; @@ -32,6 +33,7 @@ public class RuleViolation { private final String scope; private final String subjectId; private final String subjectDisplayName; +private final ComponentType subjectComponentType; private final String groupId; private final String ruleId; private final String issueId; @@ -45,6 +47,7 @@ public class RuleViolation { String scope, String subjectId, String subjectDisplayName, +ComponentType subjectComponentType, String groupId, String ruleId, String issueId, @@ -55,6 +58,7 @@ public class RuleViolation { this.scope = scope; this.subjectId = subjectId; this.subjectDisplayName = subjectDisplayName; +this.subjectComponentType = subjectComponentType; this.groupId = groupId; this.ruleId = ruleId; this.issueId = issueId; @@ -92,6 +96,13 @@ public class RuleViolation { return subjectDisplayName; } +/** + * @return the type of the subject that violated the rule + */ +public ComponentType getSubjectComponentType() { +return subjectComponentType; +} + /** * @return group id - if this violation is a result of a component analysis, then the id of the group of the component. * If this violation is a result of a group analysis, then the id of that group itself. @@ -146,6 +157,7 @@ public class RuleViolation { .add("scope='" + scope + "'") .add("subjectId='" + subjectId + "'") .add("subjectDisplayName='" + subjectDisplayName + "'") +.add("subjectComponentType='" + subjectComponentType + "'") .add("groupId='" + groupId + "'") .add("issueId='" + issueId + "'") .add("ruleId='" + ruleId + "'") diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/flowanalysis/StandardFlowAnalyzer.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/flowanalysis/StandardFlowAnalyzer.java index bd55cf0af8..eba4c81b05 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/flowanalysis/StandardFlowAnalyzer.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/flowanalysis/StandardFlowAnalyzer.java @@ -23,6 +23,7 @@ import org.apache.nifi.controller.flowanalysis.FlowAnalysisUtil; import org.apache.nifi.controller.flowanalysis.FlowAnalyzer; import org.apache.nifi.controller.service.ControllerServiceNode; import org.apache.nifi.controller.service.ControllerServiceProvider; +import org.apache.nifi.flow.ComponentType; import org.apache.nifi.flow.VersionedComponent; import
(nifi) branch main updated: NIFI-12710 Support microsecond precision for Timestamp Record fields
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 5f534dcc42 NIFI-12710 Support microsecond precision for Timestamp Record fields 5f534dcc42 is described below commit 5f534dcc42e99a87dd8315d0d424a3b615018cd4 Author: Mark Payne AuthorDate: Wed Jan 31 21:33:59 2024 -0500 NIFI-12710 Support microsecond precision for Timestamp Record fields - PutDatabaseRecordIT supports operating systems with either nanosecond or microsecond precision This closes #8332 Signed-off-by: David Handermann --- .../field/ObjectLocalDateTimeFieldConverter.java | 67 +- .../TestObjectLocalDateTimeFieldConverter.java | 88 +++ .../nifi/util/text/RegexDateTimeMatcher.java | 8 +- .../nifi-standard-processors/pom.xml | 31 +++ .../processors/standard/PutDatabaseRecordIT.java | 263 + .../PutDatabaseRecordIT/create-person-table.sql| 7 + 6 files changed, 448 insertions(+), 16 deletions(-) diff --git a/nifi-commons/nifi-record/src/main/java/org/apache/nifi/serialization/record/field/ObjectLocalDateTimeFieldConverter.java b/nifi-commons/nifi-record/src/main/java/org/apache/nifi/serialization/record/field/ObjectLocalDateTimeFieldConverter.java index 860f0ebf4d..6408949537 100644 --- a/nifi-commons/nifi-record/src/main/java/org/apache/nifi/serialization/record/field/ObjectLocalDateTimeFieldConverter.java +++ b/nifi-commons/nifi-record/src/main/java/org/apache/nifi/serialization/record/field/ObjectLocalDateTimeFieldConverter.java @@ -30,6 +30,8 @@ import java.util.Optional; * Convert Object to java.time.LocalDateTime using instanceof evaluation and optional format pattern for DateTimeFormatter */ class ObjectLocalDateTimeFieldConverter implements FieldConverter { +private static final long YEAR_TEN_THOUSAND = 253_402_300_800_000L; + /** * Convert Object field to java.sql.Timestamp using optional format supported in DateTimeFormatter * @@ -51,10 +53,13 @@ class ObjectLocalDateTimeFieldConverter implements FieldConverter YEAR_TEN_THOUSAND) { +// Value is too large. Assume microseconds instead of milliseconds. +final Instant microsInstant = Instant.ofEpochSecond(value / 1_000_000, (value % 1_000_000) * 1_000); +return ofInstant(microsInstant); +} + +final Instant instant = Instant.ofEpochMilli(value); +final LocalDateTime localDateTime = ofInstant(instant); + +return localDateTime; +} + private LocalDateTime ofInstant(final Instant instant) { return LocalDateTime.ofInstant(instant, ZoneId.systemDefault()); } diff --git a/nifi-commons/nifi-record/src/test/java/org/apache/nifi/serialization/record/field/TestObjectLocalDateTimeFieldConverter.java b/nifi-commons/nifi-record/src/test/java/org/apache/nifi/serialization/record/field/TestObjectLocalDateTimeFieldConverter.java new file mode 100644 index 00..d44826d45b --- /dev/null +++ b/nifi-commons/nifi-record/src/test/java/org/apache/nifi/serialization/record/field/TestObjectLocalDateTimeFieldConverter.java @@ -0,0 +1,88 @@ +/* + * 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.serialization.record.field; + +import org.junit.jupiter.api.Test; + +import java.time.Instant; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.util.Optional; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class TestObjectLocalDateTimeFieldConverter { +private static final String FIELD_NAME = "test"; +private static final long MILLIS_TIMESTAMP_LONG = 1707238288351L; +private static final long MICROS_TIMESTAMP_LONG = 1707238288351567L; +private static final String MICROS_TIMESTAMP_STRING = Long.toString(MICROS_TIMESTAMP_LONG); +private static final double MICROS_TIMESTAMP_DOUBLE = ((double) MICROS_TIMESTAMP_LONG) / 100D; +private static final long NANOS_AFTER_SECOND = 351567000L; +private static final Instant