diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFFontFormatting.java b/src/java/org/apache/poi/hssf/usermodel/HSSFFontFormatting.java index 68ae84d14..07f5fd472 100644 --- a/src/java/org/apache/poi/hssf/usermodel/HSSFFontFormatting.java +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFFontFormatting.java @@ -77,11 +77,7 @@ public final class HSSFFontFormatting implements org.apache.poi.ss.usermodel.Fon } public void setFontColor(Color color) { - if (color != null && !(color instanceof HSSFColor)) { - throw new IllegalArgumentException("Only HSSFColor objects are supported"); - } - - HSSFColor hcolor = (HSSFColor)color; + HSSFColor hcolor = HSSFColor.toHSSFColor(color); if (hcolor == null) { fontFormatting.setFontColorIndex((short)0); } else { diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFPatternFormatting.java b/src/java/org/apache/poi/hssf/usermodel/HSSFPatternFormatting.java index 7be7945d1..1f521c509 100644 --- a/src/java/org/apache/poi/hssf/usermodel/HSSFPatternFormatting.java +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFPatternFormatting.java @@ -74,10 +74,7 @@ public class HSSFPatternFormatting implements org.apache.poi.ss.usermodel.Patter } public void setFillBackgroundColor(Color bg) { - if (bg != null && !(bg instanceof HSSFColor)) { - throw new IllegalArgumentException("Only HSSFColor objects are supported"); - } - HSSFColor hcolor = (HSSFColor)bg; + HSSFColor hcolor = HSSFColor.toHSSFColor(bg); if (hcolor == null) { setFillBackgroundColor((short)0); } else { @@ -86,10 +83,7 @@ public class HSSFPatternFormatting implements org.apache.poi.ss.usermodel.Patter } public void setFillForegroundColor(Color fg) { - if (fg != null && !(fg instanceof HSSFColor)) { - throw new IllegalArgumentException("Only HSSFColor objects are supported"); - } - HSSFColor hcolor = (HSSFColor)fg; + HSSFColor hcolor = HSSFColor.toHSSFColor(fg); if (hcolor == null) { setFillForegroundColor((short)0); } else { diff --git a/src/java/org/apache/poi/hssf/util/HSSFColor.java b/src/java/org/apache/poi/hssf/util/HSSFColor.java index f438e1b00..d7a1cb587 100644 --- a/src/java/org/apache/poi/hssf/util/HSSFColor.java +++ b/src/java/org/apache/poi/hssf/util/HSSFColor.java @@ -204,6 +204,13 @@ public class HSSFColor implements Color { { return BLACK.hexString; } + + public static HSSFColor toHSSFColor(Color color) { + if (color != null && !(color instanceof HSSFColor)) { + throw new IllegalArgumentException("Only HSSFColor objects are supported"); + } + return (HSSFColor)color; + } /** * Class BLACK diff --git a/src/java/org/apache/poi/ss/usermodel/BorderFormatting.java b/src/java/org/apache/poi/ss/usermodel/BorderFormatting.java index c15dc269c..5e1154d9b 100644 --- a/src/java/org/apache/poi/ss/usermodel/BorderFormatting.java +++ b/src/java/org/apache/poi/ss/usermodel/BorderFormatting.java @@ -20,8 +20,8 @@ package org.apache.poi.ss.usermodel; /** - * @author Dmitriy Kumshayev - * @author Yegor Kozlov + * High level representation for Border Formatting component + * of Conditional Formatting settings */ public interface BorderFormatting { /** No border */ diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFColor.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFColor.java index 3082e5387..d2dc28dda 100644 --- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFColor.java +++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFColor.java @@ -316,6 +316,13 @@ public class XSSFColor implements Color { return ctColor; } + public static XSSFColor toXSSFColor(Color color) { + if (color != null && !(color instanceof XSSFColor)) { + throw new IllegalArgumentException("Only XSSFColor objects are supported"); + } + return (XSSFColor)color; + } + public int hashCode(){ return ctColor.toString().hashCode(); } diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFFontFormatting.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFFontFormatting.java index 40ce715f4..e788cf893 100644 --- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFFontFormatting.java +++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFFontFormatting.java @@ -97,11 +97,7 @@ public class XSSFFontFormatting implements FontFormatting { } public void setFontColor(Color color) { - if (color != null && !(color instanceof XSSFColor)) { - throw new IllegalArgumentException("Only XSSFColor objects are supported"); - } - - XSSFColor xcolor = (XSSFColor)color; + XSSFColor xcolor = XSSFColor.toXSSFColor(color); if (xcolor == null) { _font.getColorList().clear(); } else { diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPatternFormatting.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPatternFormatting.java index 898fa9b7a..75989f3e7 100644 --- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPatternFormatting.java +++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPatternFormatting.java @@ -63,10 +63,7 @@ public class XSSFPatternFormatting implements PatternFormatting { } public void setFillBackgroundColor(Color bg) { - if (bg != null && !(bg instanceof XSSFColor)) { - throw new IllegalArgumentException("Only XSSFColor objects are supported"); - } - XSSFColor xcolor = (XSSFColor)bg; + XSSFColor xcolor = XSSFColor.toXSSFColor(bg); setFillBackgroundColor(xcolor.getCTColor()); } public void setFillBackgroundColor(short bg) { @@ -80,10 +77,7 @@ public class XSSFPatternFormatting implements PatternFormatting { } public void setFillForegroundColor(Color fg) { - if (fg != null && !(fg instanceof XSSFColor)) { - throw new IllegalArgumentException("Only XSSFColor objects are supported"); - } - XSSFColor xcolor = (XSSFColor)fg; + XSSFColor xcolor = XSSFColor.toXSSFColor(fg); setFillForegroundColor(xcolor.getCTColor()); } public void setFillForegroundColor(short fg) {