You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2019/11/13 17:58:37 UTC

svn commit: r1869762 - in /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel: PDPageTree.java interactive/documentnavigation/outline/PDOutlineItemIterator.java

Author: tilman
Date: Wed Nov 13 17:58:36 2019
New Revision: 1869762

URL: http://svn.apache.org/viewvc?rev=1869762&view=rev
Log:
PDFBOX-4687: Iterator.next() methods should throw NoSuchElementException,  as suggested by SonarCloud and Haris Adzemovic; closes #75

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPageTree.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/documentnavigation/outline/PDOutlineItemIterator.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPageTree.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPageTree.java?rev=1869762&r1=1869761&r2=1869762&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPageTree.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPageTree.java Wed Nov 13 17:58:36 2019
@@ -29,6 +29,7 @@ import org.apache.pdfbox.pdmodel.common.
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.NoSuchElementException;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
@@ -200,6 +201,10 @@ public class PDPageTree implements COSOb
         @Override
         public PDPage next()
         {
+            if (!hasNext())
+            {
+                throw new NoSuchElementException();
+            }
             COSDictionary next = queue.poll();
             
             sanitizeType(next);

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/documentnavigation/outline/PDOutlineItemIterator.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/documentnavigation/outline/PDOutlineItemIterator.java?rev=1869762&r1=1869761&r2=1869762&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/documentnavigation/outline/PDOutlineItemIterator.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/documentnavigation/outline/PDOutlineItemIterator.java Wed Nov 13 17:58:36 2019
@@ -17,6 +17,7 @@
 package org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline;
 
 import java.util.Iterator;
+import java.util.NoSuchElementException;
 
 /**
  * Iterator over the linked list of {@link PDOutlineItem} siblings.
@@ -45,6 +46,10 @@ class PDOutlineItemIterator implements I
     @Override
     public PDOutlineItem next()
     {
+        if (!hasNext())
+        {
+            throw new NoSuchElementException();
+        }
         if (currentItem == null)
         {
             currentItem = startingItem;