ASF Bugzilla – Attachment 34170 Details for
Bug 59791
Convert Cell Type to an enum
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Improve backwards compatibility
bug59791_backwards_compatibility.patch (text/plain), 5.96 KB, created by
Javen O'Neal
on 2016-08-22 17:53:08 UTC
(
hide
)
Description:
Improve backwards compatibility
Filename:
MIME Type:
Creator:
Javen O'Neal
Created:
2016-08-22 17:53:08 UTC
Size:
5.96 KB
patch
obsolete
>Index: src/java/org/apache/poi/ss/usermodel/Cell.java >=================================================================== >--- src/java/org/apache/poi/ss/usermodel/Cell.java (revision 1757230) >+++ src/java/org/apache/poi/ss/usermodel/Cell.java (working copy) >@@ -46,7 +46,7 @@ > * @see #getCellType() > * @deprecated POI 3.15 beta 3. Use {@link CellType#NUMERIC} instead. > */ >- CellType CELL_TYPE_NUMERIC = CellType.NUMERIC; >+ int CELL_TYPE_NUMERIC = 0; //CellType.NUMERIC.getCode(); > > /** > * String Cell type (1) >@@ -54,7 +54,7 @@ > * @see #getCellType() > * @deprecated POI 3.15 beta 3. Use {@link CellType#STRING} instead. > */ >- CellType CELL_TYPE_STRING = CellType.STRING; >+ int CELL_TYPE_STRING = 1; //CellType.STRING.getCode(); > > /** > * Formula Cell type (2) >@@ -62,7 +62,7 @@ > * @see #getCellType() > * @deprecated POI 3.15 beta 3. Use {@link CellType#FORMULA} instead. > */ >- CellType CELL_TYPE_FORMULA = CellType.FORMULA; >+ int CELL_TYPE_FORMULA = 2; //CellType.FORMULA.getCode(); > > /** > * Blank Cell type (3) >@@ -70,7 +70,7 @@ > * @see #getCellType() > * @deprecated POI 3.15 beta 3. Use {@link CellType#BLANK} instead. > */ >- CellType CELL_TYPE_BLANK = CellType.BLANK; >+ int CELL_TYPE_BLANK = 3; //CellType.BLANK.getCode(); > > /** > * Boolean Cell type (4) >@@ -78,7 +78,7 @@ > * @see #getCellType() > * @deprecated POI 3.15 beta 3. Use {@link CellType#BOOLEAN} instead. > */ >- CellType CELL_TYPE_BOOLEAN = CellType.BOOLEAN; >+ int CELL_TYPE_BOOLEAN = 4; //CellType.BOOLEAN.getCode(); > > /** > * Error Cell type (5) >@@ -86,7 +86,7 @@ > * @see #getCellType() > * @deprecated POI 3.15 beta 3. Use {@link CellType#ERROR} instead. > */ >- CellType CELL_TYPE_ERROR = CellType.ERROR; >+ int CELL_TYPE_ERROR = 5; //CellType.ERROR.getCode(); > > /** > * Returns column index of this cell >Index: src/testcases/org/apache/poi/hssf/usermodel/TestHSSFConditionalFormatting.java >=================================================================== >--- src/testcases/org/apache/poi/hssf/usermodel/TestHSSFConditionalFormatting.java (revision 1757230) >+++ src/testcases/org/apache/poi/hssf/usermodel/TestHSSFConditionalFormatting.java (working copy) >@@ -136,15 +136,15 @@ > Row row = sheet.createRow(0); > > Cell cell0 = row.createCell(0); >- cell0.setCellType(org.apache.poi.ss.usermodel.Cell.CELL_TYPE_NUMERIC); >+ cell0.setCellType(CellType.NUMERIC); > cell0.setCellValue(100); > > Cell cell1 = row.createCell(1); >- cell1.setCellType(org.apache.poi.ss.usermodel.Cell.CELL_TYPE_NUMERIC); >+ cell1.setCellType(CellType.NUMERIC); > cell1.setCellValue(120); > > Cell cell2 = row.createCell(2); >- cell2.setCellType(org.apache.poi.ss.usermodel.Cell.CELL_TYPE_NUMERIC); >+ cell2.setCellType(CellType.NUMERIC); > cell2.setCellValue(130); > > // row 1 >@@ -151,15 +151,15 @@ > row = sheet.createRow(1); > > cell0 = row.createCell(0); >- cell0.setCellType(org.apache.poi.ss.usermodel.Cell.CELL_TYPE_NUMERIC); >+ cell0.setCellType(CellType.NUMERIC); > cell0.setCellValue(200); > > cell1 = row.createCell(1); >- cell1.setCellType(org.apache.poi.ss.usermodel.Cell.CELL_TYPE_NUMERIC); >+ cell1.setCellType(CellType.NUMERIC); > cell1.setCellValue(220); > > cell2 = row.createCell(2); >- cell2.setCellType(org.apache.poi.ss.usermodel.Cell.CELL_TYPE_NUMERIC); >+ cell2.setCellType(CellType.NUMERIC); > cell2.setCellValue(230); > > // row 2 >@@ -166,15 +166,15 @@ > row = sheet.createRow(2); > > cell0 = row.createCell(0); >- cell0.setCellType(org.apache.poi.ss.usermodel.Cell.CELL_TYPE_NUMERIC); >+ cell0.setCellType(CellType.NUMERIC); > cell0.setCellValue(300); > > cell1 = row.createCell(1); >- cell1.setCellType(org.apache.poi.ss.usermodel.Cell.CELL_TYPE_NUMERIC); >+ cell1.setCellType(CellType.NUMERIC); > cell1.setCellValue(320); > > cell2 = row.createCell(2); >- cell2.setCellType(org.apache.poi.ss.usermodel.Cell.CELL_TYPE_NUMERIC); >+ cell2.setCellType(CellType.NUMERIC); > cell2.setCellValue(330); > > // Create conditional formatting, CELL1 should be yellow if CELL0 is not blank. >Index: src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java >=================================================================== >--- src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java (revision 1757230) >+++ src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java (working copy) >@@ -1015,4 +1015,34 @@ > > wb.close(); > } >+ >+ @Test >+ public void primitiveToEnumReplacementDoesNotBreakBackwardsCompatibility() { >+ // bug 59836 >+ // until we have changes POI from working on primitives (int) to enums, >+ // we should make sure we minimize backwards compatibility breakages. >+ // This method tests the old way of working with cell types, alignment, etc. >+ Workbook wb = _testDataProvider.createWorkbook(); >+ Sheet sheet = wb.createSheet(); >+ Row row = sheet.createRow(0); >+ Cell cell = row.createCell(0); >+ >+ // Cell.CELL_TYPE_* -> CellType.* >+ cell.setCellValue(5.0); >+ assertEquals(Cell.CELL_TYPE_NUMERIC, cell.getCellType()); >+ assertEquals(CellType.NUMERIC, cell.getCellTypeEnum()); // make sure old way and new way are compatible >+ >+ // make sure switch(int|Enum) still works. Cases must be statically resolvable in Java 6 ("constant expression required") >+ switch(cell.getCellType()) { >+ case Cell.CELL_TYPE_NUMERIC: >+ // expected >+ break; >+ case Cell.CELL_TYPE_STRING: >+ case Cell.CELL_TYPE_ERROR: >+ case Cell.CELL_TYPE_FORMULA: >+ case Cell.CELL_TYPE_BLANK: >+ default: >+ fail("unexpected cell type: " + cell.getCellType()); >+ } >+ } > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 59791
: 34170