]> source.dussan.org Git - poi.git/commitdiff
Fix from Florian Hopf from bug #54564 - Fix error message text
authorNick Burch <nick@apache.org>
Tue, 25 Jun 2013 15:19:56 +0000 (15:19 +0000)
committerNick Burch <nick@apache.org>
Tue, 25 Jun 2013 15:19:56 +0000 (15:19 +0000)
 for a workbook with no sheets when a sheet operation is performed

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1496516 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java
src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
src/testcases/org/apache/poi/ss/usermodel/BaseTestWorkbook.java

index 4b2bbdb94819b425872d841594c844140bd37036..25363f00eda336b4430b059137d0526f3e41b00f 100644 (file)
@@ -429,8 +429,12 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
     private void validateSheetIndex(int index) {
         int lastSheetIx = _sheets.size() - 1;
         if (index < 0 || index > lastSheetIx) {
+            String range = "(0.." +    lastSheetIx + ")";
+            if (lastSheetIx == -1) {
+                range = "(no sheets)";
+            }
             throw new IllegalArgumentException("Sheet index ("
-                    + index +") is out of range (0.." +    lastSheetIx + ")");
+                    + index +") is out of range " + range);
         }
     }
 
index ab23bbf36f3d4d8340793e172a829abe2fad11c6..e6d33ebeb0ea9004ef4c5e234702ec0c9d83f761 100644 (file)
@@ -1040,8 +1040,12 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook, Iterable<X
     private void validateSheetIndex(int index) {
         int lastSheetIx = sheets.size() - 1;
         if (index < 0 || index > lastSheetIx) {
+            String range = "(0.." +    lastSheetIx + ")";
+            if (lastSheetIx == -1) {
+                range = "(no sheets)";
+            }
             throw new IllegalArgumentException("Sheet index ("
-                    + index +") is out of range (0.." +    lastSheetIx + ")");
+                    + index +") is out of range " + range);
         }
     }
 
index 15181245bc752b33ddd5f6d2603cde8fd0c651fe..b2357f947e1612221771f63171eb87ca3b1eb9d2 100644 (file)
@@ -45,6 +45,8 @@ public abstract class BaseTestWorkbook extends TestCase {
             fail("should have thrown exceptiuon due to invalid sheet index");
         } catch (IllegalArgumentException e) {
             // expected during successful test
+            // no negative index in the range message
+            assertFalse(e.getMessage().contains("-1"));
         }
 
         Sheet sheet0 = wb.createSheet();