Browse Source

[bug-66123] support gte attribute in XSSFConditionalFormattingThreshold

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1901945 13f79535-47bb-0310-9956-ffa450edef68
tags/REL_5_2_3
PJ Fanning 1 year ago
parent
commit
d075f2ae9c

+ 17
- 0
poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFConditionalFormattingThreshold.java View File

@@ -72,6 +72,7 @@ public class XSSFConditionalFormattingThreshold implements org.apache.poi.ss.use
return null;
}
}

@Override
public void setValue(Double value) {
if (value == null) {
@@ -80,4 +81,20 @@ public class XSSFConditionalFormattingThreshold implements org.apache.poi.ss.use
cfvo.setVal(value.toString());
}
}

/**
* @return true if 'gte' attribute is set to true (defaults to true)
* @since POI 5.2.3
*/
public boolean isGte() {
return cfvo.getGte();
}

/**
* @param gte set 'gte' attribute (defaults to true)
* @since POI 5.2.3
*/
public void setGte(boolean gte) {
cfvo.setGte(gte);
}
}

+ 18
- 0
poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFConditionalFormatting.java View File

@@ -19,7 +19,10 @@
package org.apache.poi.xssf.usermodel;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;

import java.io.IOException;

@@ -27,6 +30,7 @@ import org.apache.poi.ss.usermodel.BaseTestConditionalFormatting;
import org.apache.poi.ss.usermodel.Color;
import org.apache.poi.ss.usermodel.ConditionalFormatting;
import org.apache.poi.ss.usermodel.ConditionalFormattingRule;
import org.apache.poi.ss.usermodel.ConditionalFormattingThreshold;
import org.apache.poi.ss.usermodel.ExtendedColor;
import org.apache.poi.ss.usermodel.FontFormatting;
import org.apache.poi.ss.usermodel.PatternFormatting;
@@ -143,4 +147,18 @@ class TestXSSFConditionalFormatting extends BaseTestConditionalFormatting {
protected boolean applyLimitOf3() {
return false;
}

@Override
protected void checkThreshold(ConditionalFormattingThreshold threshold) {
assertNull(threshold.getValue());
assertNull(threshold.getFormula());
assertTrue(threshold instanceof XSSFConditionalFormattingThreshold,
"threshold is a XSSFConditionalFormattingThreshold?");
XSSFConditionalFormattingThreshold xssfThreshold = (XSSFConditionalFormattingThreshold)threshold;
assertTrue(xssfThreshold.isGte(), "gte defaults to true?");
xssfThreshold.setGte(false);
assertFalse(xssfThreshold.isGte(), "gte changed to false?");
xssfThreshold.setGte(true);
assertTrue(xssfThreshold.isGte(), "gte changed to true?");
}
}

+ 12
- 11
poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestConditionalFormatting.java View File

@@ -550,8 +550,7 @@ public abstract class BaseTestConditionalFormatting {
if (str.contains("[CFEX]")) fCFEX++;
} else {
ConditionType type = cf.getRule(cf.getNumberOfRules() - 1).getConditionType();
if (type == ConditionType.CELL_VALUE_IS ||
type == ConditionType.FORMULA) {
if (type == ConditionType.CELL_VALUE_IS || type == ConditionType.FORMULA) {
fCF++;
} else {
// TODO Properly detect Ext ones from the xml
@@ -772,15 +771,17 @@ public abstract class BaseTestConditionalFormatting {

assertColor(color, databar.getColor());

ConditionalFormattingThreshold th;
th = databar.getMinThreshold();
assertEquals(RangeType.MIN, th.getRangeType());
assertNull(th.getValue());
assertNull(th.getFormula());
th = databar.getMaxThreshold();
assertEquals(RangeType.MAX, th.getRangeType());
assertNull(th.getValue());
assertNull(th.getFormula());
ConditionalFormattingThreshold th1 = databar.getMinThreshold();
assertEquals(RangeType.MIN, th1.getRangeType());
checkThreshold(th1);
ConditionalFormattingThreshold th2 = databar.getMaxThreshold();
assertEquals(RangeType.MAX, th2.getRangeType());
checkThreshold(th2);
}

protected void checkThreshold(ConditionalFormattingThreshold threshold) {
assertNull(threshold.getValue());
assertNull(threshold.getFormula());
}

private void assertIconSetPercentages(ConditionalFormatting cf, IconSet iconset, Double...vals) {

Loading…
Cancel
Save