]> source.dussan.org Git - poi.git/commitdiff
bug 59222: fix NPE thrown by (S)XSSFSheet.getCellComments(). Reported by Vasily Kopytov.
authorJaven O'Neal <onealj@apache.org>
Wed, 23 Mar 2016 16:42:04 +0000 (16:42 +0000)
committerJaven O'Neal <onealj@apache.org>
Wed, 23 Mar 2016 16:42:04 +0000 (16:42 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1736347 13f79535-47bb-0310-9956-ffa450edef68

src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java

index f5b531414c080cc00c21a519da01efc298e13ebc..f0103719c1ca05f308708d3d313866540a7aec77 100644 (file)
@@ -778,6 +778,9 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
      */
     @Override
     public Map<CellAddress, XSSFComment> getCellComments() {
+        if (sheetComments == null) {
+            return Collections.emptyMap();
+        }
         return sheetComments.getCellComments();
     }
 
index 8394bcf583b1f4ed2de60cf5f8231a5ae8aa331c..830298181c8fb821d66611b4515742b2ea78fc31 100644 (file)
@@ -27,6 +27,7 @@ import static org.junit.Assert.fail;
 import static org.junit.Assume.assumeTrue;
 
 import java.io.IOException;
+import java.util.Collections;
 import java.util.Iterator;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -1119,6 +1120,10 @@ public abstract class BaseTestSheet {
     public void getCellComments() throws IOException {
         Workbook workbook = _testDataProvider.createWorkbook();
         Sheet sheet = workbook.createSheet("TEST");
+
+        // a sheet with no cell comments should return an empty map (not null or raise NPE).
+        assertEquals(Collections.emptyMap(), sheet.getCellComments());
+
         Drawing dg = sheet.createDrawingPatriarch();
         ClientAnchor anchor = workbook.getCreationHelper().createClientAnchor();