]> source.dussan.org Git - poi.git/commitdiff
move check if border line style is blank before setting the border color to a helper...
authorJaven O'Neal <onealj@apache.org>
Sun, 12 Jun 2016 22:57:37 +0000 (22:57 +0000)
committerJaven O'Neal <onealj@apache.org>
Sun, 12 Jun 2016 22:57:37 +0000 (22:57 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/branches/ss_border_property_template@1748066 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/poi/ss/util/BorderPropertyTemplate.java

index 0643b2431c3edd336d486161fae189a024a575b6..7c1fcbff80811b994340882450fc43067552c0be 100644 (file)
@@ -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);
+    }
+
     /**
      * <p>
      * 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);