From 410dc0236bf633101d9175fc816e8c5d9e1aee60 Mon Sep 17 00:00:00 2001 From: Josh Micich Date: Sat, 28 Nov 2009 02:50:47 +0000 Subject: [PATCH] Made BlankEval instance consistent with other Eval singletons. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@885061 13f79535-47bb-0310-9956-ffa450edef68 --- .../hssf/record/formula/eval/BlankEval.java | 6 ++++- .../hssf/record/formula/eval/ConcatEval.java | 2 +- .../record/formula/eval/OperandResolver.java | 12 ++++----- .../formula/eval/RelationalOperationEval.java | 6 ++--- .../hssf/record/formula/functions/Choose.java | 2 +- .../hssf/record/formula/functions/Counta.java | 2 +- .../record/formula/functions/Countblank.java | 2 +- .../record/formula/functions/Countif.java | 2 +- .../poi/hssf/record/formula/functions/If.java | 6 ++--- .../hssf/record/formula/functions/Index.java | 2 +- .../record/formula/functions/Indirect.java | 2 +- .../record/formula/functions/LookupUtils.java | 2 +- .../hssf/record/formula/functions/Mode.java | 2 +- .../MultiOperandNumericFunction.java | 2 +- .../apache/poi/ss/formula/CellCacheEntry.java | 21 +++++++-------- .../poi/ss/formula/EvaluationCache.java | 27 +++++++++---------- .../poi/ss/formula/EvaluationTracker.java | 4 +-- .../poi/ss/formula/WorkbookEvaluator.java | 8 +++--- .../eval/forked/ForkedEvaluationCell.java | 2 +- .../record/formula/eval/TestEqualEval.java | 2 +- .../record/formula/functions/TestAverage.java | 6 ++--- .../formula/functions/TestCountFuncs.java | 10 +++---- .../record/formula/functions/TestLen.java | 2 +- .../record/formula/functions/TestMid.java | 6 ++--- .../record/formula/functions/TestTFunc.java | 2 +- .../record/formula/functions/TestTrim.java | 2 +- .../poi/ss/formula/TestEvaluationCache.java | 2 +- 27 files changed, 73 insertions(+), 71 deletions(-) diff --git a/src/java/org/apache/poi/hssf/record/formula/eval/BlankEval.java b/src/java/org/apache/poi/hssf/record/formula/eval/BlankEval.java index fa4a238bd3..3e5147122d 100644 --- a/src/java/org/apache/poi/hssf/record/formula/eval/BlankEval.java +++ b/src/java/org/apache/poi/hssf/record/formula/eval/BlankEval.java @@ -23,7 +23,11 @@ package org.apache.poi.hssf.record.formula.eval; */ public final class BlankEval implements ValueEval { - public static BlankEval INSTANCE = new BlankEval(); + public static final BlankEval instance = new BlankEval(); + /** + * @deprecated (Nov 2009) use {@link #instance} + */ + public static final BlankEval INSTANCE = instance; private BlankEval() { // enforce singleton diff --git a/src/java/org/apache/poi/hssf/record/formula/eval/ConcatEval.java b/src/java/org/apache/poi/hssf/record/formula/eval/ConcatEval.java index 53d8c7bc29..f52aea98f1 100644 --- a/src/java/org/apache/poi/hssf/record/formula/eval/ConcatEval.java +++ b/src/java/org/apache/poi/hssf/record/formula/eval/ConcatEval.java @@ -51,7 +51,7 @@ public final class ConcatEval extends Fixed2ArgFunction { StringValueEval sve = (StringValueEval) ve; return sve.getStringValue(); } - if (ve == BlankEval.INSTANCE) { + if (ve == BlankEval.instance) { return ""; } throw new IllegalAccessError("Unexpected value type (" diff --git a/src/java/org/apache/poi/hssf/record/formula/eval/OperandResolver.java b/src/java/org/apache/poi/hssf/record/formula/eval/OperandResolver.java index 55684b0197..37b8428001 100644 --- a/src/java/org/apache/poi/hssf/record/formula/eval/OperandResolver.java +++ b/src/java/org/apache/poi/hssf/record/formula/eval/OperandResolver.java @@ -106,7 +106,7 @@ public final class OperandResolver { if(result == null) { // This seems to be required because AreaEval.values() array may contain nulls. // perhaps that should not be allowed. - result = BlankEval.INSTANCE; + result = BlankEval.instance; } if (result instanceof ErrorEval) { throw new EvaluationException((ErrorEval) result); @@ -179,7 +179,7 @@ public final class OperandResolver { * */ public static int coerceValueToInt(ValueEval ev) throws EvaluationException { - if (ev == BlankEval.INSTANCE) { + if (ev == BlankEval.instance) { return 0; } double d = coerceValueToDouble(ev); @@ -201,7 +201,7 @@ public final class OperandResolver { */ public static double coerceValueToDouble(ValueEval ev) throws EvaluationException { - if (ev == BlankEval.INSTANCE) { + if (ev == BlankEval.instance) { return 0.0; } if (ev instanceof NumericValueEval) { @@ -268,7 +268,7 @@ public final class OperandResolver { StringValueEval sve = (StringValueEval) ve; return sve.getStringValue(); } - if (ve == BlankEval.INSTANCE) { + if (ve == BlankEval.instance) { return ""; } throw new IllegalArgumentException("Unexpected eval class (" + ve.getClass().getName() + ")"); @@ -280,7 +280,7 @@ public final class OperandResolver { */ public static Boolean coerceValueToBoolean(ValueEval ve, boolean stringsAreBlanks) throws EvaluationException { - if (ve == null || ve == BlankEval.INSTANCE) { + if (ve == null || ve == BlankEval.instance) { // TODO - remove 've == null' condition once AreaEval is fixed return null; } @@ -288,7 +288,7 @@ public final class OperandResolver { return Boolean.valueOf(((BoolEval) ve).getBooleanValue()); } - if (ve == BlankEval.INSTANCE) { + if (ve == BlankEval.instance) { return null; } diff --git a/src/java/org/apache/poi/hssf/record/formula/eval/RelationalOperationEval.java b/src/java/org/apache/poi/hssf/record/formula/eval/RelationalOperationEval.java index 63b68c441a..b9cace26a9 100644 --- a/src/java/org/apache/poi/hssf/record/formula/eval/RelationalOperationEval.java +++ b/src/java/org/apache/poi/hssf/record/formula/eval/RelationalOperationEval.java @@ -73,10 +73,10 @@ public abstract class RelationalOperationEval extends Fixed2ArgFunction { private static int doCompare(ValueEval va, ValueEval vb) { // special cases when one operand is blank - if (va == BlankEval.INSTANCE) { + if (va == BlankEval.instance) { return compareBlank(vb); } - if (vb == BlankEval.INSTANCE) { + if (vb == BlankEval.instance) { return -compareBlank(va); } @@ -117,7 +117,7 @@ public abstract class RelationalOperationEval extends Fixed2ArgFunction { } private static int compareBlank(ValueEval v) { - if (v == BlankEval.INSTANCE) { + if (v == BlankEval.instance) { return 0; } if (v instanceof BoolEval) { diff --git a/src/java/org/apache/poi/hssf/record/formula/functions/Choose.java b/src/java/org/apache/poi/hssf/record/formula/functions/Choose.java index 01fa4590f8..cf6e4fd4a0 100644 --- a/src/java/org/apache/poi/hssf/record/formula/functions/Choose.java +++ b/src/java/org/apache/poi/hssf/record/formula/functions/Choose.java @@ -41,7 +41,7 @@ public final class Choose implements Function { } ValueEval result = OperandResolver.getSingleValue(args[ix], srcRowIndex, srcColumnIndex); if (result == MissingArgEval.instance) { - return BlankEval.INSTANCE; + return BlankEval.instance; } return result; } catch (EvaluationException e) { diff --git a/src/java/org/apache/poi/hssf/record/formula/functions/Counta.java b/src/java/org/apache/poi/hssf/record/formula/functions/Counta.java index c71a5bd258..ee289e2746 100644 --- a/src/java/org/apache/poi/hssf/record/formula/functions/Counta.java +++ b/src/java/org/apache/poi/hssf/record/formula/functions/Counta.java @@ -62,7 +62,7 @@ public final class Counta implements Function { // Error values like #VALUE!, #REF!, #DIV/0!, #NAME? etc don't cause this COUNTA to return an error // in fact, they seem to get counted - if(valueEval == BlankEval.INSTANCE) { + if(valueEval == BlankEval.instance) { return false; } // Note - everything but BlankEval counts diff --git a/src/java/org/apache/poi/hssf/record/formula/functions/Countblank.java b/src/java/org/apache/poi/hssf/record/formula/functions/Countblank.java index a668225da4..447c1b87b1 100644 --- a/src/java/org/apache/poi/hssf/record/formula/functions/Countblank.java +++ b/src/java/org/apache/poi/hssf/record/formula/functions/Countblank.java @@ -54,7 +54,7 @@ public final class Countblank extends Fixed1ArgFunction { public boolean matches(ValueEval valueEval) { // Note - only BlankEval counts - return valueEval == BlankEval.INSTANCE; + return valueEval == BlankEval.instance; } }; } diff --git a/src/java/org/apache/poi/hssf/record/formula/functions/Countif.java b/src/java/org/apache/poi/hssf/record/formula/functions/Countif.java index 77fdf9bfc7..25fa0ecadd 100644 --- a/src/java/org/apache/poi/hssf/record/formula/functions/Countif.java +++ b/src/java/org/apache/poi/hssf/record/formula/functions/Countif.java @@ -445,7 +445,7 @@ public final class Countif extends Fixed2ArgFunction { if(evaluatedCriteriaArg instanceof ErrorEval) { return new ErrorMatcher(((ErrorEval)evaluatedCriteriaArg).getErrorCode(), CmpOp.OP_NONE); } - if(evaluatedCriteriaArg == BlankEval.INSTANCE) { + if(evaluatedCriteriaArg == BlankEval.instance) { return null; } throw new RuntimeException("Unexpected type for criteria (" diff --git a/src/java/org/apache/poi/hssf/record/formula/functions/If.java b/src/java/org/apache/poi/hssf/record/formula/functions/If.java index 6cdbcd6a16..7dfbf0d556 100644 --- a/src/java/org/apache/poi/hssf/record/formula/functions/If.java +++ b/src/java/org/apache/poi/hssf/record/formula/functions/If.java @@ -38,7 +38,7 @@ public final class If extends Var2or3ArgFunction { } if (b) { if (arg1 == MissingArgEval.instance) { - return BlankEval.INSTANCE; + return BlankEval.instance; } return arg1; } @@ -55,12 +55,12 @@ public final class If extends Var2or3ArgFunction { } if (b) { if (arg1 == MissingArgEval.instance) { - return BlankEval.INSTANCE; + return BlankEval.instance; } return arg1; } if (arg2 == MissingArgEval.instance) { - return BlankEval.INSTANCE; + return BlankEval.instance; } return arg2; } diff --git a/src/java/org/apache/poi/hssf/record/formula/functions/Index.java b/src/java/org/apache/poi/hssf/record/formula/functions/Index.java index ad1dc9dd2b..d4b2519335 100644 --- a/src/java/org/apache/poi/hssf/record/formula/functions/Index.java +++ b/src/java/org/apache/poi/hssf/record/formula/functions/Index.java @@ -200,7 +200,7 @@ public final class Index implements Function2Arg, Function3Arg, Function4Arg { if (ev == MissingArgEval.instance) { return 0; } - if (ev == BlankEval.INSTANCE) { + if (ev == BlankEval.instance) { return 0; } int result = OperandResolver.coerceValueToInt(ev); diff --git a/src/java/org/apache/poi/hssf/record/formula/functions/Indirect.java b/src/java/org/apache/poi/hssf/record/formula/functions/Indirect.java index 80d515ac14..8a4fba3dd3 100644 --- a/src/java/org/apache/poi/hssf/record/formula/functions/Indirect.java +++ b/src/java/org/apache/poi/hssf/record/formula/functions/Indirect.java @@ -80,7 +80,7 @@ public final class Indirect implements FreeRefFunction { throws EvaluationException { ValueEval ve = OperandResolver.getSingleValue(arg, ec.getRowIndex(), ec.getColumnIndex()); - if (ve == BlankEval.INSTANCE || ve == MissingArgEval.instance) { + if (ve == BlankEval.instance || ve == MissingArgEval.instance) { return false; } // numeric quantities follow standard boolean conversion rules diff --git a/src/java/org/apache/poi/hssf/record/formula/functions/LookupUtils.java b/src/java/org/apache/poi/hssf/record/formula/functions/LookupUtils.java index ae2bc9114c..b6a9d7bc8b 100644 --- a/src/java/org/apache/poi/hssf/record/formula/functions/LookupUtils.java +++ b/src/java/org/apache/poi/hssf/record/formula/functions/LookupUtils.java @@ -585,7 +585,7 @@ final class LookupUtils { public static LookupValueComparer createLookupComparer(ValueEval lookupValue) { - if (lookupValue == BlankEval.INSTANCE) { + if (lookupValue == BlankEval.instance) { // blank eval translates to zero // Note - a blank eval in the lookup column/row never matches anything // empty string in the lookup column/row can only be matched by explicit empty string diff --git a/src/java/org/apache/poi/hssf/record/formula/functions/Mode.java b/src/java/org/apache/poi/hssf/record/formula/functions/Mode.java index 81744de12d..4280bb11e5 100644 --- a/src/java/org/apache/poi/hssf/record/formula/functions/Mode.java +++ b/src/java/org/apache/poi/hssf/record/formula/functions/Mode.java @@ -118,7 +118,7 @@ public final class Mode implements Function { if (arg instanceof ErrorEval) { throw new EvaluationException((ErrorEval) arg); } - if (arg == BlankEval.INSTANCE || arg instanceof BoolEval || arg instanceof StringEval) { + if (arg == BlankEval.instance || arg instanceof BoolEval || arg instanceof StringEval) { if (mustBeNumber) { throw EvaluationException.invalidValue(); } diff --git a/src/java/org/apache/poi/hssf/record/formula/functions/MultiOperandNumericFunction.java b/src/java/org/apache/poi/hssf/record/formula/functions/MultiOperandNumericFunction.java index 40ae7cb7d3..fab88df49a 100644 --- a/src/java/org/apache/poi/hssf/record/formula/functions/MultiOperandNumericFunction.java +++ b/src/java/org/apache/poi/hssf/record/formula/functions/MultiOperandNumericFunction.java @@ -185,7 +185,7 @@ public abstract class MultiOperandNumericFunction implements Function { } return; } - if (ve == BlankEval.INSTANCE) { + if (ve == BlankEval.instance) { if (_isBlankCounted) { temp.add(0.0); } diff --git a/src/java/org/apache/poi/ss/formula/CellCacheEntry.java b/src/java/org/apache/poi/ss/formula/CellCacheEntry.java index 610708a3b7..0d72ef6264 100644 --- a/src/java/org/apache/poi/ss/formula/CellCacheEntry.java +++ b/src/java/org/apache/poi/ss/formula/CellCacheEntry.java @@ -30,10 +30,10 @@ import org.apache.poi.ss.formula.IEvaluationListener.ICacheEntry; */ abstract class CellCacheEntry implements ICacheEntry { public static final CellCacheEntry[] EMPTY_ARRAY = { }; - + private final FormulaCellCacheEntrySet _consumingCells; private ValueEval _value; - + protected CellCacheEntry() { _consumingCells = new FormulaCellCacheEntrySet(); @@ -53,7 +53,7 @@ abstract class CellCacheEntry implements ICacheEntry { public final ValueEval getValue() { return _value; } - + private static boolean areValuesEqual(ValueEval a, ValueEval b) { if (a == null) { return false; @@ -63,7 +63,7 @@ abstract class CellCacheEntry implements ICacheEntry { // value type is changing return false; } - if (a == BlankEval.INSTANCE) { + if (a == BlankEval.instance) { return b == a; } if (cls == NumberEval.class) { @@ -83,7 +83,7 @@ abstract class CellCacheEntry implements ICacheEntry { public final void addConsumingCell(FormulaCellCacheEntry cellLoc) { _consumingCells.add(cellLoc); - + } public final FormulaCellCacheEntry[] getConsumingCells() { return _consumingCells.toArray(); @@ -102,23 +102,23 @@ abstract class CellCacheEntry implements ICacheEntry { recurseClearCachedFormulaResults(listener, 1); } } - + /** - * Calls formulaCell.setFormulaResult(null, null) recursively all the way up the tree of + * Calls formulaCell.setFormulaResult(null, null) recursively all the way up the tree of * dependencies. Calls usedCell.clearConsumingCell(fc) for each child of a cell that is * cleared along the way. * @param formulaCells */ protected final void recurseClearCachedFormulaResults() { FormulaCellCacheEntry[] formulaCells = getConsumingCells(); - + for (int i = 0; i < formulaCells.length; i++) { FormulaCellCacheEntry fc = formulaCells[i]; fc.clearFormulaEntry(); fc.recurseClearCachedFormulaResults(); } } - + /** * Identical to {@link #recurseClearCachedFormulaResults()} except for the listener call-backs */ @@ -133,5 +133,4 @@ abstract class CellCacheEntry implements ICacheEntry { fc.recurseClearCachedFormulaResults(listener, depth+1); } } - -} \ No newline at end of file +} diff --git a/src/java/org/apache/poi/ss/formula/EvaluationCache.java b/src/java/org/apache/poi/ss/formula/EvaluationCache.java index 8b0b7cf271..e0f89c444e 100644 --- a/src/java/org/apache/poi/ss/formula/EvaluationCache.java +++ b/src/java/org/apache/poi/ss/formula/EvaluationCache.java @@ -31,10 +31,9 @@ import org.apache.poi.ss.formula.PlainCellCache.Loc; /** * Performance optimisation for {@link HSSFFormulaEvaluator}. This class stores previously - * calculated values of already visited cells, to avoid unnecessary re-calculation when the + * calculated values of already visited cells, to avoid unnecessary re-calculation when the * same cells are referenced multiple times - * - * + * * @author Josh Micich */ final class EvaluationCache { @@ -84,7 +83,7 @@ final class EvaluationCache { } else { ValueEval value = WorkbookEvaluator.getValueFromNonFormulaCell(cell); if (pcce == null) { - if (value != BlankEval.INSTANCE) { + if (value != BlankEval.instance) { // only cache non-blank values in the plain cell cache // (dependencies on blank cells are managed by // FormulaCellCacheEntry._usedBlankCellGroup) @@ -102,7 +101,7 @@ final class EvaluationCache { if (pcce.updateValue(value)) { pcce.recurseClearCachedFormulaResults(_evaluationListener); } - if (value == BlankEval.INSTANCE) { + if (value == BlankEval.instance) { _plainCellCache.remove(loc); } } @@ -117,7 +116,7 @@ final class EvaluationCache { } } - private void updateAnyBlankReferencingFormulas(int bookIndex, int sheetIndex, + private void updateAnyBlankReferencingFormulas(int bookIndex, int sheetIndex, final int rowIndex, final int columnIndex) { final BookSheetKey bsk = new BookSheetKey(bookIndex, sheetIndex); _formulaCellCache.applyOperation(new IEntryOperation() { @@ -130,7 +129,7 @@ final class EvaluationCache { public PlainValueCellCacheEntry getPlainValueEntry(int bookIndex, int sheetIndex, int rowIndex, int columnIndex, ValueEval value) { - + Loc loc = new Loc(bookIndex, sheetIndex, rowIndex, columnIndex); PlainValueCellCacheEntry result = _plainCellCache.get(loc); if (result == null) { @@ -140,7 +139,7 @@ final class EvaluationCache { _evaluationListener.onReadPlainValue(sheetIndex, rowIndex, columnIndex, result); } } else { - // TODO - if we are confident that this sanity check is not required, we can remove 'value' from plain value cache entry + // TODO - if we are confident that this sanity check is not required, we can remove 'value' from plain value cache entry if (!areValuesEqual(result.getValue(), value)) { throw new IllegalStateException("value changed"); } @@ -159,7 +158,7 @@ final class EvaluationCache { // value type is changing return false; } - if (a == BlankEval.INSTANCE) { + if (a == BlankEval.instance) { return b == a; } if (cls == NumberEval.class) { @@ -176,11 +175,11 @@ final class EvaluationCache { } throw new IllegalStateException("Unexpected value class (" + cls.getName() + ")"); } - + public FormulaCellCacheEntry getOrCreateFormulaCellEntry(EvaluationCell cell) { FormulaCellCacheEntry result = _formulaCellCache.get(cell); if (result == null) { - + result = new FormulaCellCacheEntry(); _formulaCellCache.put(cell, result); } @@ -198,11 +197,11 @@ final class EvaluationCache { _formulaCellCache.clear(); } public void notifyDeleteCell(int bookIndex, int sheetIndex, EvaluationCell cell) { - + if (cell.getCellType() == HSSFCell.CELL_TYPE_FORMULA) { FormulaCellCacheEntry fcce = _formulaCellCache.remove(cell); if (fcce == null) { - // formula cell has not been evaluated yet + // formula cell has not been evaluated yet } else { fcce.setSensitiveInputCells(null); fcce.recurseClearCachedFormulaResults(_evaluationListener); @@ -210,7 +209,7 @@ final class EvaluationCache { } else { Loc loc = new Loc(bookIndex, sheetIndex, cell.getRowIndex(), cell.getColumnIndex()); PlainValueCellCacheEntry pcce = _plainCellCache.get(loc); - + if (pcce == null) { // cache entry doesn't exist. nothing to do } else { diff --git a/src/java/org/apache/poi/ss/formula/EvaluationTracker.java b/src/java/org/apache/poi/ss/formula/EvaluationTracker.java index 0d89b247d6..00da33af9e 100644 --- a/src/java/org/apache/poi/ss/formula/EvaluationTracker.java +++ b/src/java/org/apache/poi/ss/formula/EvaluationTracker.java @@ -84,7 +84,7 @@ final class EvaluationTracker { if (result == ErrorEval.CIRCULAR_REF_ERROR && nFrames > 1) { // Don't cache a circular ref error result if this cell is not the top evaluated cell. // A true circular ref error will propagate all the way around the loop. However, it's - // possible to have parts of the formula tree (/ parts of the loop) to evaluate to + // possible to have parts of the formula tree (/ parts of the loop) to evaluate to // CIRCULAR_REF_ERROR, and that value not get used in the final cell result (see the // unit tests for a simple example). Thus, the only CIRCULAR_REF_ERROR result that can // safely be cached is that of the top evaluated cell. @@ -140,7 +140,7 @@ final class EvaluationTracker { // Top level frame, there is no 'cell' above this frame that is using the current cell } else { CellEvaluationFrame consumingFrame = _evaluationFrames.get(prevFrameIndex); - if (value == BlankEval.INSTANCE) { + if (value == BlankEval.instance) { consumingFrame.addUsedBlankCell(bookIndex, sheetIndex, rowIndex, columnIndex); } else { PlainValueCellCacheEntry cce = _cache.getPlainValueEntry(bookIndex, sheetIndex, diff --git a/src/java/org/apache/poi/ss/formula/WorkbookEvaluator.java b/src/java/org/apache/poi/ss/formula/WorkbookEvaluator.java index 3accf93f31..ca1b71a21d 100644 --- a/src/java/org/apache/poi/ss/formula/WorkbookEvaluator.java +++ b/src/java/org/apache/poi/ss/formula/WorkbookEvaluator.java @@ -313,7 +313,7 @@ public final class WorkbookEvaluator { */ /* package */ static ValueEval getValueFromNonFormulaCell(EvaluationCell cell) { if (cell == null) { - return BlankEval.INSTANCE; + return BlankEval.instance; } int cellType = cell.getCellType(); switch (cellType) { @@ -324,7 +324,7 @@ public final class WorkbookEvaluator { case Cell.CELL_TYPE_BOOLEAN: return BoolEval.valueOf(cell.getBooleanCellValue()); case Cell.CELL_TYPE_BLANK: - return BlankEval.INSTANCE; + return BlankEval.instance; case Cell.CELL_TYPE_ERROR: return ErrorEval.valueOf(cell.getErrorCellValue()); } @@ -401,7 +401,7 @@ public final class WorkbookEvaluator { i+= countTokensToBeSkipped(ptgs, i, dist); if (stack.peek() == MissingArgEval.instance) { stack.pop(); - stack.push(BlankEval.INSTANCE); + stack.push(BlankEval.instance); } continue; } @@ -450,7 +450,7 @@ public final class WorkbookEvaluator { throw new IllegalStateException("evaluation stack not empty"); } value = dereferenceValue(value, ec.getRowIndex(), ec.getColumnIndex()); - if (value == BlankEval.INSTANCE) { + if (value == BlankEval.instance) { // Note Excel behaviour here. A blank final final value is converted to zero. return NumberEval.ZERO; // Formulas _never_ evaluate to blank. If a formula appears to have evaluated to diff --git a/src/java/org/apache/poi/ss/formula/eval/forked/ForkedEvaluationCell.java b/src/java/org/apache/poi/ss/formula/eval/forked/ForkedEvaluationCell.java index 73c6a7ddc6..8dd298193c 100644 --- a/src/java/org/apache/poi/ss/formula/eval/forked/ForkedEvaluationCell.java +++ b/src/java/org/apache/poi/ss/formula/eval/forked/ForkedEvaluationCell.java @@ -49,7 +49,7 @@ final class ForkedEvaluationCell implements EvaluationCell { _sheet = sheet; _masterCell = masterCell; // start with value blank, but expect construction to be immediately - setValue(BlankEval.INSTANCE); // followed by a proper call to setValue() + setValue(BlankEval.instance); // followed by a proper call to setValue() } public Object getIdentityKey() { diff --git a/src/testcases/org/apache/poi/hssf/record/formula/eval/TestEqualEval.java b/src/testcases/org/apache/poi/hssf/record/formula/eval/TestEqualEval.java index 34505dc601..7e465b60de 100644 --- a/src/testcases/org/apache/poi/hssf/record/formula/eval/TestEqualEval.java +++ b/src/testcases/org/apache/poi/hssf/record/formula/eval/TestEqualEval.java @@ -59,7 +59,7 @@ public final class TestEqualEval extends TestCase { ValueEval[] args = { new StringEval(""), - BlankEval.INSTANCE, + BlankEval.instance, }; ValueEval result = evaluate(EI.Equal, args, 10, 10); assertEquals(BoolEval.class, result.getClass()); diff --git a/src/testcases/org/apache/poi/hssf/record/formula/functions/TestAverage.java b/src/testcases/org/apache/poi/hssf/record/formula/functions/TestAverage.java index 5b772bb0c1..5a4d52bb9c 100644 --- a/src/testcases/org/apache/poi/hssf/record/formula/functions/TestAverage.java +++ b/src/testcases/org/apache/poi/hssf/record/formula/functions/TestAverage.java @@ -61,11 +61,11 @@ public final class TestAverage extends TestCase { values = new ValueEval[] { new NumberEval(1), new NumberEval(2), - BlankEval.INSTANCE, + BlankEval.instance, new NumberEval(3), - BlankEval.INSTANCE, + BlankEval.instance, new NumberEval(4), - BlankEval.INSTANCE, + BlankEval.instance, }; confirmAverage(values, 2.5); diff --git a/src/testcases/org/apache/poi/hssf/record/formula/functions/TestCountFuncs.java b/src/testcases/org/apache/poi/hssf/record/formula/functions/TestCountFuncs.java index e3ee50e0a4..08056cd030 100644 --- a/src/testcases/org/apache/poi/hssf/record/formula/functions/TestCountFuncs.java +++ b/src/testcases/org/apache/poi/hssf/record/formula/functions/TestCountFuncs.java @@ -57,7 +57,7 @@ public final class TestCountFuncs extends TestCase { BoolEval.TRUE, BoolEval.FALSE, ErrorEval.DIV_ZERO, - BlankEval.INSTANCE, + BlankEval.instance, }; range = EvalFactory.createAreaEval("A1:B3", values); confirmCountBlank(1, range); @@ -65,10 +65,10 @@ public final class TestCountFuncs extends TestCase { values = new ValueEval[] { new NumberEval(0), new StringEval(""), // note - does not match blank - BlankEval.INSTANCE, + BlankEval.instance, BoolEval.FALSE, BoolEval.TRUE, - BlankEval.INSTANCE, + BlankEval.instance, }; range = EvalFactory.createAreaEval("A1:B3", values); confirmCountBlank(2, range); @@ -116,7 +116,7 @@ public final class TestCountFuncs extends TestCase { BoolEval.TRUE, BoolEval.FALSE, BoolEval.TRUE, - BlankEval.INSTANCE, + BlankEval.instance, }; range = EvalFactory.createAreaEval("A1:B3", values); confirmCountIf(2, range, BoolEval.TRUE); @@ -414,7 +414,7 @@ public final class TestCountFuncs extends TestCase { assertEquals(expectedResult, matchPredicate.matches(new NumberEval(value))); } private static void confirmPredicate(boolean expectedResult, I_MatchPredicate matchPredicate, String value) { - ValueEval ev = value == null ? BlankEval.INSTANCE : new StringEval(value); + ValueEval ev = value == null ? BlankEval.instance : new StringEval(value); assertEquals(expectedResult, matchPredicate.matches(ev)); } private static void confirmPredicate(boolean expectedResult, I_MatchPredicate matchPredicate, ErrorEval value) { diff --git a/src/testcases/org/apache/poi/hssf/record/formula/functions/TestLen.java b/src/testcases/org/apache/poi/hssf/record/formula/functions/TestLen.java index 610897a6ab..be9c55ac6d 100644 --- a/src/testcases/org/apache/poi/hssf/record/formula/functions/TestLen.java +++ b/src/testcases/org/apache/poi/hssf/record/formula/functions/TestLen.java @@ -63,7 +63,7 @@ public final class TestLen extends TestCase { confirmLen(new NumberEval(123456), 6); confirmLen(BoolEval.FALSE, 5); confirmLen(BoolEval.TRUE, 4); - confirmLen(BlankEval.INSTANCE, 0); + confirmLen(BlankEval.instance, 0); } public void testErrors() { diff --git a/src/testcases/org/apache/poi/hssf/record/formula/functions/TestMid.java b/src/testcases/org/apache/poi/hssf/record/formula/functions/TestMid.java index dc4d50208d..72b50daf5b 100644 --- a/src/testcases/org/apache/poi/hssf/record/formula/functions/TestMid.java +++ b/src/testcases/org/apache/poi/hssf/record/formula/functions/TestMid.java @@ -75,11 +75,11 @@ public final class TestMid extends TestCase { RefEval reNumChars = EvalFactory.createRefEval("B1", new NumberEval(3)); confirmMid(new StringEval("galactic"), aeStart, reNumChars, "ala"); - confirmMid(new StringEval("galactic"), new NumberEval(3.1), BlankEval.INSTANCE, ""); + confirmMid(new StringEval("galactic"), new NumberEval(3.1), BlankEval.instance, ""); confirmMid(new StringEval("galactic"), new NumberEval(3), BoolEval.FALSE, ""); confirmMid(new StringEval("galactic"), new NumberEval(3), BoolEval.TRUE, "l"); - confirmMid(BlankEval.INSTANCE, new NumberEval(3), BoolEval.TRUE, ""); + confirmMid(BlankEval.instance, new NumberEval(3), BoolEval.TRUE, ""); } @@ -102,7 +102,7 @@ public final class TestMid extends TestCase { confirmMid(new StringEval("galactic"), new NumberEval(3), ErrorEval.NAME_INVALID, ErrorEval.NAME_INVALID); confirmMid(new StringEval("galactic"), ErrorEval.DIV_ZERO, ErrorEval.NAME_INVALID, ErrorEval.DIV_ZERO); - confirmMid(new StringEval("galactic"), BlankEval.INSTANCE, new NumberEval(3.1), ErrorEval.VALUE_INVALID); + confirmMid(new StringEval("galactic"), BlankEval.instance, new NumberEval(3.1), ErrorEval.VALUE_INVALID); confirmMid(new StringEval("galactic"), new NumberEval(0), new NumberEval(4), ErrorEval.VALUE_INVALID); confirmMid(new StringEval("galactic"), new NumberEval(1), new NumberEval(-1), ErrorEval.VALUE_INVALID); diff --git a/src/testcases/org/apache/poi/hssf/record/formula/functions/TestTFunc.java b/src/testcases/org/apache/poi/hssf/record/formula/functions/TestTFunc.java index 8a502c20cc..9d77b3dd1f 100644 --- a/src/testcases/org/apache/poi/hssf/record/formula/functions/TestTFunc.java +++ b/src/testcases/org/apache/poi/hssf/record/formula/functions/TestTFunc.java @@ -94,7 +94,7 @@ public final class TestTFunc extends TestCase { public void testOtherValues() { confirmOther(new NumberEval(2)); confirmOther(BoolEval.FALSE); - confirmOther(BlankEval.INSTANCE); // can this particular case be verified? + confirmOther(BlankEval.instance); // can this particular case be verified? } public void testRefValues() { diff --git a/src/testcases/org/apache/poi/hssf/record/formula/functions/TestTrim.java b/src/testcases/org/apache/poi/hssf/record/formula/functions/TestTrim.java index a95b15157c..5fd7173729 100644 --- a/src/testcases/org/apache/poi/hssf/record/formula/functions/TestTrim.java +++ b/src/testcases/org/apache/poi/hssf/record/formula/functions/TestTrim.java @@ -69,7 +69,7 @@ public final class TestTrim extends TestCase { confirmTrim(new NumberEval(123456), "123456"); confirmTrim(BoolEval.FALSE, "FALSE"); confirmTrim(BoolEval.TRUE, "TRUE"); - confirmTrim(BlankEval.INSTANCE, ""); + confirmTrim(BlankEval.instance, ""); } public void testErrors() { diff --git a/src/testcases/org/apache/poi/ss/formula/TestEvaluationCache.java b/src/testcases/org/apache/poi/ss/formula/TestEvaluationCache.java index f5a89a00ce..c1d9523e73 100644 --- a/src/testcases/org/apache/poi/ss/formula/TestEvaluationCache.java +++ b/src/testcases/org/apache/poi/ss/formula/TestEvaluationCache.java @@ -178,7 +178,7 @@ public class TestEvaluationCache extends TestCase { BoolEval be = (BoolEval) value; return be.getStringValue(); } - if (value == BlankEval.INSTANCE) { + if (value == BlankEval.instance) { return "#BLANK#"; } if (value instanceof ErrorEval) { -- 2.39.5