Author: fanningpj
Date: Fri Sep 2 22:40:21 2022
New Revision: 1903836
URL: http://svn.apache.org/viewvc?rev=1903836&view=rev
Log:
rework CellUtil test
Modified:
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/ss/tests/util/TestXSSFCellUtil.java
poi/trunk/poi/src/main/java/org/apache/poi/ss/util/CellUtil.java
Modified:
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/ss/tests/util/TestXSSFCellUtil.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/ss/tests/util/TestXSSFCellUtil.java?rev=1903836&r1=1903835&r2=1903836&view=diff
==============================================================================
---
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/ss/tests/util/TestXSSFCellUtil.java
(original)
+++
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/ss/tests/util/TestXSSFCellUtil.java
Fri Sep 2 22:40:21 2022
@@ -79,8 +79,8 @@ class TestXSSFCellUtil extends BaseTestC
cell, CellUtil.FILL_FOREGROUND_COLOR_COLOR, null);
assertNotEquals(color,
cell.getCellStyle().getFillForegroundColorColor());
- assertEquals(IndexedColors.AUTOMATIC.getIndex(),
- ((XSSFColor)
cell.getCellStyle().getFillForegroundColorColor()).getIndex());
+ assertNull(cell.getCellStyle().getFillForegroundColorColor());
+ assertEquals(IndexedColors.AUTOMATIC.getIndex(),
cell.getCellStyle().getFillForegroundColor());
}
}
}
\ No newline at end of file
Modified: poi/trunk/poi/src/main/java/org/apache/poi/ss/util/CellUtil.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/util/CellUtil.java?rev=1903836&r1=1903835&r2=1903836&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ss/util/CellUtil.java (original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ss/util/CellUtil.java Fri Sep 2
22:40:21 2022
@@ -463,12 +463,12 @@ public final class CellUtil {
disableNullColorCheck = true;
propMap = new HashMap<>();
propMap.put(CellUtil.FILL_FOREGROUND_COLOR_COLOR, null);
- propMap.put(CellUtil.FILL_FOREGROUND_COLOR,
IndexedColors.AUTOMATIC.getIndex());
+ propMap.put(CellUtil.FILL_FOREGROUND_COLOR, null);
} else if (CellUtil.FILL_BACKGROUND_COLOR_COLOR.equals(propertyName)
&& propertyValue == null) {
disableNullColorCheck = true;
propMap = new HashMap<>();
propMap.put(CellUtil.FILL_BACKGROUND_COLOR_COLOR, null);
- propMap.put(CellUtil.FILL_BACKGROUND_COLOR,
IndexedColors.AUTOMATIC.getIndex());
+ propMap.put(CellUtil.FILL_BACKGROUND_COLOR, null);
} else {
propMap = Collections.singletonMap(propertyName, propertyValue);
}
@@ -527,7 +527,7 @@ public final class CellUtil {
private static void putAll(final Map<String, Object> src, Map<String,
Object> dest) {
for (final String key : src.keySet()) {
if (shortValues.contains(key)) {
- dest.put(key, getShort(src, key));
+ dest.put(key, nullableShort(src, key));
} else if (colorValues.contains(key)) {
dest.put(key, getColor(src, key));
} else if (intValues.contains(key)) {
@@ -567,11 +567,18 @@ public final class CellUtil {
style.setDataFormat(getShort(properties, DATA_FORMAT));
style.setFillPattern(getFillPattern(properties, FILL_PATTERN));
- style.setFillForegroundColor(getShort(properties,
FILL_FOREGROUND_COLOR));
- style.setFillBackgroundColor(getShort(properties,
FILL_BACKGROUND_COLOR));
+ Short fillForeColorShort = nullableShort(properties,
FILL_FOREGROUND_COLOR);
+ if (fillForeColorShort != null) {
+ style.setFillForegroundColor(fillForeColorShort);
+ }
+ Short fillBackColorShort = nullableShort(properties,
FILL_BACKGROUND_COLOR);
+ if (fillBackColorShort != null) {
+ style.setFillBackgroundColor(fillBackColorShort);
+ }
Color foregroundFillColor = getColor(properties,
FILL_FOREGROUND_COLOR_COLOR);
Color backgroundFillColor = getColor(properties,
FILL_BACKGROUND_COLOR_COLOR);
+
if (foregroundFillColor != null) {
try {
style.setFillForegroundColor(foregroundFillColor);
@@ -615,6 +622,17 @@ public final class CellUtil {
}
return 0;
}
+
+ private static Short nullableShort(Map<String, Object> properties, String
name) {
+ Object value = properties.get(name);
+ if (value instanceof Short) {
+ return (Short) value;
+ }
+ if (value instanceof Number) {
+ return ((Number) value).shortValue();
+ }
+ return null;
+ }
/**
* Utility method that returns the named Color value from the given map.
@@ -672,7 +690,7 @@ public final class CellUtil {
border = BorderStyle.NONE;
}
else {
- throw new RuntimeException("Unexpected border style class. Must be
BorderStyle or Short (deprecated).");
+ throw new IllegalStateException("Unexpected border style class.
Must be BorderStyle or Short (deprecated).");
}
return border;
}
@@ -701,7 +719,7 @@ public final class CellUtil {
pattern = FillPatternType.NO_FILL;
}
else {
- throw new RuntimeException("Unexpected fill pattern style class.
Must be FillPatternType or Short (deprecated).");
+ throw new IllegalStateException("Unexpected fill pattern style
class. Must be FillPatternType or Short (deprecated).");
}
return pattern;
}
@@ -730,7 +748,7 @@ public final class CellUtil {
align = HorizontalAlignment.GENERAL;
}
else {
- throw new RuntimeException("Unexpected horizontal alignment style
class. Must be HorizontalAlignment or Short (deprecated).");
+ throw new IllegalStateException("Unexpected horizontal alignment
style class. Must be HorizontalAlignment or Short (deprecated).");
}
return align;
}
@@ -759,7 +777,7 @@ public final class CellUtil {
align = VerticalAlignment.BOTTOM;
}
else {
- throw new RuntimeException("Unexpected vertical alignment style
class. Must be VerticalAlignment or Short (deprecated).");
+ throw new IllegalStateException("Unexpected vertical alignment
style class. Must be VerticalAlignment or Short (deprecated).");
}
return align;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]