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);
 

Reply via email to