]> source.dussan.org Git - poi.git/commitdiff
bug 58775: use short for data format index, int for cell style index
authorJaven O'Neal <onealj@apache.org>
Mon, 28 Dec 2015 14:50:54 +0000 (14:50 +0000)
committerJaven O'Neal <onealj@apache.org>
Mon, 28 Dec 2015 14:50:54 +0000 (14:50 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1721930 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java
src/java/org/apache/poi/ss/usermodel/Workbook.java
src/java/org/apache/poi/ss/util/CellUtil.java
src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFWorkbook.java
src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCellStyle.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java

index 2192fa3dcd686f3c3e63e79468b922eea34d2112..2c1d90d1fd18009a5dad78c8a357741be1282bec 100644 (file)
@@ -1322,11 +1322,10 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
      * get the number of styles the workbook contains
      * @return count of cell styles
      */
-
     @Override
-    public short getNumCellStyles()
+    public int getNumCellStyles()
     {
-        return (short) workbook.getNumExFormats();
+        return workbook.getNumExFormats();
     }
 
     /**
@@ -1335,10 +1334,10 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
      * @return HSSFCellStyle object at the index
      */
     @Override
-    public HSSFCellStyle getCellStyleAt(short idx)
+    public HSSFCellStyle getCellStyleAt(int idx)
     {
         ExtendedFormatRecord xfr = workbook.getExFormatAt(idx);
-        HSSFCellStyle style = new HSSFCellStyle(idx, xfr, this);
+        HSSFCellStyle style = new HSSFCellStyle((short)idx, xfr, this);
 
         return style;
     }
index fad937a646d1335fffb355505a534d455ba436cf..83fea32e0aef809329567ea174db898dcd11227f 100644 (file)
@@ -344,7 +344,7 @@ public interface Workbook extends Closeable, Iterable<Sheet> {
      *
      * @return count of cell styles
      */
-    short getNumCellStyles();
+    int getNumCellStyles();
 
     /**
      * Get the cell style object at the given index
@@ -352,7 +352,7 @@ public interface Workbook extends Closeable, Iterable<Sheet> {
      * @param idx  index within the set of styles (0-based)
      * @return CellStyle object at the index
      */
-    CellStyle getCellStyleAt(short idx);
+    CellStyle getCellStyleAt(int idx);
 
     /**
      * Write out this workbook to an Outputstream.
index f3ef6fd59ad2ed3b8d378165ae14d71ad71e202f..cc07b483f6da0e08160fedaa81f1b69913d84220 100644 (file)
@@ -189,9 +189,9 @@ public final class CellUtil {
 
                // index seems like what index the cellstyle is in the list of styles for a workbook.
                // not good to compare on!
-               short numberCellStyles = workbook.getNumCellStyles();
+               int numberCellStyles = workbook.getNumCellStyles();
 
-               for (short i = 0; i < numberCellStyles; i++) {
+               for (int i = 0; i < numberCellStyles; i++) {
                        CellStyle wbStyle = workbook.getCellStyleAt(i);
                        Map<String, Object> wbStyleMap = getFormatProperties(wbStyle);
 
index 3c16b2cbe89c1c03da9baccfb96fdd74fff07f93..20ac62e1013b75bd997652dc3de8ca01925cfe78 100644 (file)
@@ -877,7 +877,7 @@ public class SXSSFWorkbook implements Workbook {
      * @return count of cell styles
      */
     @Override
-    public short getNumCellStyles()
+    public int getNumCellStyles()
     {
         return _wb.getNumCellStyles();
     }
@@ -889,7 +889,7 @@ public class SXSSFWorkbook implements Workbook {
      * @return CellStyle object at the index
      */
     @Override
-    public CellStyle getCellStyleAt(short idx)
+    public CellStyle getCellStyleAt(int idx)
     {
         return _wb.getCellStyleAt(idx);
     }
index 864e4a2c60f7fe9d4b90eae825f3529dfaee1cb8..95bbff9e12c04187df07f8f923a70b665d09fd8d 100644 (file)
@@ -853,16 +853,6 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook {
         return pictures; //YK: should return Collections.unmodifiableList(pictures);
     }
 
-    /**
-     * Get the cell style object at the given index
-     *
-     * @param idx  index within the set of styles
-     * @return XSSFCellStyle object at the index
-     */
-    @Override
-    public XSSFCellStyle getCellStyleAt(short idx) {
-        return getCellStyleAt(idx&0xffff);
-    }
     /**
      * Get the cell style object at the given index
      *
@@ -931,9 +921,8 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook {
      *
      * @return count of cell styles
      */
-    @Override
-    public short getNumCellStyles() {
-        return (short) (stylesSource).getNumCellStyles();
+    public int getNumCellStyles() {
+        return stylesSource.getNumCellStyles();
     }
 
     /**
index 6474c7d1ce4b48a6715e99ad4e0625ab081a949c..e6719ed272656130002b1941054aeecceaf3605d 100644 (file)
@@ -2507,6 +2507,7 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
             XSSFCellStyle style = wb.createCellStyle();
             assertEquals(i, style.getUIndex());
         }
+        assertEquals(numStyles, wb.getNumCellStyles());
 
         // avoid OOM in gump run
         File file = XSSFTestDataSamples.writeOutAndClose(wb, "bug57880");
@@ -2522,6 +2523,7 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
         //Assume identical cell styles aren't consolidated
         //If XSSFWorkbooks ever implicitly optimize/consolidate cell styles (such as when the workbook is written to disk)
         //then this unit test should be updated
+        assertEquals(numStyles, wb.getNumCellStyles());
         for (int i=1; i<numStyles; i++) {
             XSSFCellStyle style = wb.getCellStyleAt(i);
             assertNotNull(style);
index b02ac2713ff260b22c8f1739dde6af53216b1392..1b33f28a4ffef606dd3c1c7ca0563d2008a15fd4 100644 (file)
@@ -1019,9 +1019,9 @@ public class TestXSSFCellStyle {
     }
 
     public static void copyStyles(Workbook reference, Workbook target) {
-        final short numberOfStyles = reference.getNumCellStyles();
+        final int numberOfStyles = reference.getNumCellStyles();
         // don't copy default style (style index 0)
-        for (short i = 1; i < numberOfStyles; i++) {
+        for (int i = 1; i < numberOfStyles; i++) {
             final CellStyle referenceStyle = reference.getCellStyleAt(i);
             final CellStyle targetStyle = target.createCellStyle();
             targetStyle.cloneStyleFrom(referenceStyle);
index 3e80022ca360a09a068f9d8fca12fb2489656509..cdd20995a5fa494f0d63c33ad59ce1ef30354456 100644 (file)
@@ -225,9 +225,8 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook {
        public void getNumCellStyles() throws IOException{
                XSSFWorkbook workbook = new XSSFWorkbook();
                try {
-               short i = workbook.getNumCellStyles();
                //get default cellStyles
-               assertEquals(1, i);
+               assertEquals(1, workbook.getNumCellStyles());
                } finally {
                    workbook.close();
                }
index d9027d2ff9810e0ed65d5adbbc41d156fc293f63..078008a899d7bc6453f36d0ac31c5b5d1a52452d 100644 (file)
@@ -2006,7 +2006,7 @@ public final class TestBugs extends BaseTestBugzillaIssues {
     @Test
     public void bug49751() throws Exception {
         HSSFWorkbook wb = openSample("49751.xls");
-        short numCellStyles = wb.getNumCellStyles();
+        int numCellStyles = wb.getNumCellStyles();
         List<String> namedStyles = Arrays.asList(
                 "20% - Accent1", "20% - Accent2", "20% - Accent3", "20% - Accent4", "20% - Accent5",
                 "20% - Accent6", "40% - Accent1", "40% - Accent2", "40% - Accent3", "40% - Accent4",
@@ -2017,7 +2017,7 @@ public final class TestBugs extends BaseTestBugzillaIssues {
                 "Neutral", "Note", "Output", "Title", "Total", "Warning Text");
 
         List<String> collecteddStyles = new ArrayList<String>();
-        for (short i = 0; i < numCellStyles; i++) {
+        for (int i = 0; i < numCellStyles; i++) {
             HSSFCellStyle cellStyle = wb.getCellStyleAt(i);
             String styleName = cellStyle.getUserStyleName();
             if (styleName != null) {