mirror of https://github.com/apache/poi.git
bug 59791: improve Cell.CELL_TYPE_* backwards compatibility
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1757235 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
d89c5e36e5
commit
b72e9510e5
|
@ -46,7 +46,7 @@ public interface Cell {
|
|||
* @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 @@ public interface Cell {
|
|||
* @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 @@ public interface Cell {
|
|||
* @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 @@ public interface Cell {
|
|||
* @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 @@ public interface Cell {
|
|||
* @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 @@ public interface Cell {
|
|||
* @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
|
||||
|
|
|
@ -136,45 +136,45 @@ public final class TestHSSFConditionalFormatting extends BaseTestConditionalForm
|
|||
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
|
||||
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
|
||||
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.
|
||||
|
|
|
@ -1015,4 +1015,34 @@ public abstract class BaseTestCell {
|
|||
|
||||
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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue