Author: fanningpj
Date: Wed Jun 28 22:11:26 2017
New Revision: 1800208

URL: http://svn.apache.org/viewvc?rev=1800208&view=rev
Log:
Ensure SpreadsheetVersion is set for AreaReferences

Modified:
    
poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/CreateTable.java
    poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCreationHelper.java
    poi/trunk/src/java/org/apache/poi/hssf/util/AreaReference.java
    poi/trunk/src/java/org/apache/poi/ss/formula/FormulaParser.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Area3DPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Area3DPxg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AreaPtg.java
    poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AreaPtgBase.java
    poi/trunk/src/java/org/apache/poi/ss/usermodel/CreationHelper.java
    poi/trunk/src/java/org/apache/poi/ss/util/AreaReference.java
    
poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFCreationHelper.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFClientAnchor.java
    
poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCreationHelper.java
    
poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotCacheDefinition.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotTable.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFTable.java
    
poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/TestStructuredReferences.java
    
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/BaseTestXSSFPivotTable.java
    
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
    
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPivotTableRef.java
    
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
    
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFTable.java
    
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
    poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFName.java
    poi/trunk/src/testcases/org/apache/poi/hssf/util/TestAreaReference.java
    poi/trunk/src/testcases/org/apache/poi/ss/formula/eval/TestRangeEval.java
    poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestNamedRange.java
    poi/trunk/src/testcases/org/apache/poi/ss/util/TestAreaReference.java

Modified: 
poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/CreateTable.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/CreateTable.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- 
poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/CreateTable.java
 (original)
+++ 
poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/CreateTable.java
 Wed Jun 28 22:11:26 2017
@@ -19,6 +19,7 @@ package org.apache.poi.xssf.usermodel.ex
 import java.io.FileOutputStream;
 import java.io.IOException;
 
+import org.apache.poi.ss.SpreadsheetVersion;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.ss.util.AreaReference;
 import org.apache.poi.ss.util.CellReference;
@@ -80,8 +81,8 @@ public class CreateTable {
         table.addColumn();
         
         // Set which area the table should be placed in
-        AreaReference reference = new AreaReference(new CellReference(0, 0), 
-                new CellReference(2,2));
+        AreaReference reference = wb.getCreationHelper().createAreaReference(
+                new CellReference(0, 0), new CellReference(2, 2));
         table.setCellReferences(reference);
 
         // Save

Modified: 
poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCreationHelper.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCreationHelper.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCreationHelper.java 
(original)
+++ poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCreationHelper.java 
Wed Jun 28 22:11:26 2017
@@ -20,6 +20,8 @@ package org.apache.poi.hssf.usermodel;
 import org.apache.poi.common.usermodel.HyperlinkType;
 import org.apache.poi.hssf.record.common.ExtendedColor;
 import org.apache.poi.ss.usermodel.CreationHelper;
+import org.apache.poi.ss.util.AreaReference;
+import org.apache.poi.ss.util.CellReference;
 import org.apache.poi.util.Internal;
 
 public class HSSFCreationHelper implements CreationHelper {
@@ -75,4 +77,21 @@ public class HSSFCreationHelper implemen
     public HSSFClientAnchor createClientAnchor(){
         return new HSSFClientAnchor();
     }
+    
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public AreaReference createAreaReference(String reference) {
+        return new AreaReference(reference, workbook.getSpreadsheetVersion());
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public AreaReference createAreaReference(CellReference topLeft, 
CellReference bottomRight) {
+        return new AreaReference(topLeft, bottomRight, 
workbook.getSpreadsheetVersion());
+    }
+
 }

Modified: poi/trunk/src/java/org/apache/poi/hssf/util/AreaReference.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/util/AreaReference.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/hssf/util/AreaReference.java (original)
+++ poi/trunk/src/java/org/apache/poi/hssf/util/AreaReference.java Wed Jun 28 
22:11:26 2017
@@ -17,6 +17,8 @@
 
 package org.apache.poi.hssf.util;
 
+import org.apache.poi.ss.SpreadsheetVersion;
+
 /**
  * @deprecated POI 3.15 beta 3. Use {@link 
org.apache.poi.ss.util.AreaReference} instead.
  */
@@ -28,7 +30,7 @@ public final class AreaReference extends
      * The area reference must be contiguous (i.e. represent a single 
rectangle, not a union of rectangles)
      */
     public AreaReference(String reference) {
-               super(reference);
+               super(reference, SpreadsheetVersion.EXCEL97);
     }
     
     /**

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/FormulaParser.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/FormulaParser.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/FormulaParser.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/FormulaParser.java Wed Jun 28 
22:11:26 2017
@@ -817,7 +817,7 @@ public final class FormulaParser {
         CellReference topLeft = new CellReference(actualStartRow, 
actualStartCol);
         CellReference bottomRight = new CellReference(actualEndRow, 
actualEndCol);
         SheetIdentifier sheetIden = new SheetIdentifier( null, new 
NameIdentifier(sheetName, true));
-        Ptg ptg = _book.get3DReferencePtg(new AreaReference(topLeft, 
bottomRight), sheetIden);
+        Ptg ptg = _book.get3DReferencePtg(new AreaReference(topLeft, 
bottomRight, _ssVersion), sheetIden);
         return new ParseNode(ptg);
     }
     
@@ -997,7 +997,7 @@ public final class FormulaParser {
         if (part1.isColumn()) {
             return AreaReference.getWholeColumn(_ssVersion, part1.getRep(), 
part2.getRep());
         }
-        return new AreaReference(part1.getCellReference(), 
part2.getCellReference());
+        return new AreaReference(part1.getCellReference(), 
part2.getCellReference(), _ssVersion);
     }
 
     /**

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Area3DPtg.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Area3DPtg.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Area3DPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Area3DPtg.java Wed Jun 28 
22:11:26 2017
@@ -17,6 +17,7 @@
 
 package org.apache.poi.ss.formula.ptg;
 
+import org.apache.poi.ss.SpreadsheetVersion;
 import org.apache.poi.ss.formula.ExternSheetReferenceToken;
 import org.apache.poi.ss.formula.FormulaRenderingWorkbook;
 import org.apache.poi.ss.formula.WorkbookDependentFormula;
@@ -41,7 +42,7 @@ public final class Area3DPtg extends Are
 
 
        public Area3DPtg(String arearef, int externIdx) {
-               super(new AreaReference(arearef));
+               super(new AreaReference(arearef, SpreadsheetVersion.EXCEL97));
                setExternSheetIndex(externIdx);
        }
 

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Area3DPxg.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Area3DPxg.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Area3DPxg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/Area3DPxg.java Wed Jun 28 
22:11:26 2017
@@ -17,6 +17,7 @@
 
 package org.apache.poi.ss.formula.ptg;
 
+import org.apache.poi.ss.SpreadsheetVersion;
 import org.apache.poi.ss.formula.SheetIdentifier;
 import org.apache.poi.ss.formula.SheetNameFormatter;
 import org.apache.poi.ss.formula.SheetRangeIdentifier;
@@ -37,7 +38,7 @@ public final class Area3DPxg extends Are
     private String lastSheetName;
 
     public Area3DPxg(int externalWorkbookNumber, SheetIdentifier sheetName, 
String arearef) {
-        this(externalWorkbookNumber, sheetName, new AreaReference(arearef));
+        this(externalWorkbookNumber, sheetName, new AreaReference(arearef, 
SpreadsheetVersion.EXCEL2007));
     }
     public Area3DPxg(int externalWorkbookNumber, SheetIdentifier sheetName, 
AreaReference arearef) {
         super(arearef);
@@ -51,7 +52,7 @@ public final class Area3DPxg extends Are
     }
 
     public Area3DPxg(SheetIdentifier sheetName, String arearef) {
-        this(sheetName, new AreaReference(arearef));
+        this(sheetName, new AreaReference(arearef, 
SpreadsheetVersion.EXCEL2007));
     }
     public Area3DPxg(SheetIdentifier sheetName, AreaReference arearef) {
         this(-1, sheetName, arearef);

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AreaPtg.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AreaPtg.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AreaPtg.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AreaPtg.java Wed Jun 28 
22:11:26 2017
@@ -17,8 +17,10 @@
 
 package org.apache.poi.ss.formula.ptg;
 
+import org.apache.poi.ss.SpreadsheetVersion;
 import org.apache.poi.ss.util.AreaReference;
 import org.apache.poi.util.LittleEndianInput;
+import org.apache.poi.util.Removal;
 
 /**
  * Specifies a rectangular area of cells A1:A4 for instance.
@@ -30,15 +32,24 @@ public final class AreaPtg extends Area2
        public AreaPtg(int firstRow, int lastRow, int firstColumn, int 
lastColumn, boolean firstRowRelative, boolean lastRowRelative, boolean 
firstColRelative, boolean lastColRelative) {
                super(firstRow, lastRow, firstColumn, lastColumn, 
firstRowRelative, lastRowRelative, firstColRelative, lastColRelative);
        }
+       
        public AreaPtg(LittleEndianInput in)  {
                super(in);
        }
-       public AreaPtg(String arearef) {
-               super(new AreaReference(arearef));
-       }
-       public AreaPtg(AreaReference areaRef) {
-               super(areaRef);
-       }
+
+       /**
+     * @deprecated use {@link #AreaPtg(<code>AreaReference</code>)} instead
+        */
+       @Deprecated()
+       @Removal(version="3.19")
+    public AreaPtg(String arearef) {
+        this(new AreaReference(arearef, SpreadsheetVersion.EXCEL97));
+    }
+       
+    public AreaPtg(AreaReference arearef) {
+        super(arearef);
+    }
+    
        @Override
        protected byte getSid() {
                return sid;

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AreaPtgBase.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AreaPtgBase.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AreaPtgBase.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/ptg/AreaPtgBase.java Wed Jun 
28 22:11:26 2017
@@ -287,7 +287,7 @@ public abstract class AreaPtgBase extend
         CellReference botRight = new 
CellReference(getLastRow(),getLastColumn(),!isLastRowRelative(),!isLastColRelative());
 
         if(AreaReference.isWholeColumnReference(SpreadsheetVersion.EXCEL97, 
topLeft, botRight)) {
-            return (new AreaReference(topLeft, botRight)).formatAsString();
+            return (new AreaReference(topLeft, botRight, 
SpreadsheetVersion.EXCEL97)).formatAsString();
         }
         return topLeft.formatAsString() + ":" + botRight.formatAsString();
     }

Modified: poi/trunk/src/java/org/apache/poi/ss/usermodel/CreationHelper.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/usermodel/CreationHelper.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/usermodel/CreationHelper.java 
(original)
+++ poi/trunk/src/java/org/apache/poi/ss/usermodel/CreationHelper.java Wed Jun 
28 22:11:26 2017
@@ -17,6 +17,8 @@
 package org.apache.poi.ss.usermodel;
 
 import org.apache.poi.common.usermodel.HyperlinkType;
+import org.apache.poi.ss.util.AreaReference;
+import org.apache.poi.ss.util.CellReference;
 
 /**
  * An object that handles instantiating concrete
@@ -66,4 +68,22 @@ public interface CreationHelper {
      * @see org.apache.poi.ss.usermodel.Drawing
      */
     ClientAnchor createClientAnchor();
+
+    /**
+     * Creates an AreaReference.
+     *
+     * @param reference cell reference
+     * @return an AreaReference instance
+     */
+    AreaReference createAreaReference(String reference);
+
+    /**
+     * Creates an area ref from a pair of Cell References..
+     *
+     * @param topLeft cell reference
+     * @param bottomRight cell reference
+     * @return an AreaReference instance
+     */
+    AreaReference createAreaReference(CellReference topLeft, CellReference 
bottomRight);
+
 }

Modified: poi/trunk/src/java/org/apache/poi/ss/util/AreaReference.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/util/AreaReference.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/util/AreaReference.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/util/AreaReference.java Wed Jun 28 
22:11:26 2017
@@ -22,6 +22,7 @@ import java.util.List;
 import java.util.StringTokenizer;
 
 import org.apache.poi.ss.SpreadsheetVersion;
+import org.apache.poi.util.Removal;
 
 public class AreaReference {
 
@@ -37,15 +38,6 @@ public class AreaReference {
     private final CellReference _lastCell;
     private final boolean _isSingleCell;
     private final SpreadsheetVersion _version; // never null
-
-    /**
-     * @deprecated POI 3.13 beta 1. Prefer supplying a version.
-     */
-    @Deprecated
-    public AreaReference(String reference) {
-        this(reference, DEFAULT_SPREADSHEET_VERSION);
-        // generateContiguous must be updated before this can be deleted.
-    }
     
     /**
      * Create an area ref from a string representation.  Sheet names 
containing special characters should be
@@ -116,9 +108,19 @@ public class AreaReference {
 
     /**
      * Creates an area ref from a pair of Cell References.
+     * @deprecated use {@link #new AreaReference(<code>CellReference</code>, 
<code>CellReference</code>, <code>SpreadsheetVersion</code>)} instead
      */
+    @Deprecated
+    @Removal(version="3.19")
     public AreaReference(CellReference topLeft, CellReference botRight) {
-        _version = DEFAULT_SPREADSHEET_VERSION;
+        this(topLeft, botRight, DEFAULT_SPREADSHEET_VERSION);
+    }
+    
+    /**
+     * Creates an area ref from a pair of Cell References.
+     */
+    public AreaReference(CellReference topLeft, CellReference botRight, 
SpreadsheetVersion version) {
+        _version = (null != version) ? version : DEFAULT_SPREADSHEET_VERSION;
         boolean swapRows = topLeft.getRow() > botRight.getRow();
         boolean swapCols = topLeft.getCol() > botRight.getCol();
         if (swapRows || swapCols) {
@@ -166,7 +168,7 @@ public class AreaReference {
      *  unbroken) area, or is it made up of
      *  several different parts?
      * (If it is, you will need to call
-     *  {@link #generateContiguous(String)})
+     *  {@link #generateContiguous(<code>SpreadsheetVersion</code>, String)})
      */
     public static boolean isContiguous(String reference) {
        // If there's a sheet name, strip it off
@@ -216,15 +218,29 @@ public class AreaReference {
     }
 
     /**
-     * Takes a non-contiguous area reference, and
-     *  returns an array of contiguous area references.
+     * Takes a non-contiguous area reference, and returns an array of 
contiguous area references
+     * @return an array of contiguous area references.
+     * @deprecated use {@link 
#generateContiguous(<code>SpreadsheetVersion</code>, String)} instead
      */
+    @Deprecated
+    @Removal(version="3.19")
     public static AreaReference[] generateContiguous(String reference) {
+        return generateContiguous(DEFAULT_SPREADSHEET_VERSION, reference);
+    }
+
+    /**
+     * Takes a non-contiguous area reference, and returns an array of 
contiguous area references
+     * @return an array of contiguous area references.
+     */
+    public static AreaReference[] generateContiguous(SpreadsheetVersion 
version, String reference) {
+        if (null == version) {
+            version = DEFAULT_SPREADSHEET_VERSION; // how the code used to 
behave. 
+        }
         List<AreaReference> refs = new ArrayList<AreaReference>();
         StringTokenizer st = new StringTokenizer(reference, ",");
         while(st.hasMoreTokens()) {
             refs.add(
-                    new AreaReference(st.nextToken())
+                    new AreaReference(st.nextToken(), version)
             );
         }
         return refs.toArray(new AreaReference[refs.size()]);

Modified: 
poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFCreationHelper.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFCreationHelper.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFCreationHelper.java 
(original)
+++ 
poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFCreationHelper.java 
Wed Jun 28 22:11:26 2017
@@ -23,6 +23,8 @@ import org.apache.poi.ss.usermodel.Creat
 import org.apache.poi.ss.usermodel.DataFormat;
 import org.apache.poi.ss.usermodel.ExtendedColor;
 import org.apache.poi.ss.usermodel.Hyperlink;
+import org.apache.poi.ss.util.AreaReference;
+import org.apache.poi.ss.util.CellReference;
 import org.apache.poi.util.Internal;
 import org.apache.poi.util.POILogFactory;
 import org.apache.poi.util.POILogger;
@@ -79,4 +81,21 @@ public class SXSSFCreationHelper impleme
     public ClientAnchor createClientAnchor() {
         return helper.createClientAnchor();
     }
+    
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public AreaReference createAreaReference(String reference) {
+        return new AreaReference(reference, wb.getSpreadsheetVersion());
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public AreaReference createAreaReference(CellReference topLeft, 
CellReference bottomRight) {
+        return new AreaReference(topLeft, bottomRight, 
wb.getSpreadsheetVersion());
+    }
+
 }

Modified: 
poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFClientAnchor.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFClientAnchor.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFClientAnchor.java 
(original)
+++ 
poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFClientAnchor.java 
Wed Jun 28 22:11:26 2017
@@ -18,13 +18,12 @@
 package org.apache.poi.xssf.usermodel;
 
 import org.apache.poi.ss.usermodel.ClientAnchor;
+import org.apache.poi.ss.usermodel.ClientAnchor.AnchorType;
 import org.apache.poi.util.Internal;
-import org.apache.poi.util.Removal;
 import org.apache.poi.util.Units;
 import org.openxmlformats.schemas.drawingml.x2006.main.CTPoint2D;
 import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D;
 import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTMarker;
-import org.apache.poi.ss.usermodel.ClientAnchor.AnchorType;
 
 /**
  * A client anchor is attached to an excel worksheet.  It anchors against:

Modified: 
poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCreationHelper.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCreationHelper.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCreationHelper.java 
(original)
+++ 
poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCreationHelper.java 
Wed Jun 28 22:11:26 2017
@@ -19,6 +19,8 @@ package org.apache.poi.xssf.usermodel;
 import org.apache.poi.common.usermodel.HyperlinkType;
 import org.apache.poi.ss.usermodel.CreationHelper;
 import org.apache.poi.ss.usermodel.Hyperlink;
+import org.apache.poi.ss.util.AreaReference;
+import org.apache.poi.ss.util.CellReference;
 import org.apache.poi.util.Internal;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTColor;
 
@@ -86,4 +88,20 @@ public class XSSFCreationHelper implemen
     public XSSFClientAnchor createClientAnchor() {
         return new XSSFClientAnchor();
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public AreaReference createAreaReference(String reference) {
+        return new AreaReference(reference, workbook.getSpreadsheetVersion());
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public AreaReference createAreaReference(CellReference topLeft, 
CellReference bottomRight) {
+        return new AreaReference(topLeft, bottomRight, 
workbook.getSpreadsheetVersion());
+    }
 }

Modified: 
poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotCacheDefinition.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotCacheDefinition.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotCacheDefinition.java
 (original)
+++ 
poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotCacheDefinition.java
 Wed Jun 28 22:11:26 2017
@@ -146,7 +146,8 @@ public class XSSFPivotCacheDefinition ex
         for (XSSFTable table : sheet.getTables()) {
             // TODO: case-sensitive?
             if (name.equals(table.getName())) {
-                return new AreaReference(table.getStartCellReference(), 
table.getEndCellReference());
+                return new AreaReference(table.getStartCellReference(), 
table.getEndCellReference(),
+                        SpreadsheetVersion.EXCEL2007);
             }
         }
         

Modified: 
poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotTable.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotTable.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotTable.java 
(original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotTable.java 
Wed Jun 28 22:11:26 2017
@@ -28,6 +28,7 @@ import java.util.List;
 
 import org.apache.poi.POIXMLDocumentPart;
 import org.apache.poi.openxml4j.opc.PackagePart;
+import org.apache.poi.ss.SpreadsheetVersion;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.CellType;
 import org.apache.poi.ss.usermodel.DataConsolidateFunction;
@@ -431,7 +432,8 @@ public class XSSFPivotTable extends POIX
     protected void createSourceReferences(CellReference position, Sheet 
sourceSheet, PivotTableReferenceConfigurator refConfig){
         
         //Get cell one to the right and one down from position, add both to 
AreaReference and set pivot table location.
-        AreaReference destination = new AreaReference(position, new 
CellReference(position.getRow()+1, position.getCol()+1));
+        AreaReference destination = new AreaReference(position, new 
CellReference(
+                position.getRow()+1, position.getCol()+1), 
SpreadsheetVersion.EXCEL2007);
 
         CTLocation location;
         if(pivotTableDefinition.getLocation() == null) {

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFTable.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFTable.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFTable.java 
(original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFTable.java Wed 
Jun 28 22:11:26 2017
@@ -30,6 +30,7 @@ import java.util.Locale;
 
 import org.apache.poi.POIXMLDocumentPart;
 import org.apache.poi.openxml4j.opc.PackagePart;
+import org.apache.poi.ss.SpreadsheetVersion;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.DataFormatter;
 import org.apache.poi.ss.usermodel.Table;
@@ -349,7 +350,8 @@ public class XSSFTable extends POIXMLDoc
     public AreaReference getCellReferences() {
         return new AreaReference(
                 getStartCellReference(),
-                getEndCellReference()
+                getEndCellReference(),
+                SpreadsheetVersion.EXCEL2007
         );
     }
     /**

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/TestStructuredReferences.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/TestStructuredReferences.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/TestStructuredReferences.java
 (original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/TestStructuredReferences.java
 Wed Jun 28 22:11:26 2017
@@ -22,6 +22,7 @@ import static org.junit.Assert.assertFal
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
+import org.apache.poi.ss.SpreadsheetVersion;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.CellType;
 import org.apache.poi.ss.usermodel.CellValue;
@@ -91,7 +92,9 @@ public class TestStructuredReferences {
             
             // update Table
             final XSSFTable table = wb.getTable("\\_Prime.1");
-            final AreaReference newArea = new 
AreaReference(table.getStartCellReference(), new 
CellReference(table.getEndRowIndex() + 1, table.getEndColIndex()));
+            final AreaReference newArea = 
wb.getCreationHelper().createAreaReference(
+                    table.getStartCellReference(),
+                    new CellReference(table.getEndRowIndex() + 1, 
table.getEndColIndex()));
             String newAreaStr = newArea.formatAsString();
             table.getCTTable().setRef(newAreaStr);
             table.getCTTable().getAutoFilter().setRef(newAreaStr);

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/BaseTestXSSFPivotTable.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/BaseTestXSSFPivotTable.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/BaseTestXSSFPivotTable.java
 (original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/BaseTestXSSFPivotTable.java
 Wed Jun 28 22:11:26 2017
@@ -290,7 +290,7 @@ public abstract class BaseTestXSSFPivotT
         assertNotNull(original);
         assertNotNull(offset);
         
-        AreaReference source = new AreaReference("ORIGinal!A1:C2", 
_testDataProvider.getSpreadsheetVersion());
+        AreaReference source = 
wb.getCreationHelper().createAreaReference("ORIGinal!A1:C2");
         // create a pivot table on the same sheet, case insensitive
         original.createPivotTable(source, new CellReference("W1"));
         // create a pivot table on a different sheet, case insensitive

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java 
(original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java 
Wed Jun 28 22:11:26 2017
@@ -64,7 +64,6 @@ import org.apache.poi.openxml4j.opc.Pack
 import org.apache.poi.openxml4j.util.ZipSecureFile;
 import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
 import org.apache.poi.poifs.filesystem.POIFSFileSystem;
-import org.apache.poi.ss.SpreadsheetVersion;
 import org.apache.poi.ss.formula.WorkbookEvaluator;
 import org.apache.poi.ss.formula.eval.ErrorEval;
 import org.apache.poi.ss.formula.eval.NumberEval;
@@ -1346,7 +1345,7 @@ public final class TestXSSFBugs extends
         Name name = wb.getName("Intekon.ProdCodes");
         assertEquals("'Abc,1'!$A$1:$A$2", name.getRefersToFormula());
 
-        AreaReference ref = new AreaReference(name.getRefersToFormula(), 
SpreadsheetVersion.EXCEL2007);
+        AreaReference ref = 
wb.getCreationHelper().createAreaReference(name.getRefersToFormula());
         assertEquals(0, ref.getFirstCell().getRow());
         assertEquals(0, ref.getFirstCell().getCol());
         assertEquals(1, ref.getLastCell().getRow());

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPivotTableRef.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPivotTableRef.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPivotTableRef.java
 (original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPivotTableRef.java
 Wed Jun 28 22:11:26 2017
@@ -17,7 +17,6 @@
 
 package org.apache.poi.xssf.usermodel;
 
-import org.apache.poi.ss.SpreadsheetVersion;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.util.AreaReference;
@@ -66,7 +65,7 @@ public class TestXSSFPivotTableRef exten
         Cell cell12 = row1.createCell(3);
         cell12.setCellValue(12.12);
 
-        AreaReference source = new AreaReference("A1:C2", 
SpreadsheetVersion.EXCEL2007);
+        AreaReference source = 
wb.getCreationHelper().createAreaReference("A1:C2");
         pivotTable = sheet.createPivotTable(source, new CellReference("H5"));
         
         XSSFSheet offsetSheet = wb.createSheet();
@@ -105,7 +104,8 @@ public class TestXSSFPivotTableRef exten
         Cell tableCell_4_3 = tableRow_4.createCell(4);
         tableCell_4_3.setCellValue(100);
         
-        AreaReference offsetSource = new AreaReference(new 
CellReference("C2"), new CellReference("E4"));
+        AreaReference offsetSource = 
wb.getCreationHelper().createAreaReference(
+                new CellReference("C2"), new CellReference("E4"));
         offsetPivotTable = offsetSheet.createPivotTable(offsetSource, new 
CellReference("C6"));
     }
 }

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java 
(original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java 
Wed Jun 28 22:11:26 2017
@@ -40,7 +40,6 @@ import org.apache.poi.POIXMLException;
 import org.apache.poi.hssf.HSSFTestDataSamples;
 import org.apache.poi.poifs.crypt.CryptoFunctions;
 import org.apache.poi.poifs.crypt.HashAlgorithm;
-import org.apache.poi.ss.SpreadsheetVersion;
 import org.apache.poi.ss.usermodel.AutoFilter;
 import org.apache.poi.ss.usermodel.BaseTestXSheet;
 import org.apache.poi.ss.usermodel.Cell;
@@ -56,7 +55,6 @@ import org.apache.poi.ss.usermodel.Index
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
-import org.apache.poi.ss.util.AreaReference;
 import org.apache.poi.ss.util.CellAddress;
 import org.apache.poi.ss.util.CellRangeAddress;
 import org.apache.poi.ss.util.CellReference;
@@ -1337,10 +1335,12 @@ public final class TestXSSFSheet extends
 
         assertNotNull(wb);
         assertNotNull(sheet);
-        XSSFPivotTable pivotTable = sheet.createPivotTable(new 
AreaReference("A1:B2", SpreadsheetVersion.EXCEL2007), new CellReference("H5"));
+        XSSFPivotTable pivotTable = 
sheet.createPivotTable(wb.getCreationHelper().createAreaReference("A1:B2"),
+                new CellReference("H5"));
         assertNotNull(pivotTable);
         assertTrue(wb.getPivotTables().size() > 0);
-        XSSFPivotTable pivotTable2 = sheet.createPivotTable(new 
AreaReference("A1:B2", SpreadsheetVersion.EXCEL2007), new CellReference("L5"), 
sheet);
+        XSSFPivotTable pivotTable2 = 
sheet.createPivotTable(wb.getCreationHelper().createAreaReference("A1:B2"),
+                new CellReference("L5"), sheet);
         assertNotNull(pivotTable2);
         assertTrue(wb.getPivotTables().size() > 1);
         wb.close();
@@ -1353,12 +1353,13 @@ public final class TestXSSFSheet extends
 
         assertNotNull(wb);
         assertNotNull(sheet);
-        XSSFPivotTable pivotTable = sheet.createPivotTable(new 
AreaReference("A1:B2", SpreadsheetVersion.EXCEL2007), new CellReference("H5"));
+        XSSFPivotTable pivotTable = 
sheet.createPivotTable(wb.getCreationHelper().createAreaReference("A1:B2"), new 
CellReference("H5"));
         assertNotNull(pivotTable);
         assertTrue(wb.getPivotTables().size() > 0);
         assertNotNull(wb);
         XSSFSheet sheet2 = wb.createSheet();
-        XSSFPivotTable pivotTable2 = sheet2.createPivotTable(new 
AreaReference("A1:B2", SpreadsheetVersion.EXCEL2007), new CellReference("H5"), 
sheet);
+        XSSFPivotTable pivotTable2 = 
sheet2.createPivotTable(wb.getCreationHelper().createAreaReference("A1:B2"),
+                new CellReference("H5"), sheet);
         assertNotNull(pivotTable2);
         assertTrue(wb.getPivotTables().size() > 1);
         wb.close();
@@ -1371,7 +1372,7 @@ public final class TestXSSFSheet extends
 
         assertNotNull(wb);
         assertNotNull(sheet);
-        XSSFPivotTable pivotTable = sheet.createPivotTable(new 
AreaReference("A1:B2", SpreadsheetVersion.EXCEL2007), new CellReference("H5"));
+        XSSFPivotTable pivotTable = 
sheet.createPivotTable(wb.getCreationHelper().createAreaReference("A1:B2"), new 
CellReference("H5"));
         assertNotNull(pivotTable);
         assertTrue(wb.getPivotTables().size() > 0);
         wb.close();
@@ -1384,7 +1385,7 @@ public final class TestXSSFSheet extends
         XSSFSheet sheet2 = wb.createSheet();
 
         XSSFPivotTable pivotTable = sheet2.createPivotTable
-                (new AreaReference("A1:B2", SpreadsheetVersion.EXCEL2007), new 
CellReference("H5"), sheet1);
+                (wb.getCreationHelper().createAreaReference("A1:B2"), new 
CellReference("H5"), sheet1);
         assertEquals(0, pivotTable.getRowLabelColumns().size());
         
         assertEquals(1, wb.getPivotTables().size());
@@ -1400,7 +1401,7 @@ public final class TestXSSFSheet extends
         XSSFSheet sheet2 = wb.createSheet("TEST");
 
         XSSFPivotTable pivotTable = sheet2.createPivotTable(
-                new AreaReference(sheet.getSheetName()+"!A$1:B$2", 
SpreadsheetVersion.EXCEL2007),
+                
wb.getCreationHelper().createAreaReference(sheet.getSheetName()+"!A$1:B$2"),
                 new CellReference("H5"));
         assertEquals(0, pivotTable.getRowLabelColumns().size());
         wb.close();
@@ -1413,7 +1414,7 @@ public final class TestXSSFSheet extends
         XSSFSheet sheet2 = wb.createSheet("TEST");
 
         sheet2.createPivotTable(
-                new AreaReference(sheet.getSheetName()+"!A$1:B$2", 
SpreadsheetVersion.EXCEL2007),
+                
wb.getCreationHelper().createAreaReference(sheet.getSheetName()+"!A$1:B$2"),
                 new CellReference("H5"),
                 sheet2);
         wb.close();

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFTable.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFTable.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFTable.java 
(original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFTable.java 
Wed Jun 28 22:11:26 2017
@@ -31,15 +31,14 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.poi.ss.usermodel.Cell;
-import org.apache.poi.ss.util.AreaReference;
 import org.apache.poi.ss.util.CellReference;
+import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.TempFile;
 import org.apache.poi.xssf.XSSFTestDataSamples;
 import org.apache.poi.xssf.streaming.SXSSFWorkbook;
 import org.junit.Test;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTTable;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTTableColumn;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTTableColumns;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTTableStyleInfo;
 
 public final class TestXSSFTable {
@@ -267,7 +266,8 @@ public final class TestXSSFTable {
 
         assertEquals(new CellReference("C1"), table.getStartCellReference());
         assertEquals(new CellReference("M3"), table.getEndCellReference());
-
+        
+        IOUtils.closeQuietly(wb);
     }
 
     @Test
@@ -288,6 +288,8 @@ public final class TestXSSFTable {
         // update cell references to clear the cache
         table.updateReferences();
         assertEquals(11, table.getRowCount());
+        
+        IOUtils.closeQuietly(wb);
     }
 
     @Test
@@ -350,13 +352,14 @@ public final class TestXSSFTable {
         t.addColumn();
         t.addColumn();
         t.addColumn();
-        t.setCellReferences(new AreaReference(
+        t.setCellReferences(wb.getCreationHelper().createAreaReference(
                 new CellReference(c1), new CellReference(c6)
         ));
 
         // Save and re-load
-        wb = XSSFTestDataSamples.writeOutAndReadBack(wb);
-        s = wb.getSheetAt(0);
+        XSSFWorkbook wb2 = XSSFTestDataSamples.writeOutAndReadBack(wb);
+        IOUtils.closeQuietly(wb);
+        s = wb2.getSheetAt(0);
         
         // Check
         assertEquals(1, s.getTables().size());
@@ -370,6 +373,6 @@ public final class TestXSSFTable {
         assertEquals("ABCD", 
t.getCTTable().getTableColumns().getTableColumnArray(2).getName());
         
         // Done
-        wb.close();
+        IOUtils.closeQuietly(wb2);
     }
 }

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
 (original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
 Wed Jun 28 22:11:26 2017
@@ -794,7 +794,7 @@ public final class TestXSSFWorkbook exte
         Cell cell9 = row3.createCell(2);
         cell9.setCellValue("Bepa");
 
-        AreaReference source = new AreaReference("A1:B2", 
SpreadsheetVersion.EXCEL2007);
+        AreaReference source = 
wb.getCreationHelper().createAreaReference("A1:B2");
         sheet.createPivotTable(source, new CellReference("H5"));
     }
 

Modified: 
poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFName.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFName.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFName.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFName.java Wed 
Jun 28 22:11:26 2017
@@ -22,6 +22,7 @@ import org.apache.poi.hssf.HSSFITestData
 import org.apache.poi.hssf.HSSFTestDataSamples;
 import org.apache.poi.hssf.model.HSSFFormulaParser;
 import org.apache.poi.hssf.record.NameRecord;
+import org.apache.poi.ss.SpreadsheetVersion;
 import org.apache.poi.ss.formula.FormulaType;
 import org.apache.poi.ss.formula.ptg.Ptg;
 import org.apache.poi.ss.usermodel.BaseTestNamedRange;
@@ -197,7 +198,6 @@ public final class TestHSSFName extends
         workbook.close();
     }
 
-    @SuppressWarnings("deprecation")
     @Test
     public void testDeletedReference() throws Exception {
         HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("24207.xls");
@@ -206,7 +206,7 @@ public final class TestHSSFName extends
         HSSFName name1 = wb.getNameAt(0);
         assertEquals("a", name1.getNameName());
         assertEquals("Sheet1!$A$1", name1.getRefersToFormula());
-        new AreaReference(name1.getRefersToFormula());
+        wb.getCreationHelper().createAreaReference(name1.getRefersToFormula());
         assertTrue("Successfully constructed first reference", true);
 
         HSSFName name2 = wb.getNameAt(1);
@@ -214,7 +214,7 @@ public final class TestHSSFName extends
         assertEquals("Sheet1!#REF!", name2.getRefersToFormula());
         assertTrue(name2.isDeleted());
         try {
-            new AreaReference(name2.getRefersToFormula());
+            
wb.getCreationHelper().createAreaReference(name2.getRefersToFormula());
             fail("attempt to supply an invalid reference to AreaReference 
constructor results in exception");
         } catch (IllegalArgumentException e) { // TODO - use a stronger typed 
exception for this condition
             // expected during successful test

Modified: 
poi/trunk/src/testcases/org/apache/poi/hssf/util/TestAreaReference.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/util/TestAreaReference.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/util/TestAreaReference.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/util/TestAreaReference.java Wed 
Jun 28 22:11:26 2017
@@ -25,6 +25,7 @@ import org.apache.poi.hssf.HSSFTestDataS
 import org.apache.poi.hssf.model.HSSFFormulaParser;
 import org.apache.poi.hssf.model.InternalWorkbook;
 import org.apache.poi.hssf.record.NameRecord;
+import org.apache.poi.ss.SpreadsheetVersion;
 import org.apache.poi.ss.formula.ptg.Area3DPtg;
 import org.apache.poi.ss.formula.ptg.MemFuncPtg;
 import org.apache.poi.ss.formula.ptg.Ptg;
@@ -38,13 +39,11 @@ import org.apache.poi.hssf.usermodel.HSS
 import org.apache.poi.hssf.usermodel.TestHSSFWorkbook;
 import org.apache.poi.ss.util.AreaReference;
 import org.apache.poi.ss.util.CellReference;
-/**
- *
- */
+
 public final class TestAreaReference extends TestCase {
 
     public void testAreaRef1() {
-        AreaReference ar = new AreaReference("$A$1:$B$2");
+        AreaReference ar = new AreaReference("$A$1:$B$2", 
SpreadsheetVersion.EXCEL97);
         assertFalse("Two cells expected", ar.isSingleCell());
         CellReference cf = ar.getFirstCell();
         assertTrue("row is 4",cf.getRow()==0);
@@ -87,14 +86,14 @@ public final class TestAreaReference ext
     public void testReferenceWithSheet() {
         AreaReference ar;
 
-        ar = new AreaReference("Tabelle1!B5:B5");
+        ar = new AreaReference("Tabelle1!B5:B5", SpreadsheetVersion.EXCEL97);
         assertTrue(ar.isSingleCell());
         TestCellReference.confirmCell(ar.getFirstCell(), "Tabelle1", 4, 1, 
false, false, "Tabelle1!B5");
 
         assertEquals(1, ar.getAllReferencedCells().length);
 
 
-        ar = new AreaReference("Tabelle1!$B$5:$B$7");
+        ar = new AreaReference("Tabelle1!$B$5:$B$7", 
SpreadsheetVersion.EXCEL97);
         assertFalse(ar.isSingleCell());
 
         TestCellReference.confirmCell(ar.getFirstCell(), "Tabelle1", 4, 1, 
true, true, "Tabelle1!$B$5");
@@ -123,22 +122,22 @@ public final class TestAreaReference ext
         assertFalse(AreaReference.isContiguous(refDC3D));
 
         // Check we can only create contiguous entries
-        new AreaReference(refSimple);
-        new AreaReference(ref2D);
+        new AreaReference(refSimple, SpreadsheetVersion.EXCEL97);
+        new AreaReference(ref2D, SpreadsheetVersion.EXCEL97);
         try {
-            new AreaReference(refDCSimple);
+            new AreaReference(refDCSimple, SpreadsheetVersion.EXCEL97);
             fail();
         } catch(IllegalArgumentException e) {
                // expected during successful test
         }
         try {
-            new AreaReference(refDC2D);
+            new AreaReference(refDC2D, SpreadsheetVersion.EXCEL97);
             fail();
         } catch(IllegalArgumentException e) {
                // expected during successful test
         }
         try {
-            new AreaReference(refDC3D);
+            new AreaReference(refDC3D, SpreadsheetVersion.EXCEL97);
             fail();
         } catch(IllegalArgumentException e) {
                // expected during successful test
@@ -147,17 +146,17 @@ public final class TestAreaReference ext
         // Test that we split as expected
         AreaReference[] refs;
 
-        refs = AreaReference.generateContiguous(refSimple);
+        refs = AreaReference.generateContiguous(SpreadsheetVersion.EXCEL97, 
refSimple);
         assertEquals(1, refs.length);
         assertTrue(refs[0].isSingleCell());
         assertEquals("$C$10", refs[0].formatAsString());
 
-        refs = AreaReference.generateContiguous(ref2D);
+        refs = AreaReference.generateContiguous(SpreadsheetVersion.EXCEL97, 
ref2D);
         assertEquals(1, refs.length);
         assertFalse(refs[0].isSingleCell());
         assertEquals("$C$10:$D$11", refs[0].formatAsString());
 
-        refs = AreaReference.generateContiguous(refDCSimple);
+        refs = AreaReference.generateContiguous(SpreadsheetVersion.EXCEL97, 
refDCSimple);
         assertEquals(3, refs.length);
         assertTrue(refs[0].isSingleCell());
         assertTrue(refs[1].isSingleCell());
@@ -166,7 +165,7 @@ public final class TestAreaReference ext
         assertEquals("$D$12", refs[1].formatAsString());
         assertEquals("$E$14", refs[2].formatAsString());
 
-        refs = AreaReference.generateContiguous(refDC2D);
+        refs = AreaReference.generateContiguous(SpreadsheetVersion.EXCEL97, 
refDC2D);
         assertEquals(3, refs.length);
         assertFalse(refs[0].isSingleCell());
         assertTrue(refs[1].isSingleCell());
@@ -175,7 +174,7 @@ public final class TestAreaReference ext
         assertEquals("$D$12", refs[1].formatAsString());
         assertEquals("$E$14:$E$20", refs[2].formatAsString());
 
-        refs = AreaReference.generateContiguous(refDC3D);
+        refs = AreaReference.generateContiguous(SpreadsheetVersion.EXCEL97, 
refDC3D);
         assertEquals(2, refs.length);
         assertFalse(refs[0].isSingleCell());
         assertFalse(refs[0].isSingleCell());
@@ -230,7 +229,7 @@ public final class TestAreaReference ext
 
         // Check the parsing of the reference into cells
         
assertFalse(AreaReference.isContiguous(aNamedCell.getRefersToFormula()));
-        AreaReference[] arefs = 
AreaReference.generateContiguous(aNamedCell.getRefersToFormula());
+        AreaReference[] arefs = 
AreaReference.generateContiguous(SpreadsheetVersion.EXCEL97, 
aNamedCell.getRefersToFormula());
         assertEquals(2, arefs.length);
         assertEquals(refA, arefs[0].formatAsString());
         assertEquals(refB, arefs[1].formatAsString());
@@ -250,16 +249,16 @@ public final class TestAreaReference ext
 
     public void testSpecialSheetNames() {
         AreaReference ar;
-        ar = new AreaReference("'Sheet A'!A1:A1");
+        ar = new AreaReference("'Sheet A'!A1:A1", SpreadsheetVersion.EXCEL97);
         confirmAreaSheetName(ar, "Sheet A", "'Sheet A'!A1");
 
-        ar = new AreaReference("'Hey! Look Here!'!A1:A1");
+        ar = new AreaReference("'Hey! Look Here!'!A1:A1", 
SpreadsheetVersion.EXCEL97);
         confirmAreaSheetName(ar, "Hey! Look Here!", "'Hey! Look Here!'!A1");
 
-        ar = new AreaReference("'O''Toole'!A1:B2");
+        ar = new AreaReference("'O''Toole'!A1:B2", SpreadsheetVersion.EXCEL97);
         confirmAreaSheetName(ar, "O'Toole", "'O''Toole'!A1:B2");
 
-        ar = new AreaReference("'one:many'!A1:B2");
+        ar = new AreaReference("'one:many'!A1:B2", SpreadsheetVersion.EXCEL97);
         confirmAreaSheetName(ar, "one:many", "'one:many'!A1:B2");
     }
 
@@ -274,9 +273,19 @@ public final class TestAreaReference ext
         confirmWholeColumnRef("$C:D", 2, 3, true, false);
         confirmWholeColumnRef("AD:$AE", 29, 30, false, true);
     }
+    
+    @SuppressWarnings("deprecation")
+    public void testDeprecatedMethod() {
+        String refSimple = "$C$10:$C$10";
+        AreaReference[] arefs1 = 
AreaReference.generateContiguous(SpreadsheetVersion.EXCEL97, refSimple);
+        AreaReference[] arefs2 = AreaReference.generateContiguous(refSimple);
+        assertEquals(1, arefs1.length);
+        assertEquals(arefs1.length, arefs2.length);
+        assertEquals(arefs1[0].formatAsString(), arefs2[0].formatAsString());
+    }
 
     private static void confirmWholeColumnRef(String ref, int firstCol, int 
lastCol, boolean firstIsAbs, boolean lastIsAbs) {
-        AreaReference ar = new AreaReference(ref);
+        AreaReference ar = new AreaReference(ref, SpreadsheetVersion.EXCEL97);
         confirmCell(ar.getFirstCell(), 0, firstCol, true, firstIsAbs);
         confirmCell(ar.getLastCell(), 0xFFFF, lastCol, true, lastIsAbs);
     }

Modified: 
poi/trunk/src/testcases/org/apache/poi/ss/formula/eval/TestRangeEval.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/eval/TestRangeEval.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/eval/TestRangeEval.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/eval/TestRangeEval.java 
Wed Jun 28 22:11:26 2017
@@ -20,10 +20,14 @@ package org.apache.poi.ss.formula.eval;
 import junit.framework.AssertionFailedError;
 import junit.framework.TestCase;
 
+import java.util.Arrays;
+import java.util.List;
+
 import org.apache.poi.hssf.usermodel.HSSFCell;
 import org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator;
 import org.apache.poi.hssf.usermodel.HSSFRow;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.SpreadsheetVersion;
 import org.apache.poi.ss.formula.TwoDEval;
 import org.apache.poi.ss.formula.ptg.AreaI;
 import org.apache.poi.ss.formula.ptg.AreaI.OffsetArea;
@@ -54,15 +58,17 @@ public final class TestRangeEval extends
                        createRefEval(refA),
                        createRefEval(refB),
                };
-               @SuppressWarnings("deprecation")
-        AreaReference ar = new AreaReference(expectedAreaRef);
-               ValueEval result = EvalInstances.Range.evaluate(args, 0, 
(short)0);
-               assertTrue(result instanceof AreaEval);
-               AreaEval ae = (AreaEval) result;
-               assertEquals(ar.getFirstCell().getRow(), ae.getFirstRow());
-               assertEquals(ar.getLastCell().getRow(), ae.getLastRow());
-               assertEquals(ar.getFirstCell().getCol(), ae.getFirstColumn());
-               assertEquals(ar.getLastCell().getCol(), ae.getLastColumn());
+        List<SpreadsheetVersion> versions = Arrays.asList(new 
SpreadsheetVersion[] {SpreadsheetVersion.EXCEL97, 
SpreadsheetVersion.EXCEL2007});
+        for(SpreadsheetVersion version : versions) {
+            AreaReference ar = new AreaReference(expectedAreaRef, version);
+               ValueEval result = EvalInstances.Range.evaluate(args, 0, 
(short)0);
+               assertTrue(result instanceof AreaEval);
+               AreaEval ae = (AreaEval) result;
+               assertEquals(ar.getFirstCell().getRow(), ae.getFirstRow());
+               assertEquals(ar.getLastCell().getRow(), ae.getLastRow());
+               assertEquals(ar.getFirstCell().getCol(), ae.getFirstColumn());
+               assertEquals(ar.getLastCell().getCol(), ae.getLastColumn());
+        }
        }
 
        private static ValueEval createRefEval(String refStr) {

Modified: 
poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestNamedRange.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestNamedRange.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestNamedRange.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestNamedRange.java 
Wed Jun 28 22:11:26 2017
@@ -500,8 +500,7 @@ public abstract class BaseTestNamedRange
         assertNotNull(aNamedCell);
 
         // retrieve the cell at the named range and test its contents
-        @SuppressWarnings("deprecation")
-        AreaReference aref = new 
AreaReference(aNamedCell.getRefersToFormula());
+        AreaReference aref = 
wb.getCreationHelper().createAreaReference(aNamedCell.getRefersToFormula());
         assertTrue("Should be exactly 1 cell in the named cell :'" 
+cellName+"'", aref.isSingleCell());
 
         CellReference cref = aref.getFirstCell();
@@ -512,7 +511,6 @@ public abstract class BaseTestNamedRange
         Cell c = r.getCell(cref.getCol());
         String contents = c.getRichStringCellValue().getString();
         assertEquals("Contents of cell retrieved by its named reference", 
contents, cellValue);
-        
         wb.close();
     }
 

Modified: poi/trunk/src/testcases/org/apache/poi/ss/util/TestAreaReference.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/util/TestAreaReference.java?rev=1800208&r1=1800207&r2=1800208&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/util/TestAreaReference.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/util/TestAreaReference.java Wed 
Jun 28 22:11:26 2017
@@ -62,10 +62,4 @@ public class TestAreaReference extends T
         assertEquals(SpreadsheetVersion.EXCEL2007.getLastColumnIndex(), 
newStyle.getLastCell().getCol());
         assertEquals(1, newStyle.getLastCell().getRow());
     }
-
-    @SuppressWarnings("deprecation") // deliberate test for behaviour if 
deprecated constructor used.
-    public void testFallbackToExcel97IfVersionNotSupplied() {
-        assertTrue(new AreaReference("A:B").isWholeColumnReference());
-        assertTrue(AreaReference.isWholeColumnReference(null, new 
CellReference("A$1"), new CellReference("A$" + 
SpreadsheetVersion.EXCEL97.getMaxRows())));
-    }
 }



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

Reply via email to