Author: fanningpj
Date: Wed May 25 18:18:40 2022
New Revision: 1901252
URL: http://svn.apache.org/viewvc?rev=1901252&view=rev
Log:
revert change to IDStarAlgorithm.processMatch
Modified:
poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DCount.java
poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DGet.java
poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DMax.java
poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DMin.java
poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DStarRunner.java
poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DSum.java
poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/IDStarAlgorithm.java
Modified:
poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DCount.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DCount.java?rev=1901252&r1=1901251&r2=1901252&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DCount.java
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DCount.java
Wed May 25 18:18:40 2022
@@ -29,8 +29,8 @@ public final class DCount implements IDS
private int count;
@Override
- public boolean processMatch(ValueEval eval, int fieldNumber) {
- if (fieldNumber < 0 || eval instanceof NumericValueEval) {
+ public boolean processMatch(ValueEval eval) {
+ if (eval instanceof NumericValueEval) {
count++;
}
return true;
Modified:
poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DGet.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DGet.java?rev=1901252&r1=1901251&r2=1901252&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DGet.java
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DGet.java
Wed May 25 18:18:40 2022
@@ -31,7 +31,7 @@ public final class DGet implements IDSta
private ValueEval result;
@Override
- public boolean processMatch(ValueEval eval, int fieldNumber) {
+ public boolean processMatch(ValueEval eval) {
if(result == null) // First match, just set the value.
{
result = eval;
Modified:
poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DMax.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DMax.java?rev=1901252&r1=1901251&r2=1901252&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DMax.java
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DMax.java
Wed May 25 18:18:40 2022
@@ -33,7 +33,7 @@ public final class DMax implements IDSta
private ValueEval maximumValue;
@Override
- public boolean processMatch(ValueEval eval, int fieldNumber) {
+ public boolean processMatch(ValueEval eval) {
if(eval instanceof NumericValueEval) {
if(maximumValue == null) { // First match, just set the value.
maximumValue = eval;
Modified:
poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DMin.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DMin.java?rev=1901252&r1=1901251&r2=1901252&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DMin.java
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DMin.java
Wed May 25 18:18:40 2022
@@ -33,7 +33,7 @@ public final class DMin implements IDSta
private ValueEval minimumValue;
@Override
- public boolean processMatch(ValueEval eval, int fieldNumber) {
+ public boolean processMatch(ValueEval eval) {
if(eval instanceof NumericValueEval) {
if(minimumValue == null) { // First match, just set the value.
minimumValue = eval;
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=1901252&r1=1901251&r2=1901252&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 18:18:40 2022
@@ -23,7 +23,9 @@ import org.apache.poi.ss.formula.eval.Ar
import org.apache.poi.ss.formula.eval.BlankEval;
import org.apache.poi.ss.formula.eval.ErrorEval;
import org.apache.poi.ss.formula.eval.EvaluationException;
+import org.apache.poi.ss.formula.eval.MissingArgEval;
import org.apache.poi.ss.formula.eval.NotImplementedException;
+import org.apache.poi.ss.formula.eval.NumberEval;
import org.apache.poi.ss.formula.eval.NumericValueEval;
import org.apache.poi.ss.formula.eval.OperandResolver;
import org.apache.poi.ss.formula.eval.StringEval;
@@ -138,10 +140,13 @@ public final class DStarRunner implement
return ErrorEval.VALUE_INVALID;
}
// Filter each entry.
- if(matches) {
+ if (matches) {
ValueEval currentValueEval = resolveReference(db, row, fc);
+ if (fc < 0 && algorithm.allowEmptyMatchField() &&
!(currentValueEval instanceof NumericValueEval)) {
+ currentValueEval = NumberEval.ZERO;
+ }
// Pass the match to the algorithm and conditionally abort the
search.
- boolean shouldContinue =
algorithm.processMatch(currentValueEval, fc);
+ boolean shouldContinue =
algorithm.processMatch(currentValueEval);
if(! shouldContinue) {
break;
}
Modified:
poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DSum.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DSum.java?rev=1901252&r1=1901251&r2=1901252&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DSum.java
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/DSum.java
Wed May 25 18:18:40 2022
@@ -33,7 +33,7 @@ public final class DSum implements IDSta
private double totalValue = 0;
@Override
- public boolean processMatch(ValueEval eval, int fieldNumber) {
+ public boolean processMatch(ValueEval eval) {
if(eval instanceof NumericValueEval) {
double currentValue = ((NumericValueEval)eval).getNumberValue();
totalValue += currentValue;
Modified:
poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/IDStarAlgorithm.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/IDStarAlgorithm.java?rev=1901252&r1=1901251&r2=1901252&view=diff
==============================================================================
---
poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/IDStarAlgorithm.java
(original)
+++
poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/IDStarAlgorithm.java
Wed May 25 18:18:40 2022
@@ -27,10 +27,9 @@ public interface IDStarAlgorithm {
/**
* Process a match that is found during a run through a database.
* @param eval ValueEval of the cell in the matching row. References will
already be resolved.
- * @param fieldNumber the field number (added in POI 5.2.3)
* @return Whether we should continue iterating through the database.
*/
- boolean processMatch(ValueEval eval, int fieldNumber);
+ boolean processMatch(ValueEval eval);
/**
* Return a result ValueEval that will be the result of the calculation.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]