From: PJ Fanning Date: Mon, 18 Sep 2017 16:06:54 +0000 (+0000) Subject: change CellFormat.ultimateType to return CellType X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=e0ee55e75ff6398f2e19a0594ce50812d2927b8b;p=poi.git change CellFormat.ultimateType to return CellType git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1808739 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/java/org/apache/poi/ss/format/CellFormat.java b/src/java/org/apache/poi/ss/format/CellFormat.java index 016f1fab69..6c218d55b1 100644 --- a/src/java/org/apache/poi/ss/format/CellFormat.java +++ b/src/java/org/apache/poi/ss/format/CellFormat.java @@ -37,6 +37,7 @@ import org.apache.poi.ss.usermodel.DataFormatter; import org.apache.poi.ss.usermodel.DateUtil; import org.apache.poi.ss.util.DateFormatConverter; import org.apache.poi.util.LocaleUtil; +import org.apache.poi.util.Removal; /** * Format a value according to the standard Excel behavior. This "standard" is @@ -289,7 +290,7 @@ public class CellFormat { * @return The result, in a {@link CellFormatResult}. */ public CellFormatResult apply(Cell c) { - switch (ultimateTypeEnum(c)) { + switch (ultimateType(c)) { case BLANK: return apply(""); case BOOLEAN: @@ -359,7 +360,7 @@ public class CellFormat { * @return The result, in a {@link CellFormatResult}. */ public CellFormatResult apply(JLabel label, Cell c) { - switch (ultimateTypeEnum(c)) { + switch (ultimateType(c)) { case BLANK: return apply(label, ""); case BOOLEAN: @@ -438,16 +439,16 @@ public class CellFormat { * {@link Cell#getCachedFormulaResultType()}. Otherwise this returns the * result of {@link Cell#getCellType()}. * - * Will return {@link CellType} in a future version of POI. - * For forwards compatibility, do not hard-code cell type literals in your code. - * * @param cell The cell. * * @return The ultimate type of this cell. - * @deprecated POI 3.15. This will return a CellType enum in the future */ - public static int ultimateType(Cell cell) { - return ultimateTypeEnum(cell).getCode(); + public static CellType ultimateType(Cell cell) { + CellType type = cell.getCellType(); + if (type == CellType.FORMULA) + return cell.getCachedFormulaResultType(); + else + return type; } /** @@ -460,15 +461,12 @@ public class CellFormat { * * @return The ultimate type of this cell. * @since POI 3.15 beta 3 - * @deprecated POI 3.15 beta 3 - * Will be deleted when we make the CellType enum transition. See bug 59791. + * @deprecated use ultimateType instead */ + @Deprecated + @Removal(version = "4.2") public static CellType ultimateTypeEnum(Cell cell) { - CellType type = cell.getCellType(); - if (type == CellType.FORMULA) - return cell.getCachedFormulaResultType(); - else - return type; + return ultimateType(cell); } /** diff --git a/src/ooxml/testcases/org/apache/poi/ss/format/TestCellFormatPart.java b/src/ooxml/testcases/org/apache/poi/ss/format/TestCellFormatPart.java index ea51926389..0bccba83c9 100644 --- a/src/ooxml/testcases/org/apache/poi/ss/format/TestCellFormatPart.java +++ b/src/ooxml/testcases/org/apache/poi/ss/format/TestCellFormatPart.java @@ -59,7 +59,7 @@ public class TestCellFormatPart extends CellFormatTestBase { runFormatTests("GeneralFormatTests.xlsx", new CellValue() { @Override public Object getValue(Cell cell) { - switch (CellFormat.ultimateTypeEnum(cell)) { + switch (CellFormat.ultimateType(cell)) { case BOOLEAN: return cell.getBooleanCellValue(); case NUMERIC: @@ -132,7 +132,7 @@ public class TestCellFormatPart extends CellFormatTestBase { runFormatTests("TextFormatTests.xlsx", new CellValue() { @Override public Object getValue(Cell cell) { - switch(CellFormat.ultimateTypeEnum(cell)) { + switch(CellFormat.ultimateType(cell)) { case BOOLEAN: return cell.getBooleanCellValue(); default: @@ -158,7 +158,7 @@ public class TestCellFormatPart extends CellFormatTestBase { throw new IllegalArgumentException( "Cannot find numer in \"" + str + "\""); - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); // The groups in the pattern are the parts of the number for (int i = 1; i <= m.groupCount(); i++) { String part = m.group(i);