You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by js...@apache.org on 2017/07/11 13:55:09 UTC
[1/2] nifi git commit: NIFI-3218: throw exception in
MockProcessSession when transferring file to self
Repository: nifi
Updated Branches:
refs/heads/master 0fd51b4d1 -> 07a6499da
NIFI-3218: throw exception in MockProcessSession when transferring file to self
Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/58f60b3c
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/58f60b3c
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/58f60b3c
Branch: refs/heads/master
Commit: 58f60b3cf0430e1ca5141c550595cd827b7e4b3e
Parents: 0fd51b4
Author: m-hogue <ho...@gmail.com>
Authored: Thu Jul 6 12:10:09 2017 -0400
Committer: Joe Skora <js...@apache.org>
Committed: Tue Jul 11 13:51:13 2017 +0000
----------------------------------------------------------------------
.../main/java/org/apache/nifi/util/MockProcessSession.java | 7 +++++++
.../java/org/apache/nifi/util/TestMockProcessSession.java | 9 +++++++++
2 files changed, 16 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/nifi/blob/58f60b3c/nifi-mock/src/main/java/org/apache/nifi/util/MockProcessSession.java
----------------------------------------------------------------------
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 af472d6..553c6e4 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
@@ -756,6 +756,13 @@ public class MockProcessSession implements ProcessSession {
throw new IllegalArgumentException("I only accept MockFlowFile");
}
+ // if the flowfile provided was created in this session (i.e. it's in currentVersions),
+ // then throw an exception indicating that you can't transfer flowfiles back to self.
+ // this mimics the behavior of StandardProcessSession
+ if(currentVersions.get(flowFile.getId()) != null) {
+ throw new IllegalArgumentException("Cannot transfer FlowFiles that are created in this Session back to self");
+ }
+
final MockFlowFile mockFlowFile = (MockFlowFile) flowFile;
beingProcessed.remove(flowFile.getId());
processorQueue.offer(mockFlowFile);
http://git-wip-us.apache.org/repos/asf/nifi/blob/58f60b3c/nifi-mock/src/test/java/org/apache/nifi/util/TestMockProcessSession.java
----------------------------------------------------------------------
diff --git a/nifi-mock/src/test/java/org/apache/nifi/util/TestMockProcessSession.java b/nifi-mock/src/test/java/org/apache/nifi/util/TestMockProcessSession.java
index 1c554d2..7173f72 100644
--- a/nifi-mock/src/test/java/org/apache/nifi/util/TestMockProcessSession.java
+++ b/nifi-mock/src/test/java/org/apache/nifi/util/TestMockProcessSession.java
@@ -80,6 +80,15 @@ public class TestMockProcessSession {
}
+ @Test(expected = IllegalArgumentException.class)
+ public void testRejectTransferNewlyCreatedFileToSelf() {
+ final Processor processor = new PoorlyBehavedProcessor();
+ final MockProcessSession session = new MockProcessSession(new SharedSessionState(processor, new AtomicLong(0L)), processor);
+ final FlowFile ff1 = session.createFlowFile("hello, world".getBytes());
+ // this should throw an exception because we shouldn't allow a newly created flowfile to get routed back to self
+ session.transfer(ff1);
+ }
+
protected static class PoorlyBehavedProcessor extends AbstractProcessor {
private static final Relationship REL_FAILURE = new Relationship.Builder()
[2/2] nifi git commit: NIFI-3218: fixed incorrect assertion for
self-routing flowfiles in MockProcessSession
Posted by js...@apache.org.
NIFI-3218: fixed incorrect assertion for self-routing flowfiles in MockProcessSession
Signed-off-by: Joe Skora <js...@apache.org>
This closes #1988.
Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/07a6499d
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/07a6499d
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/07a6499d
Branch: refs/heads/master
Commit: 07a6499dae93344b0e8a8e8cd890ba16cf667fe2
Parents: 58f60b3
Author: m-hogue <ho...@gmail.com>
Authored: Fri Jul 7 06:46:02 2017 -0400
Committer: Joe Skora <js...@apache.org>
Committed: Tue Jul 11 13:51:40 2017 +0000
----------------------------------------------------------------------
.../src/main/java/org/apache/nifi/util/MockProcessSession.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/nifi/blob/07a6499d/nifi-mock/src/main/java/org/apache/nifi/util/MockProcessSession.java
----------------------------------------------------------------------
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 553c6e4..2fdc6ea 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
@@ -756,10 +756,10 @@ public class MockProcessSession implements ProcessSession {
throw new IllegalArgumentException("I only accept MockFlowFile");
}
- // if the flowfile provided was created in this session (i.e. it's in currentVersions),
+ // if the flowfile provided was created in this session (i.e. it's in currentVersions and not in original versions),
// then throw an exception indicating that you can't transfer flowfiles back to self.
- // this mimics the behavior of StandardProcessSession
- if(currentVersions.get(flowFile.getId()) != null) {
+ // this mimics the same behavior in StandardProcessSession
+ if(currentVersions.get(flowFile.getId()) != null && originalVersions.get(flowFile.getId()) == null) {
throw new IllegalArgumentException("Cannot transfer FlowFiles that are created in this Session back to self");
}