diff --git a/src/java/org/apache/poi/hssf/record/formula/eval/AreaEval.java b/src/java/org/apache/poi/hssf/record/formula/eval/AreaEval.java index b528eb784..7428ad716 100644 --- a/src/java/org/apache/poi/hssf/record/formula/eval/AreaEval.java +++ b/src/java/org/apache/poi/hssf/record/formula/eval/AreaEval.java @@ -62,11 +62,11 @@ public interface AreaEval extends ValueEval { boolean isColumn(); /** - * @return the ValueEval from within this area at the specified row and col index. Never - * null (possibly {@link BlankEval}). The specified indexes should be absolute - * indexes in the sheet and not relative indexes within the area. + * @return the ValueEval from within this area at the specified row and col index. Never + * null (possibly {@link BlankEval}). The specified indexes should be absolute + * indexes in the sheet and not relative indexes within the area. */ - ValueEval getValueAt(int row, int col); + ValueEval getAbsoluteValue(int row, int col); /** * returns true if the cell at row and col specified @@ -92,9 +92,9 @@ public interface AreaEval extends ValueEval { int getWidth(); int getHeight(); /** - * @return the ValueEval from within this area at the specified relativeRowIndex and + * @return the ValueEval from within this area at the specified relativeRowIndex and * relativeColumnIndex. Never null (possibly {@link BlankEval}). The - * specified indexes should relative to the top left corner of this area. + * specified indexes should relative to the top left corner of this area. */ ValueEval getRelativeValue(int relativeRowIndex, int relativeColumnIndex); diff --git a/src/java/org/apache/poi/hssf/record/formula/eval/AreaEvalBase.java b/src/java/org/apache/poi/hssf/record/formula/eval/AreaEvalBase.java index 19dc1ef4d..d435264ae 100644 --- a/src/java/org/apache/poi/hssf/record/formula/eval/AreaEvalBase.java +++ b/src/java/org/apache/poi/hssf/record/formula/eval/AreaEvalBase.java @@ -67,7 +67,7 @@ public abstract class AreaEvalBase implements AreaEval { return _lastRow; } - public final ValueEval getValueAt(int row, int col) { + public final ValueEval getAbsoluteValue(int row, int col) { int rowOffsetIx = row - _firstRow; int colOffsetIx = col - _firstColumn; 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 37b842800..50e9dd058 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 @@ -151,19 +151,19 @@ public final class OperandResolver { if(!ae.containsRow(srcCellRow)) { throw EvaluationException.invalidValue(); } - return ae.getValueAt(srcCellRow, ae.getFirstColumn()); + return ae.getAbsoluteValue(srcCellRow, ae.getFirstColumn()); } if(!ae.isRow()) { // multi-column, multi-row area if(ae.containsRow(srcCellRow) && ae.containsColumn(srcCellCol)) { - return ae.getValueAt(ae.getFirstRow(), ae.getFirstColumn()); + return ae.getAbsoluteValue(ae.getFirstRow(), ae.getFirstColumn()); } throw EvaluationException.invalidValue(); } if(!ae.containsColumn(srcCellCol)) { throw EvaluationException.invalidValue(); } - return ae.getValueAt(ae.getFirstRow(), srcCellCol); + return ae.getAbsoluteValue(ae.getFirstRow(), srcCellCol); } /** diff --git a/src/java/org/apache/poi/ss/formula/WorkbookEvaluator.java b/src/java/org/apache/poi/ss/formula/WorkbookEvaluator.java index ca1b71a21..69e1446d4 100644 --- a/src/java/org/apache/poi/ss/formula/WorkbookEvaluator.java +++ b/src/java/org/apache/poi/ss/formula/WorkbookEvaluator.java @@ -497,10 +497,10 @@ public final class WorkbookEvaluator { if(ae.isColumn()) { return ae.getRelativeValue(0, 0); } - return ae.getValueAt(ae.getFirstRow(), srcColNum); + return ae.getAbsoluteValue(ae.getFirstRow(), srcColNum); } if (ae.isColumn()) { - return ae.getValueAt(srcRowNum, ae.getFirstColumn()); + return ae.getAbsoluteValue(srcRowNum, ae.getFirstColumn()); } return ErrorEval.VALUE_INVALID; } diff --git a/src/testcases/org/apache/poi/hssf/record/formula/eval/TestAreaEval.java b/src/testcases/org/apache/poi/hssf/record/formula/eval/TestAreaEval.java index 71d15745e..65e4e7d41 100644 --- a/src/testcases/org/apache/poi/hssf/record/formula/eval/TestAreaEval.java +++ b/src/testcases/org/apache/poi/hssf/record/formula/eval/TestAreaEval.java @@ -25,7 +25,7 @@ import org.apache.poi.hssf.record.formula.functions.EvalFactory; /** * Tests for AreaEval - * + * * @author Josh Micich */ public final class TestAreaEval extends TestCase { @@ -35,15 +35,15 @@ public final class TestAreaEval extends TestCase { AreaPtg ptg = new AreaPtg("B2:D3"); NumberEval one = new NumberEval(1); ValueEval[] values = { - one, - new NumberEval(2), - new NumberEval(3), - new NumberEval(4), - new NumberEval(5), - new NumberEval(6), + one, + new NumberEval(2), + new NumberEval(3), + new NumberEval(4), + new NumberEval(5), + new NumberEval(6), }; AreaEval ae = EvalFactory.createAreaEval(ptg, values); - if (one == ae.getValueAt(1, 2)) { + if (one == ae.getAbsoluteValue(1, 2)) { throw new AssertionFailedError("Identified bug 44950 a"); } confirm(1, ae, 1, 1); @@ -52,12 +52,11 @@ public final class TestAreaEval extends TestCase { confirm(4, ae, 2, 1); confirm(5, ae, 2, 2); confirm(6, ae, 2, 3); - + } private static void confirm(int expectedValue, AreaEval ae, int row, int col) { - NumberEval v = (NumberEval) ae.getValueAt(row, col); + NumberEval v = (NumberEval) ae.getAbsoluteValue(row, col); assertEquals(expectedValue, v.getNumberValue(), 0.0); } - }