From ad98f81e5f57434861e2c263443484464cc74d1f Mon Sep 17 00:00:00 2001 From: Javen O'Neal Date: Sun, 12 Jun 2016 22:57:37 +0000 Subject: [PATCH] move check if border line style is blank before setting the border color to a helper function for readability git-svn-id: https://svn.apache.org/repos/asf/poi/branches/ss_border_property_template@1748066 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/ss/util/BorderPropertyTemplate.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/java/org/apache/poi/ss/util/BorderPropertyTemplate.java b/src/java/org/apache/poi/ss/util/BorderPropertyTemplate.java index 0643b2431c..7c1fcbff80 100644 --- a/src/java/org/apache/poi/ss/util/BorderPropertyTemplate.java +++ b/src/java/org/apache/poi/ss/util/BorderPropertyTemplate.java @@ -584,7 +584,7 @@ public final class BorderPropertyTemplate { for (int i = firstCol; i <= lastCol; i++) { CellAddress cell = new CellAddress(row, i); // if BORDER_TOP is not set on BorderPropertyTemplate, make a thin border so that there's something to color - if (getTemplateProperty(cell, CellUtil.BORDER_TOP) == null) { + if (borderIsNotSetOrBlank(cell, CellUtil.BORDER_TOP)) { drawTopBorder(new CellRangeAddress(row, row, i, i), BorderStyle.THIN); } addProperty(cell, CellUtil.TOP_BORDER_COLOR, color); @@ -606,7 +606,7 @@ public final class BorderPropertyTemplate { for (int i = firstCol; i <= lastCol; i++) { CellAddress cell = new CellAddress(row, i); // if BORDER_BOTTOM is not set on BorderPropertyTemplate, make a thin border so that there's something to color - if (getTemplateProperty(cell, CellUtil.BORDER_BOTTOM) == null) { + if (borderIsNotSetOrBlank(cell, CellUtil.BORDER_BOTTOM)) { drawBottomBorder(new CellRangeAddress(row, row, i, i), BorderStyle.THIN); } addProperty(cell, CellUtil.BOTTOM_BORDER_COLOR, color); @@ -628,13 +628,22 @@ public final class BorderPropertyTemplate { for (int i = firstRow; i <= lastRow; i++) { CellAddress cell = new CellAddress(i, col); // if BORDER_LEFT is not set on BorderPropertyTemplate, make a thin border so that there's something to color - if (getTemplateProperty(cell, CellUtil.BORDER_LEFT) == null) { + if (borderIsNotSetOrBlank(cell, CellUtil.BORDER_LEFT)) { drawLeftBorder(new CellRangeAddress(i, i, col, col), BorderStyle.THIN); } addProperty(cell, CellUtil.LEFT_BORDER_COLOR, color); } } + /** + * A helper method to set the border line style before setting the color if the + * current line style is not set or is set as NONE + */ + private boolean borderIsNotSetOrBlank(CellAddress cell, String borderDirection) { + Object borderLineStyle = getTemplateProperty(cell, borderDirection); + return (borderLineStyle == null); + } + /** *

* Sets the color of the right border for a range of cells. If the border is @@ -651,7 +660,7 @@ public final class BorderPropertyTemplate { for (int i = firstRow; i <= lastRow; i++) { CellAddress cell = new CellAddress(i, col); // if BORDER_RIGHT is not set on BorderPropertyTemplate, make a thin border so that there's something to color - if (getTemplateProperty(cell, CellUtil.BORDER_RIGHT) == null) { + if (borderIsNotSetOrBlank(cell, CellUtil.BORDER_RIGHT)) { drawRightBorder(new CellRangeAddress(i, i, col, col), BorderStyle.THIN); } addProperty(cell, CellUtil.RIGHT_BORDER_COLOR, color); -- 2.39.5