From 5752c4bb7e9c230ec0b44df170b8969bf78a337f Mon Sep 17 00:00:00 2001 From: Javen O'Neal Date: Tue, 5 Apr 2016 21:36:11 +0000 Subject: [PATCH] bug 59264: allow borders styles to be set with BorderStyles enums or Short codes for backwards compatibility git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1737885 13f79535-47bb-0310-9956-ffa450edef68 --- src/java/org/apache/poi/ss/util/CellUtil.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/java/org/apache/poi/ss/util/CellUtil.java b/src/java/org/apache/poi/ss/util/CellUtil.java index ad3425aac..3cc16dd63 100644 --- a/src/java/org/apache/poi/ss/util/CellUtil.java +++ b/src/java/org/apache/poi/ss/util/CellUtil.java @@ -355,8 +355,20 @@ public final class CellUtil { * @return Border style if set, otherwise {@link BorderStyle#NONE} */ private static BorderStyle getBorderStyle(Map properties, String name) { - BorderStyle value = (BorderStyle) properties.get(name); - return (value != null) ? value : BorderStyle.NONE; + Object value = properties.get(name); + BorderStyle border; + if (value instanceof BorderStyle) { + border = (BorderStyle) value; + } + // @deprecated 3.15 beta 1. getBorderStyle will only work on BorderStyle enums instead of codes in the future. + else if (value instanceof Short) { + short code = Short.valueOf((Short) value); + border = BorderStyle.valueOf(code); + } + else { + throw new RuntimeException("Unexpected border style class. Must be BorderStyle or Short (deprecated)"); + } + return (border != null) ? border : BorderStyle.NONE; } /**