Repository: incubator-nifi Updated Branches: refs/heads/develop 608f8007e -> 342ca1791
NIFI-398: Fixed ArrayIndexOutOfBoundsException and added unit test to verify Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/342ca179 Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/342ca179 Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/342ca179 Branch: refs/heads/develop Commit: 342ca1791a643a82ec1a1ce5abc93fcd057982b5 Parents: 608f800 Author: Mark Payne <marka...@hotmail.com> Authored: Fri Mar 6 15:57:34 2015 -0500 Committer: Mark Payne <marka...@hotmail.com> Committed: Fri Mar 6 15:57:34 2015 -0500 ---------------------------------------------------------------------- .../src/main/java/org/apache/nifi/util/RingBuffer.java | 2 +- .../org/apache/nifi/util/timebuffer/TestRingBuffer.java | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/342ca179/nifi/nifi-commons/nifi-utils/src/main/java/org/apache/nifi/util/RingBuffer.java ---------------------------------------------------------------------- diff --git a/nifi/nifi-commons/nifi-utils/src/main/java/org/apache/nifi/util/RingBuffer.java b/nifi/nifi-commons/nifi-utils/src/main/java/org/apache/nifi/util/RingBuffer.java index c0bb830..81f32ab 100644 --- a/nifi/nifi-commons/nifi-utils/src/main/java/org/apache/nifi/util/RingBuffer.java +++ b/nifi/nifi-commons/nifi-utils/src/main/java/org/apache/nifi/util/RingBuffer.java @@ -185,7 +185,7 @@ public class RingBuffer<T> { public T getNewestElement() { readLock.lock(); try { - int index = (insertionPointer == 0) ? buffer.length : insertionPointer - 1; + int index = (insertionPointer == 0) ? buffer.length - 1 : insertionPointer - 1; return getElementData(index); } finally { readLock.unlock(); http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/342ca179/nifi/nifi-commons/nifi-utils/src/test/java/org/apache/nifi/util/timebuffer/TestRingBuffer.java ---------------------------------------------------------------------- diff --git a/nifi/nifi-commons/nifi-utils/src/test/java/org/apache/nifi/util/timebuffer/TestRingBuffer.java b/nifi/nifi-commons/nifi-utils/src/test/java/org/apache/nifi/util/timebuffer/TestRingBuffer.java index fafffdd..5f8c4c8 100644 --- a/nifi/nifi-commons/nifi-utils/src/test/java/org/apache/nifi/util/timebuffer/TestRingBuffer.java +++ b/nifi/nifi-commons/nifi-utils/src/test/java/org/apache/nifi/util/timebuffer/TestRingBuffer.java @@ -34,6 +34,16 @@ import org.junit.Test; public class TestRingBuffer { @Test + public void testGetNewestElement() { + final RingBuffer<Integer> ringBuffer = new RingBuffer<>(10); + + for (int i=0; i < 11; i++) { + ringBuffer.add(i); + assertEquals(i, ringBuffer.getNewestElement().intValue()); + } + } + + @Test public void testAsList() { final RingBuffer<Integer> ringBuffer = new RingBuffer<>(10);