You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by fa...@apache.org on 2022/05/25 10:31:08 UTC

svn commit: r1901229 - in /poi/trunk: poi/src/main/java/org/apache/poi/ss/formula/functions/DStarRunner.java test-data/spreadsheet/DGet.xls

Author: fanningpj
Date: Wed May 25 10:31:07 2022
New Revision: 1901229

URL: http://svn.apache.org/viewvc?rev=1901229&view=rev
Log:
[bug-66087] make DStar functions case insensitive

Modified:
    poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DStarRunner.java
    poi/trunk/test-data/spreadsheet/DGet.xls

Modified: poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DStarRunner.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DStarRunner.java?rev=1901229&r1=1901228&r2=1901229&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DStarRunner.java (original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DStarRunner.java Wed May 25 10:31:07 2022
@@ -17,6 +17,7 @@
 
 package org.apache.poi.ss.formula.functions;
 
+import java.util.Locale;
 import java.util.function.Supplier;
 
 import org.apache.poi.ss.formula.eval.AreaEval;
@@ -30,6 +31,7 @@ import org.apache.poi.ss.formula.eval.St
 import org.apache.poi.ss.formula.eval.StringValueEval;
 import org.apache.poi.ss.formula.eval.ValueEval;
 import org.apache.poi.ss.util.NumberComparer;
+import org.apache.poi.util.LocaleUtil;
 
 /**
  * This class performs a D* calculation. It takes an {@link IDStarAlgorithm} object and
@@ -316,7 +318,7 @@ public final class DStarRunner implement
                     return testNumericCondition(value, operator.equal, stringOrNumber);
                 } else { // It's a string.
                     String valueString = value instanceof BlankEval ? "" : OperandResolver.coerceValueToString(value);
-                    return stringOrNumber.equals(valueString);
+                    return stringOrNumber.equalsIgnoreCase(valueString);
                 }
             } else { // It's a text starts-with condition.
                 if(conditionString.isEmpty()) {
@@ -324,7 +326,7 @@ public final class DStarRunner implement
                 }
                 else {
                     String valueString = value instanceof BlankEval ? "" : OperandResolver.coerceValueToString(value);
-                    return valueString.startsWith(conditionString);
+                    return valueString.toLowerCase(LocaleUtil.getUserLocale()).startsWith(conditionString.toLowerCase(LocaleUtil.getUserLocale()));
                 }
             }
         } else if(condition instanceof NumericValueEval) {

Modified: poi/trunk/test-data/spreadsheet/DGet.xls
URL: http://svn.apache.org/viewvc/poi/trunk/test-data/spreadsheet/DGet.xls?rev=1901229&r1=1901228&r2=1901229&view=diff
==============================================================================
Binary files - no diff available.



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org