This is an automated email from the ASF dual-hosted git repository. pwicks pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/master by this push: new f9f386b NIFI-5871 ignore UUID attribute when copying flow file attributes (#3203) f9f386b is described below commit f9f386b0f01fb7492ea6e9a56ca6cbc3d4578ad3 Author: SavtechSolutions <alex.v.savit...@gmail.com> AuthorDate: Thu Dec 20 12:05:25 2018 -0500 NIFI-5871 ignore UUID attribute when copying flow file attributes (#3203) NIFI-5871 ignore UUID attribute when copying flow file attributes Signed-off-by: Peter Wicks <patric...@gmail.com> --- .../main/java/org/apache/nifi/util/MockProcessSession.java | 9 ++++++++- .../nifi/processors/couchbase/TestPutCouchbaseKey.java | 1 - .../java/org/apache/nifi/processors/standard/TestWait.java | 12 ------------ 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/nifi-mock/src/main/java/org/apache/nifi/util/MockProcessSession.java b/nifi-mock/src/main/java/org/apache/nifi/util/MockProcessSession.java index 1629e96..f48b919 100644 --- a/nifi-mock/src/main/java/org/apache/nifi/util/MockProcessSession.java +++ b/nifi-mock/src/main/java/org/apache/nifi/util/MockProcessSession.java @@ -496,7 +496,14 @@ public class MockProcessSession implements ProcessSession { final MockFlowFile newFlowFile = new MockFlowFile(mock.getId(), flowFile); currentVersions.put(newFlowFile.getId(), newFlowFile); - newFlowFile.putAttributes(attrs); + final Map<String, String> updatedAttributes; + if (attrs.containsKey(CoreAttributes.UUID.key())) { + updatedAttributes = new HashMap<>(attrs); + updatedAttributes.remove(CoreAttributes.UUID.key()); + } else { + updatedAttributes = attrs; + } + newFlowFile.putAttributes(updatedAttributes); return newFlowFile; } diff --git a/nifi-nar-bundles/nifi-couchbase-bundle/nifi-couchbase-processors/src/test/java/org/apache/nifi/processors/couchbase/TestPutCouchbaseKey.java b/nifi-nar-bundles/nifi-couchbase-bundle/nifi-couchbase-processors/src/test/java/org/apache/nifi/processors/couchbase/TestPutCouchbaseKey.java index ce9baa7..c32fff7 100644 --- a/nifi-nar-bundles/nifi-couchbase-bundle/nifi-couchbase-processors/src/test/java/org/apache/nifi/processors/couchbase/TestPutCouchbaseKey.java +++ b/nifi-nar-bundles/nifi-couchbase-bundle/nifi-couchbase-processors/src/test/java/org/apache/nifi/processors/couchbase/TestPutCouchbaseKey.java @@ -268,7 +268,6 @@ public class TestPutCouchbaseKey { ArgumentCaptor<RawJsonDocument> capture = ArgumentCaptor.forClass(RawJsonDocument.class); verify(bucket, times(1)).upsert(capture.capture(), eq(PersistTo.NONE), eq(ReplicateTo.NONE)); - assertEquals(uuid, capture.getValue().id()); assertEquals(inFileData, capture.getValue().content()); testRunner.assertTransferCount(REL_SUCCESS, 1); diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestWait.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestWait.java index a4df2f3..5b5b6fc 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestWait.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestWait.java @@ -218,7 +218,6 @@ public class TestWait { waitAttributes.put("releaseSignalAttribute", "key"); waitAttributes.put("wait.only", "waitValue"); waitAttributes.put("both", "waitValue"); - waitAttributes.put("uuid", UUID.randomUUID().toString()); String flowFileContent = "content"; runner.enqueue(flowFileContent.getBytes("UTF-8"), waitAttributes); @@ -234,8 +233,6 @@ public class TestWait { // show a new attribute was copied from the cache assertEquals("notifyValue", outputFlowFile.getAttribute("notify.only")); - // show that uuid was not overwritten - assertEquals(waitAttributes.get("uuid"), outputFlowFile.getAttribute("uuid")); // show that the original attributes are still there assertEquals("waitValue", outputFlowFile.getAttribute("wait.only")); @@ -265,7 +262,6 @@ public class TestWait { waitAttributes.put("releaseSignalAttribute", "key"); waitAttributes.put("wait.only", "waitValue"); waitAttributes.put("both", "waitValue"); - waitAttributes.put("uuid", UUID.randomUUID().toString()); String flowFileContent = "content"; runner.enqueue(flowFileContent.getBytes("UTF-8"), waitAttributes); @@ -278,8 +274,6 @@ public class TestWait { // show a new attribute was copied from the cache assertEquals("notifyValue", outputFlowFile.getAttribute("notify.only")); - // show that uuid was not overwritten - assertEquals(waitAttributes.get("uuid"), outputFlowFile.getAttribute("uuid")); // show that the original attributes are still there assertEquals("waitValue", outputFlowFile.getAttribute("wait.only")); @@ -307,7 +301,6 @@ public class TestWait { waitAttributes.put("targetSignalCount", "3"); waitAttributes.put("wait.only", "waitValue"); waitAttributes.put("both", "waitValue"); - waitAttributes.put("uuid", UUID.randomUUID().toString()); String flowFileContent = "content"; runner.enqueue(flowFileContent.getBytes("UTF-8"), waitAttributes); @@ -359,8 +352,6 @@ public class TestWait { // show a new attribute was copied from the cache assertEquals("notifyValue", outputFlowFile.getAttribute("notify.only")); - // show that uuid was not overwritten - assertEquals(waitAttributes.get("uuid"), outputFlowFile.getAttribute("uuid")); // show that the original attributes are still there assertEquals("waitValue", outputFlowFile.getAttribute("wait.only")); // show that the original attribute is kept @@ -391,7 +382,6 @@ public class TestWait { waitAttributes.put("signalCounterName", "counter-B"); waitAttributes.put("wait.only", "waitValue"); waitAttributes.put("both", "waitValue"); - waitAttributes.put("uuid", UUID.randomUUID().toString()); String flowFileContent = "content"; runner.enqueue(flowFileContent.getBytes("UTF-8"), waitAttributes); @@ -446,8 +436,6 @@ public class TestWait { // show a new attribute was copied from the cache assertEquals("notifyValue", outputFlowFile.getAttribute("notify.only")); - // show that uuid was not overwritten - assertEquals(waitAttributes.get("uuid"), outputFlowFile.getAttribute("uuid")); // show that the original attributes are still there assertEquals("waitValue", outputFlowFile.getAttribute("wait.only")); // show that the original attribute is kept