From: Javen O'Neal Date: Fri, 30 Sep 2016 07:02:02 +0000 (+0000) Subject: bug 60187: set BorderStyle directly instead of through short code X-Git-Tag: REL_3_16_BETA1~140 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=4fa9d93323a5f4a467d689a16bd617383cd8ab1a;p=poi.git bug 60187: set BorderStyle directly instead of through short code git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1762859 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/java/org/apache/poi/ss/util/RegionUtil.java b/src/java/org/apache/poi/ss/util/RegionUtil.java index 96b4707f18..caec5a0092 100644 --- a/src/java/org/apache/poi/ss/util/RegionUtil.java +++ b/src/java/org/apache/poi/ss/util/RegionUtil.java @@ -39,14 +39,17 @@ public final class RegionUtil { private static final class CellPropertySetter { private final String _propertyName; - private final Short _propertyValue; + private final Object _propertyValue; public CellPropertySetter(String propertyName, int value) { _propertyName = propertyName; _propertyValue = Short.valueOf((short) value); } - + public CellPropertySetter(String propertyName, BorderStyle value) { + _propertyName = propertyName; + _propertyValue = value; + } public void setProperty(Row row, int column) { // create cell if it does not exist @@ -100,7 +103,14 @@ public final class RegionUtil { * @since POI 3.16 beta 1 */ public static void setBorderLeft(BorderStyle border, CellRangeAddress region, Sheet sheet) { - setBorderLeft(border.getCode(), region, sheet); + int rowStart = region.getFirstRow(); + int rowEnd = region.getLastRow(); + int column = region.getFirstColumn(); + + CellPropertySetter cps = new CellPropertySetter(CellUtil.BORDER_LEFT, border); + for (int i = rowStart; i <= rowEnd; i++) { + cps.setProperty(CellUtil.getRow(i, sheet), column); + } } /** @@ -182,7 +192,14 @@ public final class RegionUtil { * @since POI 3.16 beta 1 */ public static void setBorderRight(BorderStyle border, CellRangeAddress region, Sheet sheet) { - setBorderRight(border.getCode(), region, sheet); + int rowStart = region.getFirstRow(); + int rowEnd = region.getLastRow(); + int column = region.getLastColumn(); + + CellPropertySetter cps = new CellPropertySetter(CellUtil.BORDER_RIGHT, border); + for (int i = rowStart; i <= rowEnd; i++) { + cps.setProperty(CellUtil.getRow(i, sheet), column); + } } /** @@ -264,7 +281,14 @@ public final class RegionUtil { * @since POI 3.16 beta 1 */ public static void setBorderBottom(BorderStyle border, CellRangeAddress region, Sheet sheet) { - setBorderBottom(border.getCode(), region, sheet); + int colStart = region.getFirstColumn(); + int colEnd = region.getLastColumn(); + int rowIndex = region.getLastRow(); + CellPropertySetter cps = new CellPropertySetter(CellUtil.BORDER_BOTTOM, border); + Row row = CellUtil.getRow(rowIndex, sheet); + for (int i = colStart; i <= colEnd; i++) { + cps.setProperty(row, i); + } } /** @@ -346,7 +370,14 @@ public final class RegionUtil { * @since POI 3.16 beta 1 */ public static void setBorderTop(BorderStyle border, CellRangeAddress region, Sheet sheet) { - setBorderTop(border.getCode(), region, sheet); + int colStart = region.getFirstColumn(); + int colEnd = region.getLastColumn(); + int rowIndex = region.getFirstRow(); + CellPropertySetter cps = new CellPropertySetter(CellUtil.BORDER_TOP, border); + Row row = CellUtil.getRow(rowIndex, sheet); + for (int i = colStart; i <= colEnd; i++) { + cps.setProperty(row, i); + } } /**