(nifi) branch main updated: NIFI-12875 Added Response Handling Strategy to RestLookupService

2024-04-03 Thread exceptionfactory
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 84df025ccf NIFI-12875 Added Response Handling Strategy to 
RestLookupService
84df025ccf is described below

commit 84df025ccfe68bf9eefc0a43ad14fdc727e3723d
Author: Gregory M. Foreman 
AuthorDate: Thu Mar 7 17:49:32 2024 -0600

NIFI-12875 Added Response Handling Strategy to RestLookupService

This closes #8484

Signed-off-by: David Handermann 
---
 .../nifi/lookup/ResponseHandlingStrategy.java  | 49 ++
 .../org/apache/nifi/lookup/RestLookupService.java  | 21 +-
 .../apache/nifi/lookup/TestRestLookupService.java  | 27 
 3 files changed, 96 insertions(+), 1 deletion(-)

diff --git 
a/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/ResponseHandlingStrategy.java
 
b/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/ResponseHandlingStrategy.java
new file mode 100644
index 00..241737a1bc
--- /dev/null
+++ 
b/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/ResponseHandlingStrategy.java
@@ -0,0 +1,49 @@
+/*
+ * 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.lookup;
+
+import org.apache.nifi.components.DescribedValue;
+
+public enum ResponseHandlingStrategy implements DescribedValue {
+RETURNED("Returned", "Successful and unsuccessful HTTP responses are 
returned."),
+EVALUATED("Evaluated", "Successful HTTP responses are returned and 
unsuccessful HTTP responses generate an exception.");
+
+private final String displayName;
+private final String description;
+
+ResponseHandlingStrategy(final String displayName, final String 
description) {
+this.displayName = displayName;
+this.description = description;
+}
+
+@Override
+public String getValue() {
+return name();
+}
+
+@Override
+public String getDisplayName() {
+return displayName;
+}
+
+@Override
+public String getDescription() {
+return description;
+}
+
+}
diff --git 
a/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/RestLookupService.java
 
b/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/RestLookupService.java
index 30d7939f2d..aa3d0864b2 100644
--- 
a/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/RestLookupService.java
+++ 
b/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/RestLookupService.java
@@ -172,6 +172,15 @@ public class RestLookupService extends 
AbstractControllerService implements Reco
 .addValidator(StandardValidators.TIME_PERIOD_VALIDATOR)
 .build();
 
+public static final PropertyDescriptor RESPONSE_HANDLING_STRATEGY = new 
PropertyDescriptor.Builder()
+.name("rest-lookup-response-handling-strategy")
+.displayName("Response Handling Strategy")
+.description("Whether to return all responses or throw errors for 
unsuccessful HTTP status codes.")
+.required(true)
+.defaultValue(ResponseHandlingStrategy.RETURNED)
+.allowableValues(ResponseHandlingStrategy.class)
+.build();
+
 private static final ProxySpec[] PROXY_SPECS = {ProxySpec.HTTP_AUTH, 
ProxySpec.SOCKS};
 public static final PropertyDescriptor PROXY_CONFIGURATION_SERVICE
 = ProxyConfiguration.createProxyConfigPropertyDescriptor(true, 
PROXY_SPECS);
@@ -190,6 +199,7 @@ public class RestLookupService extends 
AbstractControllerService implements Reco
 URL,
 RECORD_READER,
 RECORD_PATH,
+RESPONSE_HANDLING_STRATEGY,

(nifi) branch main updated (98c4061cfe -> 6939ffc08d)

2024-04-03 Thread exceptionfactory
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 98c4061cfe NIFI-12996 Moved zstd-jni to standard-shared-nar
 add 6939ffc08d NIFI-12982 Extend test suite of MockProcessSession

No new revisions were added by this update.

Summary of changes:
 .../apache/nifi/util/TestMockProcessSession.java   | 704 -
 1 file changed, 555 insertions(+), 149 deletions(-)



(nifi) branch support/nifi-1.x updated: NIFI-12996 Moved zstd-jni to standard-shared-nar

2024-04-03 Thread exceptionfactory
This is an automated email from the ASF dual-hosted git repository.

exceptionfactory 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 d3ea429d25 NIFI-12996 Moved zstd-jni to standard-shared-nar
d3ea429d25 is described below

commit d3ea429d25db6f339ddd0701d2bb2616f054eed6
Author: Joseph Witt 
AuthorDate: Wed Apr 3 18:32:40 2024 -0500

NIFI-12996 Moved zstd-jni to standard-shared-nar

- zstd-jni must be present in the same NAR as commons-compress

This closes #8598

Signed-off-by: David Handermann 

(cherry picked from commit 98c4061cfee78590a7d391e53a835c5b87ca4bed)
---
 .../nifi-standard-bundle/nifi-standard-processors/pom.xml | 8 
 .../java/org/apache/nifi/processors/standard/CompressContent.java | 3 +--
 nifi-nar-bundles/nifi-standard-bundle/pom.xml | 5 -
 .../nifi-standard-shared-bundle/nifi-standard-shared-bom/pom.xml  | 8 
 .../nifi-standard-shared-bundle/nifi-standard-shared-nar/pom.xml  | 4 
 pom.xml   | 6 ++
 6 files changed, 23 insertions(+), 11 deletions(-)

diff --git 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml
index 9e3be54474..85256174a7 100644
--- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml
+++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml
@@ -141,6 +141,10 @@
 org.apache.commons
 commons-compress
 
+
+com.github.luben
+zstd-jni
+
 
 org.apache.commons
 commons-lang3
@@ -234,10 +238,6 @@
 com.github.jponge
 lzma-java
 
-
-com.github.luben
-zstd-jni
-
 
 com.aayushatharva.brotli4j
 brotli4j
diff --git 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/CompressContent.java
 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/CompressContent.java
index dc83ca6686..90e190e8cb 100644
--- 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/CompressContent.java
+++ 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/CompressContent.java
@@ -348,8 +348,7 @@ public class CompressContent extends AbstractProcessor {
 compressionOut = new 
CompressorStreamFactory().createCompressorOutputStream(compressionFormat.toLowerCase(),
 bufferedOut);
 break;
 case COMPRESSION_FORMAT_ZSTD:
-final int zstdcompressionLevel = 
context.getProperty(COMPRESSION_LEVEL).asInteger() * 2;
-compressionOut = new 
ZstdCompressorOutputStream(bufferedOut, zstdcompressionLevel);
+compressionOut = new 
ZstdCompressorOutputStream(bufferedOut);
 mimeTypeRef.set("application/zstd");
 break;
 case COMPRESSION_FORMAT_BROTLI:
diff --git a/nifi-nar-bundles/nifi-standard-bundle/pom.xml 
b/nifi-nar-bundles/nifi-standard-bundle/pom.xml
index 6831c02407..e2cf9dbce5 100644
--- a/nifi-nar-bundles/nifi-standard-bundle/pom.xml
+++ b/nifi-nar-bundles/nifi-standard-bundle/pom.xml
@@ -133,11 +133,6 @@
 lzma-java
 1.3
 
-
-com.github.luben
-zstd-jni
-1.5.5-6
-
 
 com.aayushatharva.brotli4j
 brotli4j
diff --git 
a/nifi-nar-bundles/nifi-standard-shared-bundle/nifi-standard-shared-bom/pom.xml 
b/nifi-nar-bundles/nifi-standard-shared-bundle/nifi-standard-shared-bom/pom.xml
index 0081a6299c..3fab747209 100644
--- 
a/nifi-nar-bundles/nifi-standard-shared-bundle/nifi-standard-shared-bom/pom.xml
+++ 
b/nifi-nar-bundles/nifi-standard-shared-bundle/nifi-standard-shared-bom/pom.xml
@@ -31,12 +31,20 @@
 ${org.apache.commons.codec.version}
 provided
 
+
 
 org.apache.commons
 commons-compress
 ${org.apache.commons.compress.version}
 provided
 
+
+com.github.luben
+zstd-jni
+${com.github.luben.zstd-jni.version}
+provided
+
+
 
 

(nifi) branch main updated (3a03caa149 -> 98c4061cfe)

2024-04-03 Thread exceptionfactory
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 3a03caa149 NIFI-12969: Fixed a typo in the #isTempDestinationNecessary 
method, where we were comparing existingConnection.getProcessGroup() to 
newDestination.getProcessGroup(), instead of comparing 
existingConnection.getDestination().getProcessGroup() to 
newDestination.getProcessGroup(). I.e., we were comparing the Destination's PG 
to the Connection's PG instead of comparing Destination's PG to Destination's 
PG. This resulted in using a temporary funnel when we shouldn't. And as  [...]
 add 98c4061cfe NIFI-12996 Moved zstd-jni to standard-shared-nar

No new revisions were added by this update.

Summary of changes:
 .../nifi-standard-bundle/nifi-standard-processors/pom.xml | 8 
 .../java/org/apache/nifi/processors/standard/CompressContent.java | 3 +--
 nifi-nar-bundles/nifi-standard-bundle/pom.xml | 5 -
 .../nifi-standard-shared-bundle/nifi-standard-shared-bom/pom.xml  | 8 
 .../nifi-standard-shared-bundle/nifi-standard-shared-nar/pom.xml  | 4 
 pom.xml   | 6 ++
 6 files changed, 23 insertions(+), 11 deletions(-)



(nifi) branch support/nifi-1.x updated: NIFI-12969: Fixed a typo in the #isTempDestinationNecessary method, where we were comparing existingConnection.getProcessGroup() to newDestination.getProcessGro

2024-04-03 Thread joewitt
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 212763dd79 NIFI-12969: Fixed a typo in the #isTempDestinationNecessary 
method, where we were comparing existingConnection.getProcessGroup() to 
newDestination.getProcessGroup(), instead of comparing 
existingConnection.getDestination().getProcessGroup() to 
newDestination.getProcessGroup(). I.e., we were comparing the Destination's PG 
to the Connection's PG instead of comparing Destination's PG to Destination's 
PG. This resulted in using a temporary funnel when we shouldn't. And as  [...]
212763dd79 is described below

commit 212763dd79b3652c9870ff6a59db28c232113c55
Author: Mark Payne 
AuthorDate: Wed Apr 3 16:35:35 2024 -0400

NIFI-12969: Fixed a typo in the #isTempDestinationNecessary method, where 
we were comparing existingConnection.getProcessGroup() to 
newDestination.getProcessGroup(), instead of comparing 
existingConnection.getDestination().getProcessGroup() to 
newDestination.getProcessGroup(). I.e., we were comparing the Destination's PG 
to the Connection's PG instead of comparing Destination's PG to Destination's 
PG. This resulted in using a temporary funnel when we shouldn't. And as a 
result it atte [...]

Signed-off-by: Joseph Witt 
---
 .../flow/synchronization/StandardVersionedComponentSynchronizer.java| 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/flow/synchronization/StandardVersionedComponentSynchronizer.java
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/flow/synchronization/StandardVersionedComponentSynchronizer.java
index 0951775778..12420e3764 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/flow/synchronization/StandardVersionedComponentSynchronizer.java
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/flow/synchronization/StandardVersionedComponentSynchronizer.java
@@ -735,7 +735,7 @@ public class StandardVersionedComponentSynchronizer 
implements VersionedComponen
 // If the destination is an Input Port or an Output Port and the group 
changed, use a temp destination
 final ConnectableType connectableType = 
newDestination.getConnectableType();
 final boolean port = connectableType == ConnectableType.OUTPUT_PORT || 
connectableType == ConnectableType.INPUT_PORT;
-final boolean groupChanged = 
!newDestination.getProcessGroup().equals(existingConnection.getProcessGroup());
+final boolean groupChanged = 
!newDestination.getProcessGroup().equals(existingConnection.getDestination().getProcessGroup());
 if (port && groupChanged) {
 LOG.debug("Will use a temporary destination for {} because its 
destination is a port whose group has changed", existingConnection);
 return true;



(nifi) branch main updated: NIFI-12969: Fixed a typo in the #isTempDestinationNecessary method, where we were comparing existingConnection.getProcessGroup() to newDestination.getProcessGroup(), instea

2024-04-03 Thread joewitt
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 3a03caa149 NIFI-12969: Fixed a typo in the #isTempDestinationNecessary 
method, where we were comparing existingConnection.getProcessGroup() to 
newDestination.getProcessGroup(), instead of comparing 
existingConnection.getDestination().getProcessGroup() to 
newDestination.getProcessGroup(). I.e., we were comparing the Destination's PG 
to the Connection's PG instead of comparing Destination's PG to Destination's 
PG. This resulted in using a temporary funnel when we shouldn't. And as  [...]
3a03caa149 is described below

commit 3a03caa14968d0c9a2e6790373871e886b632f09
Author: Mark Payne 
AuthorDate: Wed Apr 3 16:35:35 2024 -0400

NIFI-12969: Fixed a typo in the #isTempDestinationNecessary method, where 
we were comparing existingConnection.getProcessGroup() to 
newDestination.getProcessGroup(), instead of comparing 
existingConnection.getDestination().getProcessGroup() to 
newDestination.getProcessGroup(). I.e., we were comparing the Destination's PG 
to the Connection's PG instead of comparing Destination's PG to Destination's 
PG. This resulted in using a temporary funnel when we shouldn't. And as a 
result it atte [...]

This closes #8600.

Signed-off-by: Joseph Witt 
---
 .../flow/synchronization/StandardVersionedComponentSynchronizer.java| 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/flow/synchronization/StandardVersionedComponentSynchronizer.java
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/flow/synchronization/StandardVersionedComponentSynchronizer.java
index 74ffd715b3..7b128fc6bd 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/flow/synchronization/StandardVersionedComponentSynchronizer.java
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/flow/synchronization/StandardVersionedComponentSynchronizer.java
@@ -741,7 +741,7 @@ public class StandardVersionedComponentSynchronizer 
implements VersionedComponen
 // If the destination is an Input Port or an Output Port and the group 
changed, use a temp destination
 final ConnectableType connectableType = 
newDestination.getConnectableType();
 final boolean port = connectableType == ConnectableType.OUTPUT_PORT || 
connectableType == ConnectableType.INPUT_PORT;
-final boolean groupChanged = 
!newDestination.getProcessGroup().equals(existingConnection.getProcessGroup());
+final boolean groupChanged = 
!newDestination.getProcessGroup().equals(existingConnection.getDestination().getProcessGroup());
 if (port && groupChanged) {
 LOG.debug("Will use a temporary destination for {} because its 
destination is a port whose group has changed", existingConnection);
 return true;



(nifi) branch main updated: NIFI-12972 - Only show selected relationships in read-only connection details (#8582)

2024-04-03 Thread mcgilman
This is an automated email from the ASF dual-hosted git repository.

mcgilman 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 644d086ff2 NIFI-12972 - Only show selected relationships in read-only 
connection details (#8582)
644d086ff2 is described below

commit 644d086ff2d8d98bb8c31e714e1a254493f9daf3
Author: Pierre Villard 
AuthorDate: Thu Apr 4 01:50:17 2024 +0300

NIFI-12972 - Only show selected relationships in read-only connection 
details (#8582)

* NIFI-12972 - Only show selected relationships in read-only connection 
details

* review

This closes #8582
---
 .../webapp/WEB-INF/partials/connection-details.jsp |  5 ++---
 .../src/main/webapp/js/nf/nf-connection-details.js | 25 ++
 2 files changed, 8 insertions(+), 22 deletions(-)

diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/connection-details.jsp
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/connection-details.jsp
index e02f8a2413..f32ecdb763 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/connection-details.jsp
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/connection-details.jsp
@@ -38,8 +38,7 @@
 
 
 
-Relationships
-
+Selected relationships
 
 
 
@@ -161,4 +160,4 @@
 
 
 
-
\ No newline at end of file
+
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-connection-details.js
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-connection-details.js
index 05db5db53b..8a0fd32f15 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-connection-details.js
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-connection-details.js
@@ -370,7 +370,7 @@
  * @argument {string} name  The relationship name
  */
 var createRelationshipOption = function (name) {
-$('').append(
+return $('').append(
 $('').text(name)).appendTo('#read-only-relationship-names');
 };
 
@@ -496,30 +496,17 @@
 var availableRelationships = 
connection.availableRelationships;
 var selectedRelationships = 
connection.selectedRelationships;
 
-// show the available relationship if applicable
+// show the selected relationships if applicable
 if 
(nfCommon.isDefinedAndNotNull(availableRelationships) || 
nfCommon.isDefinedAndNotNull(selectedRelationships)) {
-// populate the available connections
-$.each(availableRelationships, function (i, name) {
-createRelationshipOption(name);
-});
-
-// ensure all selected relationships are present
-// (may be undefined) and selected
+// populate the selected connections
 $.each(selectedRelationships, function (i, name) {
 // mark undefined relationships accordingly
 if ($.inArray(name, availableRelationships) 
=== -1) {
 var option = 
createRelationshipOption(name);
 
$(option).children('div.relationship-name').addClass('undefined');
+} else {
+createRelationshipOption(name);
 }
-
-// ensure all selected relationships are bold
-var relationships = 
$('#read-only-relationship-names').children('div');
-
$.each(relationships.children('div.relationship-name'), function (i, 
relationshipNameElement) {
-var relationshipName = 
$(relationshipNameElement);
-if (relationshipName.text() === name) {
-relationshipName.css('font-weight', 
'bold');
-}
-});
 });
 
 $('#selected-relationship-text').show();

(nifi) branch main updated: NIFI-12735 Adding the option to execute flow analysis before committing snapshot to registry

2024-04-03 Thread tpalfy
This is an automated email from the ASF dual-hosted git repository.

tpalfy 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 88d434f9ec NIFI-12735 Adding the option to execute flow analysis 
before committing snapshot to registry
88d434f9ec is described below

commit 88d434f9eca41b939e2eb7213f45b8bb8ae00ed3
Author: Bence Simon 
AuthorDate: Thu Feb 8 15:41:27 2024 +0100

NIFI-12735 Adding the option to execute flow analysis before committing 
snapshot to registry

This closes #8377.

Signed-off-by: Tamas Palfy 
---
 .../flow/FlowRegistryPreCommitException.java   |  23 ++
 .../java/org/apache/nifi/util/NiFiProperties.java  |  20 +
 .../controller/flowanalysis/FlowAnalysisUtil.java  |   0
 .../flow/FlowAnalyzingRegistryClientNode.java  | 453 +
 .../flow/FlowAnalyzingRegistryClientNodeTest.java  | 139 +++
 .../apache/nifi/controller/ExtensionBuilder.java   |  23 +-
 .../nifi/controller/flow/StandardFlowManager.java  |   4 +-
 .../nifi-framework/nifi-resources/pom.xml  |   3 +
 .../src/main/resources/conf/nifi.properties|   3 +
 .../apache/nifi/web/StandardNiFiServiceFacade.java |  22 +-
 10 files changed, 672 insertions(+), 18 deletions(-)

diff --git 
a/nifi-api/src/main/java/org/apache/nifi/registry/flow/FlowRegistryPreCommitException.java
 
b/nifi-api/src/main/java/org/apache/nifi/registry/flow/FlowRegistryPreCommitException.java
new file mode 100644
index 00..46e4f43f18
--- /dev/null
+++ 
b/nifi-api/src/main/java/org/apache/nifi/registry/flow/FlowRegistryPreCommitException.java
@@ -0,0 +1,23 @@
+/*
+ * 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.registry.flow;
+
+public class FlowRegistryPreCommitException extends FlowRegistryException {
+public FlowRegistryPreCommitException(final String message) {
+super(message);
+}
+}
diff --git 
a/nifi-commons/nifi-properties/src/main/java/org/apache/nifi/util/NiFiProperties.java
 
b/nifi-commons/nifi-properties/src/main/java/org/apache/nifi/util/NiFiProperties.java
index 2ddee1d959..2e3829fe36 100644
--- 
a/nifi-commons/nifi-properties/src/main/java/org/apache/nifi/util/NiFiProperties.java
+++ 
b/nifi-commons/nifi-properties/src/main/java/org/apache/nifi/util/NiFiProperties.java
@@ -300,6 +300,9 @@ public class NiFiProperties extends ApplicationProperties {
 public static final String ANALYTICS_CONNECTION_MODEL_SCORE_NAME = 
"nifi.analytics.connection.model.score.name";
 public static final String ANALYTICS_CONNECTION_MODEL_SCORE_THRESHOLD = 
"nifi.analytics.connection.model.score.threshold";
 
+// registry client properties
+public static final String 
FLOW_REGISTRY_CHECK_FOR_RULE_VIOLATIONS_BEFORE_COMMIT = 
"nifi.registry.check.for.rule.violations.before.commit";
+
 // runtime monitoring properties
 public static final String MONITOR_LONG_RUNNING_TASK_SCHEDULE = 
"nifi.monitor.long.running.task.schedule";
 public static final String MONITOR_LONG_RUNNING_TASK_THRESHOLD = 
"nifi.monitor.long.running.task.threshold";
@@ -399,6 +402,7 @@ public class NiFiProperties extends ApplicationProperties {
 private static final String DEFAULT_SECURITY_USER_JWS_KEY_ROTATION_PERIOD 
= "PT1H";
 public static final String DEFAULT_WEB_SHOULD_SEND_SERVER_VERSION = "true";
 public static final int DEFAULT_LISTENER_BOOTSTRAP_PORT = 0;
+public static final Boolean 
DEFAULT_FLOW_REGISTRY_CHECK_FOR_RULE_VIOLATIONS_BEFORE_COMMIT = false;
 
 // cluster common defaults
 public static final String DEFAULT_CLUSTER_PROTOCOL_HEARTBEAT_INTERVAL = 
"5 sec";
@@ -1844,6 +1848,22 @@ public class NiFiProperties extends 
ApplicationProperties {
 .collect(Collectors.toSet());
 }
 
+/**
+ * @return Returns true if NiFi should execute flow analysis on the 
process group before committing it to a registry. Returns
+ * false otherwise.
+ */
+public boolean flowRegistryCheckForRuleViolationsBeforeCommit() {
+final String flowRegistryCheckForRuleViolationsBeforeCommit = 
getProperty(
+

(nifi-minifi-cpp) branch main updated: MINIFICPP-2322 MINIFI_INCLUDE_UCRT_DLLS and MINIFI_INCLUDE_VC_REDIST_DLLS shouldnt be mutually exclusive

2024-04-03 Thread fgerlits
This is an automated email from the ASF dual-hosted git repository.

fgerlits pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git


The following commit(s) were added to refs/heads/main by this push:
 new a2c22001b MINIFICPP-2322 MINIFI_INCLUDE_UCRT_DLLS and 
MINIFI_INCLUDE_VC_REDIST_DLLS shouldnt be mutually exclusive
a2c22001b is described below

commit a2c22001b2835fe2386a3d202af6f484c75a2ecd
Author: Martin Zink 
AuthorDate: Wed Apr 3 13:10:09 2024 +0200

MINIFICPP-2322 MINIFI_INCLUDE_UCRT_DLLS and MINIFI_INCLUDE_VC_REDIST_DLLS 
shouldnt be mutually exclusive

Signed-off-by: Ferenc Gerlits 
This closes #1752
---
 CMakeLists.txt| 6 +-
 cmake/MiNiFiOptions.cmake | 4 ++--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 167a667ad..9d68cac75 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -482,8 +482,12 @@ if(WIN32)
 COMPONENT bin
 )
 endif()
-elseif(MINIFI_INCLUDE_VC_REDIST_MERGE_MODULES)
+endif()
+if(MINIFI_INCLUDE_VC_REDIST_MERGE_MODULES)
 message("Creating installer with merge modules for Visual C++ 
Redistributable")
+if(MINIFI_INCLUDE_VC_REDIST_DLLS)
+message(WARNING "MINIFI_INCLUDE_VC_REDIST_MERGE_MODULES and 
MINIFI_INCLUDE_VC_REDIST_DLLS are both set, only 
MINIFI_INCLUDE_VC_REDIST_MERGE_MODULES will be used")
+endif()
 file(GLOB VCRUNTIME_X86_MERGEMODULES 
"${VCRUNTIME_REDIST_DIR}/MergeModules/Microsoft_VC*_CRT_x86.msm")
 file(GLOB VCRUNTIME_X64_MERGEMODULES 
"${VCRUNTIME_REDIST_DIR}/MergeModules/Microsoft_VC*_CRT_x64.msm")
 if (NOT VCRUNTIME_X86_MERGEMODULES OR NOT VCRUNTIME_X64_MERGEMODULES)
diff --git a/cmake/MiNiFiOptions.cmake b/cmake/MiNiFiOptions.cmake
index 560d1d37b..de2b264ed 100644
--- a/cmake/MiNiFiOptions.cmake
+++ b/cmake/MiNiFiOptions.cmake
@@ -79,8 +79,8 @@ list(APPEND STRICT_GSL_CHECKS_Values AUDIT ON DEBUG_ONLY OFF)
 set_property(CACHE STRICT_GSL_CHECKS PROPERTY STRINGS 
${STRICT_GSL_CHECKS_Values})
 
 if (WIN32)
-add_minifi_option(MINIFI_INCLUDE_VC_REDIST_MERGE_MODULES "Include Visual 
C++ Redistributable DLLs with the MSI generated by CPack. The resulting MSI is 
not distributable under Apache 2.0." OFF)
-add_minifi_option(MINIFI_INCLUDE_VC_REDIST_DLLS "Include merge modules for 
Visual C++ Redistributable with the MSI generated by CPack. The resulting MSI 
is not distributable under Apache 2.0." OFF)
+add_minifi_option(MINIFI_INCLUDE_VC_REDIST_MERGE_MODULES "Include merge 
modules for Visual C++ Redistributable with the MSI generated by CPack. The 
resulting MSI is not distributable under Apache 2.0." OFF)
+add_minifi_option(MINIFI_INCLUDE_VC_REDIST_DLLS "Include Visual C++ 
Redistributable DLLs with the MSI generated by CPack. The resulting MSI is not 
distributable under Apache 2.0." OFF)
 add_minifi_option(MINIFI_INCLUDE_UCRT_DLLS "Redistribute Universal C 
Runtime DLLs with the MSI generated by CPack. The resulting MSI is not 
distributable under Apache 2.0." OFF)
 add_minifi_option(ENABLE_WEL "Enables the suite of Windows Event Log 
extensions." ON)
 add_minifi_option(ENABLE_PDH "Enables PDH support." OFF)