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
This commit is contained in:
Javen O'Neal 2016-04-05 21:36:11 +00:00
parent bd31311f3b
commit 153c5da2dd
1 changed files with 14 additions and 2 deletions

View File

@ -355,8 +355,20 @@ public final class CellUtil {
* @return Border style if set, otherwise {@link BorderStyle#NONE} * @return Border style if set, otherwise {@link BorderStyle#NONE}
*/ */
private static BorderStyle getBorderStyle(Map<String, Object> properties, String name) { private static BorderStyle getBorderStyle(Map<String, Object> properties, String name) {
BorderStyle value = (BorderStyle) properties.get(name); Object value = properties.get(name);
return (value != null) ? value : BorderStyle.NONE; 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;
} }
/** /**