Author: kiwiwings
Date: Mon Sep 19 00:20:44 2016
New Revision: 1761376

URL: http://svn.apache.org/viewvc?rev=1761376&view=rev
Log:
merge trunk to branch

Added:
    
poi/branches/hssf_cryptoapi/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTableRow.java
      - copied unchanged from r1761374, 
poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTableRow.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/util/NullOutputStream.java
      - copied unchanged from r1761374, 
poi/trunk/src/testcases/org/apache/poi/util/NullOutputStream.java
    poi/branches/hssf_cryptoapi/test-data/openxml4j/invalid.xlsx
      - copied unchanged from r1761374, 
poi/trunk/test-data/openxml4j/invalid.xlsx
    poi/branches/hssf_cryptoapi/test-data/slideshow/60003.ppt   (with props)
    poi/branches/hssf_cryptoapi/test-data/spreadsheet/52425.xlsx
      - copied unchanged from r1761374, 
poi/trunk/test-data/spreadsheet/52425.xlsx
Modified:
    poi/branches/hssf_cryptoapi/   (props changed)
    poi/branches/hssf_cryptoapi/KEYS
    poi/branches/hssf_cryptoapi/build.xml
    poi/branches/hssf_cryptoapi/sonar/examples/pom.xml
    poi/branches/hssf_cryptoapi/sonar/excelant/pom.xml
    poi/branches/hssf_cryptoapi/sonar/main/pom.xml
    poi/branches/hssf_cryptoapi/sonar/ooxml-schema-encryption/pom.xml
    poi/branches/hssf_cryptoapi/sonar/ooxml-schema-security/pom.xml
    poi/branches/hssf_cryptoapi/sonar/ooxml-schema/pom.xml
    poi/branches/hssf_cryptoapi/sonar/ooxml/pom.xml
    poi/branches/hssf_cryptoapi/sonar/pom.xml
    poi/branches/hssf_cryptoapi/sonar/scratchpad/pom.xml
    
poi/branches/hssf_cryptoapi/src/examples/src/org/apache/poi/hssf/view/SVTableCellRenderer.java
    
poi/branches/hssf_cryptoapi/src/examples/src/org/apache/poi/ss/examples/ExcelComparator.java
    
poi/branches/hssf_cryptoapi/src/examples/src/org/apache/poi/ss/examples/html/ToHtml.java
    
poi/branches/hssf_cryptoapi/src/examples/src/org/apache/poi/xssf/usermodel/examples/CreatePivotTable.java
    
poi/branches/hssf_cryptoapi/src/examples/src/org/apache/poi/xssf/usermodel/examples/FillsAndColors.java
    
poi/branches/hssf_cryptoapi/src/integrationtest/org/apache/poi/TestAllFiles.java
    
poi/branches/hssf_cryptoapi/src/integrationtest/org/apache/poi/stress/XSSFFileHandler.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/common/usermodel/Hyperlink.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/model/HSSFFormulaParser.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFBorderFormatting.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFCellStyle.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFClientAnchor.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFCreationHelper.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFEvaluationCell.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFFormulaEvaluator.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFHyperlink.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/poifs/nio/FileBackedDataSource.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/sl/usermodel/SlideShow.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/format/CellFormat.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/BaseFormulaEvaluator.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/EvaluationCell.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/OperandClassTransformer.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/eval/forked/ForkedEvaluationCell.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/functions/DGet.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/functions/DStarRunner.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/usermodel/BorderFormatting.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/usermodel/BuiltinFormats.java
    poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/usermodel/Cell.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/usermodel/CellStyle.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/usermodel/CellValue.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/usermodel/ClientAnchor.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/usermodel/CreationHelper.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/usermodel/DataConsolidateFunction.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/usermodel/DataFormatter.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/usermodel/FormulaError.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/usermodel/FormulaEvaluator.java
    poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/usermodel/Row.java
    
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/usermodel/charts/DataSources.java
    poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/util/CellUtil.java
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/POIXMLDocument.java
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/openxml4j/opc/OPCPackage.java
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/openxml4j/opc/ZipPackage.java
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/ZipHelper.java
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/openxml4j/util/ZipEntrySource.java
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/openxml4j/util/ZipFileZipEntrySource.java
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/openxml4j/util/ZipInputStreamZipEntrySource.java
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/openxml4j/util/ZipSecureFile.java
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFHyperlink.java
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableRow.java
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFCell.java
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFCreationHelper.java
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFFormulaEvaluator.java
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/xssf/usermodel/BaseXSSFFormulaEvaluator.java
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFBorderFormatting.java
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCellStyle.java
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFClientAnchor.java
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCreationHelper.java
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFEvaluationCell.java
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFEvaluationSheet.java
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFFormulaEvaluator.java
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFHyperlink.java
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotCacheDefinition.java
   (props changed)
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotTable.java
   (contents, props changed)
    
poi/branches/hssf_cryptoapi/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
    
poi/branches/hssf_cryptoapi/src/ooxml/testcases/org/apache/poi/TestPOIXMLDocument.java
    
poi/branches/hssf_cryptoapi/src/ooxml/testcases/org/apache/poi/extractor/TestExtractorFactory.java
    
poi/branches/hssf_cryptoapi/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java
    
poi/branches/hssf_cryptoapi/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestZipPackage.java
    
poi/branches/hssf_cryptoapi/src/ooxml/testcases/org/apache/poi/poifs/crypt/TestSecureTempZip.java
    
poi/branches/hssf_cryptoapi/src/ooxml/testcases/org/apache/poi/ss/formula/TestStructuredReferences.java
    
poi/branches/hssf_cryptoapi/src/ooxml/testcases/org/apache/poi/ss/formula/functions/TestProper.java
    
poi/branches/hssf_cryptoapi/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFWorkbook.java
    
poi/branches/hssf_cryptoapi/src/ooxml/testcases/org/apache/poi/xssf/usermodel/AllXSSFUsermodelTests.java
    
poi/branches/hssf_cryptoapi/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestFormulaEvaluatorOnXSSF.java
    
poi/branches/hssf_cryptoapi/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestMultiSheetFormulaEvaluatorOnXSSF.java
    
poi/branches/hssf_cryptoapi/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
    
poi/branches/hssf_cryptoapi/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCellStyle.java
    
poi/branches/hssf_cryptoapi/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFormulaEvaluation.java
    
poi/branches/hssf_cryptoapi/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPivotTable.java
    
poi/branches/hssf_cryptoapi/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
    
poi/branches/hssf_cryptoapi/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetShiftRows.java
    
poi/branches/hssf_cryptoapi/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShow.java
    
poi/branches/hssf_cryptoapi/src/scratchpad/src/org/apache/poi/hssf/converter/ExcelToFoConverter.java
    
poi/branches/hssf_cryptoapi/src/scratchpad/src/org/apache/poi/hssf/converter/ExcelToHtmlConverter.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ddf/TestEscherDump.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/hssf/dev/BaseXLSIteratingTest.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/hssf/model/TestFormulaParserEval.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/hssf/record/TestSharedFormulaRecord.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/hssf/usermodel/TestCellStyle.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFConditionalFormatting.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFFormulaEvaluator.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFOptimiser.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/hssf/usermodel/TestRowStyle.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/formula/TestWorkbookEvaluator.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/formula/atp/TestIfError.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/formula/eval/BaseTestCircularReferences.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/formula/eval/TestFormulaBugs.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/formula/eval/TestFormulasFromSpreadsheet.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/formula/eval/TestMultiSheetEval.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/formula/eval/TestPercentEval.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/formula/functions/BaseTestFunctionsFromSpreadsheet.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/formula/functions/TestAddress.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/formula/functions/TestCalendarFieldFunction.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/formula/functions/TestClean.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/formula/functions/TestDate.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/formula/functions/TestFind.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/formula/functions/TestFixed.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/formula/functions/TestIndirect.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/formula/functions/TestIrr.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/formula/functions/TestIsBlank.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/formula/functions/TestMirr.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/usermodel/BaseTestBorderStyle.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/usermodel/BaseTestConditionalFormatting.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/usermodel/BaseTestFormulaEvaluator.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/usermodel/BaseTestWorkbook.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/usermodel/TestDataFormatter.java
    
poi/branches/hssf_cryptoapi/src/testcases/org/apache/poi/ss/util/BaseTestCellUtil.java
    poi/branches/hssf_cryptoapi/test-data/spreadsheet/DGet.xls

Propchange: poi/branches/hssf_cryptoapi/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Sep 19 00:20:44 2016
@@ -4,4 +4,4 @@
 /poi/branches/ss_border_property_template:1747847-1748074
 /poi/branches/xml_signature:1617139-1628347
 /poi/branches/xssf_structured_references:1747607-1747656
-/poi/trunk:693591-694881,695264-695420,695621,695649-711764
+/poi/trunk:693591-694881,695264-695420,695621,695649-711764,1756967-1761374

Modified: poi/branches/hssf_cryptoapi/KEYS
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/KEYS?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- poi/branches/hssf_cryptoapi/KEYS (original)
+++ poi/branches/hssf_cryptoapi/KEYS Mon Sep 19 00:20:44 2016
@@ -1753,10 +1753,11 @@ W45jdvBkYoPdQtS+8Vy+q0997zobctz8i5hfXzxg
 7PoqJGZ6UdBVwyb0qZqs6KLGQkEyJ8358ivjJsjxUR8diK027wWnW/s=
 =/Vu1
 -----END PGP PUBLIC KEY BLOCK-----
-pub   2048R/26062CE3 2014-08-17 [expires: 2016-08-16]
-uid                  Andreas Beeker <kiwiwi...@apache.org>
-uid                  Andreas Beeker (kiwiwings) <andreas.bee...@gmx.de>
-sub   2048R/EE864ED6 2014-08-17 [expires: 2016-08-16]
+
+pub   rsa2048/26062CE3 2014-08-17 [expires: 2018-08-21]
+uid       [ultimate] Andreas Beeker <kiwiwi...@apache.org>
+uid       [ultimate] Andreas Beeker (kiwiwings) <andreas.bee...@gmx.de>
+sub   rsa2048/EE864ED6 2014-08-17 [expires: 2018-08-21]
 
 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v2
@@ -1767,14 +1768,14 @@ ODjjNQtn+nYmOu7a8Xg3g3vTnikkuHZqWvK0O0VY
 omzskuYgteTZ9Jn8efJMIymg9dGubuvN4HvUdEO0/u6K2MCZjIqNEPeqWIuZXeMb
 +4nGv2r0jSQAU94g3hueooqbUf+Mk2+H5O1d/h2Cii9qVvi6gELdVw9H+5Ir9AFc
 ynsmvxrPIxraBMPgrXmvPFOTlqlizyFv2O7pABEBAAG0JUFuZHJlYXMgQmVla2Vy
-IDxraXdpd2luZ3NAYXBhY2hlLm9yZz6JAUEEEwECACsCGwMFCQPCZwAGCwkIBwMC
-BhUIAgkKCwQWAgMBAh4BAheABQJUS6SzAhkBAAoJEKk+HEsmBizjjdYIALH3trht
-6JTfPz2UsltFTcjzqLXG/I8Vq5hkr0s4ex1V7oNDXrBRBb1WC1pcEe1xqvQmoTyP
-dUoX8lCyLOrt3IRpgjnH/4ACyenfOw6yHl6aaXX3HvseL3oHQTMpzkny+xVsrUzJ
-wVCRVACPM49L6nRj4YRYaZqAn42x2peYHNcfFrvKsDtTnt4SbFQBlmuiDtlePM6a
-9wzqXMFkX+9hcHp/SgOwDalpameoRQ/Itf1w2hN9dxYuaUWojo6b0XpChzkCHKix
-uEKtjJXTovRlc6DzxT2Z5JMPhATiN3ZCo88lfd/kK8aMZgV4fruaq/QQRjNK/Hgn
-6fP9jPARncSFHkCJAT4EEwECACgFAlPxECkCGwMFCQPCZwAGCwkIBwMCBhUIAgkK
+IDxraXdpd2luZ3NAYXBhY2hlLm9yZz6JAUEEEwECACsCGwMGCwkIBwMCBhUIAgkK
+CwQWAgMBAh4BAheAAhkBBQJXuYpTBQkHizsfAAoJEKk+HEsmBizjNa0H/AjJPguQ
+WIn9AV/jstRN4OPM6eY7VUMG1DYoABRQSVsksPki5jZii0bI9VB3AUFgfXj0y6qk
+CwQyKCJwZjcP3JuciJ5brQr/7D12hoTkYSCzCaECIpMoB7HWCpdoFusrgU2PUUwJ
+i8xBTC+sLxIn3h5abTU68tnynCYhlA0mJ8zZ8CTvQJyEjidY1UgSohXClG2k/mo7
+z/IyW16x4dlpdkNfiBhL2v/5Ol7Vuz9g1lXvWvMdNQZ2PVK6w5dmCziCkih/qRgK
+SUzn65ASEKiCN7afzUkCTdzrI71r3rOkJtlT1NWn2RAv6xT6AuhCPZzH2I3ImuFI
+mkUKYhKzRN6AdmCJAT4EEwECACgFAlPxECkCGwMFCQPCZwAGCwkIBwMCBhUIAgkK
 CwQWAgMBAh4BAheAAAoJEKk+HEsmBizjvfYIALS1vlaqN/f7/YzpnOwlH2Wo4jpI
 jBrG7SqcdVQk3NGsXTXzzq5p7uTTzpEJW8ReZLGeYaTzqh1vH97uAPR6wL3GjHMZ
 F2jkC0wSHXxvh9Gyrdx3LA8NSO+BAG9ZfD6OGklsl7tFFEplLpfR1EsAKfbi0bAY
@@ -1782,13 +1783,13 @@ F2jkC0wSHXxvh9Gyrdx3LA8NSO+BAG9ZfD6OGkls
 019qP30afGkvw+ZbIq8qbxJItObMuhn5xdI0YaMm2yudCfm2aGYSCnkrgNfuWzH6
 WZ8n1fv45TGBUd2R6zPr13eH73AG1WXpapoD45yf/TFavRfnknU6xb7U3ZK0MkFu
 ZHJlYXMgQmVla2VyIChraXdpd2luZ3MpIDxhbmRyZWFzLmJlZWtlckBnbXguZGU+
-iQE+BBMBAgAoBQJT8LY0AhsDBQkDwmcABgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIX
-gAAKCRCpPhxLJgYs4wvFB/9hEV8LzHUpD0X/vM9pfW1ZbTl2GNiZfuMh6/KlqB3C
-4gL3SLLRlk4mEPM3qlZWCqZiWVp5zz1C/j/+BLJW3c+j3rCUEAsobsR6HkxBr7N0
-LUnurbMXyiOvdg4lAS42Vi1JrydFdih1HCI3NiGMHAV/8NEdtmLt7Ue8Opx01R6r
-wXBomX5BHJXnzbZRbCbdor/UnO8ff5K4jwd6yhY0BV+bI2uD+vGq9nMld0JGj7W7
-qB+HzOAxpINtHksQhtTV/PBWjHTCNhOdGh1zyoyvJSshm1NkvwBVZYMs/0ujApcq
-xAXytGXonLiMmZMECOjxAigph8T4PCEKdIqdsVxkC2ybiQIcBBABCgAGBQJV5hIJ
+iQE+BBMBAgAoAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAUCV7mKXAUJB4s7
+HwAKCRCpPhxLJgYs4zheCACgc3m2FH5kmXtYO44BdYYwdV2dyLMCxvVl7GUWqJF8
+wKmDWlUxBwrpzDBQXpmHyb+rqX/kvfEkH2wb9TZwginLecbZbMKubNUWUqGJBHQo
+CaV8o6L/iEUJa5NXzY2OJCp32CHsmpefYkU+WgAnmTVe8Se7JEmJeu+2OfStV5m6
+zVK5xzlciYSc29LpA3dsv5hxE6YZ8kJBJaFyv2AvVzaouSR7nPNrdw3/jXaOz+Hb
+VpP/CEf5IdvF/o37sv8o7WWcH1AjvMdGQNp6Zr5Te2E35V8PmpqLH4Z8W0/PXij2
+67i565JZc1Kmpqxm59jg1vs2X7rHNn0k+r9BFiCQC1LKiQIcBBABCgAGBQJV5hIJ
 AAoJEOGWdUUnufY1qh8P/03uvjuU1V9UZY9t/4J/K0wbU8Re9c/HfgmJrCn+wvDI
 OtxpOg3m07ZoIrosYEA2CIm+kLCYuNbzGSz6ZPZlpoq5FvxzO9OAYMO76r3ktxUw
 Snbxd9TCkjCCQ8RMxT/JGDBU77nAJPyhCUZF2/SyrXnexloNP9TR/IDQZNOXzlxR
@@ -1805,14 +1806,14 @@ ulDgtZwWSin3Kd40VZDyKi6mqOp5ldz6AsZ2CSx1
 nGL9OVoy1SdwTXgnboiIFtbTG3sVwD4x4qTRbmT22Ln/mIAICR2wxFBkzpbIQ7Mf
 R/zEgRh2VlRUUrWUsnYdOh0xfxuYgsnPCjpTY8hvEno3H6kzXKmj2GQJtawMVs5b
 Ro/GCM9lBBR/PAhB65ACzLmUUSsxjlmjZw0tCcOufg1RyAF/l6YVw1UOJaqXBfSP
-eZkLQBj9p8VNpasX/acIfpEaZLE8QhoO11ajABEBAAGJASUEGAECAA8FAlPwtjQC
-GwwFCQPCZwAACgkQqT4cSyYGLOPzLggAjHrdpMjZrHM5WqnxkJ1Eib1g14aScMGd
-OIw9NOSQ2AGvJjbSy4xyMEUg3S14I73JGYtJu8g9YvCHbuWiyzySBIuGNinMI/Zj
-ET/w1noqoNaSlIY4UfFh30g+OikEzP9WXmo0Scg0XH/fJhX1wCpM/TVlphX0yNGm
-mkNBBqerRXC7Md4XOy001vvXZGM7vy+xOotyBOy/D4WNERSz3GVS3juCQGMWvMdq
-KQa+qoiVaXWfFHwg8u4bSHunrzNja17GyaZHdCEmM9vFzlaqBkoLWCMwIcaKnX9s
-tQJpFZwpzgut7DanaPcCDk7LMBbntaJwRC72M0qcj16SUAdAuGt1yQ==
-=IonN
+eZkLQBj9p8VNpasX/acIfpEaZLE8QhoO11ajABEBAAGJASUEGAECAA8CGwwFAle5
+inIFCQeLOz4ACgkQqT4cSyYGLOMvsAf+J2EyV9+GNqT8UmEU6OFnw/sdR1oE+vZ9
+fe4mifAfjQ+SKYf+MS0lU3lTuwcQKwFklePoYsvJEO7jNEgjTQ+zKiDSlV5yufSn
+Idy8+sCYygPn5fSjGdRaMpCCfs5xrljLUPK5U8+vjeteRJW0o2/wmsYdHRz6A74B
+kRq8kYu1M8VgZ6JD1YI/mp0mHTTB+H69/DNo6cA+7W/CibeTrffbJ35+OXGsJxqJ
+b/QH/4lqsceNJtJThkHPQeM18R7/4t7Vhb5htOk2eB7coKzdYRKpHMzkm7elm8bI
+uwsky9+6hIUMKD5hhc8G7g9lWOLSXCeNRUdqWTOfZaU5KOK70kKUeQ==
+=PCbZ
 -----END PGP PUBLIC KEY BLOCK-----
 
 pub   4096R/B4812553 2014-02-26 [expires: 2019-02-25]

Modified: poi/branches/hssf_cryptoapi/build.xml
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/build.xml?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- poi/branches/hssf_cryptoapi/build.xml (original)
+++ poi/branches/hssf_cryptoapi/build.xml Mon Sep 19 00:20:44 2016
@@ -40,7 +40,7 @@ under the License.
 
     <description>The Apache POI project Ant build.</description>
 
-    <property name="version.id" value="3.15-beta4"/>
+    <property name="version.id" value="3.16-beta1"/>
     <property name="release.rc" value="RC1"/>
 
     <property environment="env"/>
@@ -1092,7 +1092,7 @@ under the License.
         </copy>
     </target>
 
-    <target name="compile-integration" depends="compile-scratchpad, 
compile-main, compile-ooxml">
+    <target name="compile-integration" depends="compile-scratchpad, 
compile-main, compile-ooxml, compile-examples">
         <javac target="${jdk.version.class}"
                source="${jdk.version.source}"
                destdir="${integration.output.test.dir}"
@@ -2390,17 +2390,19 @@ under the License.
         <!-- can't combine updating and pinning of the documentation ... so we 
need two commits -->
         <!-- (revision)properties can't be set and read within one svn block 
-->
         <echo message="updating build.xml and status.xml"/>
+        <exec command="svn ci --username ${settings.apache-id.username} 
--password ${settings.apache-id.password} -m 'release prepare for ${version.id} 
- updating build.xml and status.xml' build.xml 
src/documentation/content/xdocs/status.xml"/>
         <svn refid="svn.settings">
-            <commit message="release prepare for ${version.id} - updating 
build.xml and status.xml" recurse="false">
+            <!--<commit message="release prepare for ${version.id} - updating 
build.xml and status.xml" recurse="false">
                 <fileset dir="." 
includes="build.xml,src/documentation/content/xdocs/status.xml"/>
-            </commit>
+            </commit>-->
             <update dir="." recurse="true"/>
             <status path="." revisionProperty="svn_version1"/>
         </svn>
         <echo message="pin documentation - release ${svn_version1}"/>
+        <exec command="svn ci --username ${settings.apache-id.username} 
--password ${settings.apache-id.password} -m 'release prepare for ${version.id} 
- pin documentation' src"/>
         <svn refid="svn.settings">
             <propset path="src" name="svn:externals" value="documentation 
-r${svn_version1} https://svn.apache.org/repos/asf/poi/site/src/documentation"/>
-            <commit message="release prepare for ${version.id} - pin 
documentation" dir="src" recurse="false"/>
+<!--            <commit message="release prepare for ${version.id} - pin 
documentation" dir="src" recurse="false"/>-->
             <update dir="." recurse="true"/>
             <status path="." revisionProperty="svn_version2"/>
         </svn>
@@ -2430,12 +2432,13 @@ under the License.
         <svn refid="svn.settings">
             <update dir="." recurse="true"/>
             <propset path="src" name="svn:externals" value="documentation 
https://svn.apache.org/repos/asf/poi/site/src/documentation"/>
-            <commit message="prepare for ${rel_next}" recurse="false">
+            <!--<commit message="prepare for ${rel_next}" recurse="false">
                 <fileset dir="." includes="build.xml"/>
                 <fileset dir="sonar" includes="**/pom.xml"/>
                 <dirset dir="src"/>
-            </commit>
+            </commit>-->
         </svn>
+        <exec command="svn ci --username ${settings.apache-id.username} 
--password ${settings.apache-id.password} -m 'prepare for ${rel_next}' 
build.xml sonar src"/>
 
         <mkdir dir="build/release"/>
 

Modified: poi/branches/hssf_cryptoapi/sonar/examples/pom.xml
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/sonar/examples/pom.xml?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- poi/branches/hssf_cryptoapi/sonar/examples/pom.xml (original)
+++ poi/branches/hssf_cryptoapi/sonar/examples/pom.xml Mon Sep 19 00:20:44 2016
@@ -6,7 +6,7 @@
     <parent>
         <groupId>org.apache.poi</groupId>
         <artifactId>poi-parent</artifactId>
-        <version>3.15-beta4-SNAPSHOT</version>
+        <version>3.16-beta1-SNAPSHOT</version>
     </parent>
     <artifactId>poi-examples</artifactId>
     <packaging>jar</packaging>

Modified: poi/branches/hssf_cryptoapi/sonar/excelant/pom.xml
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/sonar/excelant/pom.xml?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- poi/branches/hssf_cryptoapi/sonar/excelant/pom.xml (original)
+++ poi/branches/hssf_cryptoapi/sonar/excelant/pom.xml Mon Sep 19 00:20:44 2016
@@ -6,7 +6,7 @@
     <parent>
         <groupId>org.apache.poi</groupId>
         <artifactId>poi-parent</artifactId>
-        <version>3.15-beta4-SNAPSHOT</version>
+        <version>3.16-beta1-SNAPSHOT</version>
     </parent>
     <artifactId>poi-excelant</artifactId>
     <packaging>jar</packaging>

Modified: poi/branches/hssf_cryptoapi/sonar/main/pom.xml
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/sonar/main/pom.xml?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- poi/branches/hssf_cryptoapi/sonar/main/pom.xml (original)
+++ poi/branches/hssf_cryptoapi/sonar/main/pom.xml Mon Sep 19 00:20:44 2016
@@ -6,7 +6,7 @@
     <parent>
         <groupId>org.apache.poi</groupId>
         <artifactId>poi-parent</artifactId>
-        <version>3.15-beta4-SNAPSHOT</version>
+        <version>3.16-beta1-SNAPSHOT</version>
     </parent>
     <artifactId>poi-main</artifactId>
     <packaging>jar</packaging>

Modified: poi/branches/hssf_cryptoapi/sonar/ooxml-schema-encryption/pom.xml
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/sonar/ooxml-schema-encryption/pom.xml?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- poi/branches/hssf_cryptoapi/sonar/ooxml-schema-encryption/pom.xml (original)
+++ poi/branches/hssf_cryptoapi/sonar/ooxml-schema-encryption/pom.xml Mon Sep 
19 00:20:44 2016
@@ -6,7 +6,7 @@
     <parent>
         <groupId>org.apache.poi</groupId>
         <artifactId>poi-parent</artifactId>
-        <version>3.15-beta4-SNAPSHOT</version>
+        <version>3.16-beta1-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <artifactId>poi-ooxml-schema-encryption</artifactId>

Modified: poi/branches/hssf_cryptoapi/sonar/ooxml-schema-security/pom.xml
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/sonar/ooxml-schema-security/pom.xml?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- poi/branches/hssf_cryptoapi/sonar/ooxml-schema-security/pom.xml (original)
+++ poi/branches/hssf_cryptoapi/sonar/ooxml-schema-security/pom.xml Mon Sep 19 
00:20:44 2016
@@ -6,7 +6,7 @@
     <parent>
         <groupId>org.apache.poi</groupId>
         <artifactId>poi-parent</artifactId>
-        <version>3.15-beta4-SNAPSHOT</version>
+        <version>3.16-beta1-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <artifactId>poi-ooxml-schema-security</artifactId>

Modified: poi/branches/hssf_cryptoapi/sonar/ooxml-schema/pom.xml
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/sonar/ooxml-schema/pom.xml?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- poi/branches/hssf_cryptoapi/sonar/ooxml-schema/pom.xml (original)
+++ poi/branches/hssf_cryptoapi/sonar/ooxml-schema/pom.xml Mon Sep 19 00:20:44 
2016
@@ -6,7 +6,7 @@
     <parent>
         <groupId>org.apache.poi</groupId>
         <artifactId>poi-parent</artifactId>
-        <version>3.15-beta4-SNAPSHOT</version>
+        <version>3.16-beta1-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <artifactId>poi-ooxml-schema</artifactId>

Modified: poi/branches/hssf_cryptoapi/sonar/ooxml/pom.xml
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/sonar/ooxml/pom.xml?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- poi/branches/hssf_cryptoapi/sonar/ooxml/pom.xml (original)
+++ poi/branches/hssf_cryptoapi/sonar/ooxml/pom.xml Mon Sep 19 00:20:44 2016
@@ -6,7 +6,7 @@
     <parent>
         <groupId>org.apache.poi</groupId>
         <artifactId>poi-parent</artifactId>
-        <version>3.15-beta4-SNAPSHOT</version>
+        <version>3.16-beta1-SNAPSHOT</version>
     </parent>
     <artifactId>poi-ooxml</artifactId>
     <packaging>jar</packaging>

Modified: poi/branches/hssf_cryptoapi/sonar/pom.xml
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/sonar/pom.xml?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- poi/branches/hssf_cryptoapi/sonar/pom.xml (original)
+++ poi/branches/hssf_cryptoapi/sonar/pom.xml Mon Sep 19 00:20:44 2016
@@ -3,7 +3,7 @@
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-parent</artifactId>
        <packaging>pom</packaging>
-       <version>3.15-beta4-SNAPSHOT</version>
+       <version>3.16-beta1-SNAPSHOT</version>
        <name>Apache POI - the Java API for Microsoft Documents</name>
        <description>Maven build of Apache POI for Sonar checks</description>
        <url>http://poi.apache.org/</url>

Modified: poi/branches/hssf_cryptoapi/sonar/scratchpad/pom.xml
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/sonar/scratchpad/pom.xml?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- poi/branches/hssf_cryptoapi/sonar/scratchpad/pom.xml (original)
+++ poi/branches/hssf_cryptoapi/sonar/scratchpad/pom.xml Mon Sep 19 00:20:44 
2016
@@ -6,7 +6,7 @@
     <parent>
         <groupId>org.apache.poi</groupId>
         <artifactId>poi-parent</artifactId>
-        <version>3.15-beta4-SNAPSHOT</version>
+        <version>3.16-beta1-SNAPSHOT</version>
     </parent>
     <artifactId>poi-scratchpad</artifactId>
     <packaging>jar</packaging>

Modified: 
poi/branches/hssf_cryptoapi/src/examples/src/org/apache/poi/hssf/view/SVTableCellRenderer.java
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/src/examples/src/org/apache/poi/hssf/view/SVTableCellRenderer.java?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- 
poi/branches/hssf_cryptoapi/src/examples/src/org/apache/poi/hssf/view/SVTableCellRenderer.java
 (original)
+++ 
poi/branches/hssf_cryptoapi/src/examples/src/org/apache/poi/hssf/view/SVTableCellRenderer.java
 Mon Sep 19 00:20:44 2016
@@ -160,8 +160,8 @@ public class SVTableCellRenderer extends
                                
SVTableUtils.getAWTColor(s.getRightBorderColor(), SVTableUtils.black),
                                
SVTableUtils.getAWTColor(s.getBottomBorderColor(), SVTableUtils.black),
                                
SVTableUtils.getAWTColor(s.getLeftBorderColor(), SVTableUtils.black),
-                               s.getBorderTop(), s.getBorderRight(),
-                               s.getBorderBottom(), s.getBorderLeft(),
+                               s.getBorderTopEnum(), s.getBorderRightEnum(),
+                               s.getBorderBottomEnum(), s.getBorderLeftEnum(),
                                hasFocus);
             setBorder(cellBorder);
             isBorderSet=true;

Modified: 
poi/branches/hssf_cryptoapi/src/examples/src/org/apache/poi/ss/examples/ExcelComparator.java
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/src/examples/src/org/apache/poi/ss/examples/ExcelComparator.java?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- 
poi/branches/hssf_cryptoapi/src/examples/src/org/apache/poi/ss/examples/ExcelComparator.java
 (original)
+++ 
poi/branches/hssf_cryptoapi/src/examples/src/org/apache/poi/ss/examples/ExcelComparator.java
 Mon Sep 19 00:20:44 2016
@@ -367,23 +367,23 @@ public class ExcelComparator {
         String borderName;
         switch (borderSide) {
             case 't': default:
-                b1 = style1.getBorderTop() == BorderStyle.THIN;
-                b2 = style2.getBorderTop() == BorderStyle.THIN;
+                b1 = style1.getBorderTopEnum() == BorderStyle.THIN;
+                b2 = style2.getBorderTopEnum() == BorderStyle.THIN;
                 borderName = "TOP";
                 break;
             case 'b':
-                b1 = style1.getBorderBottom() == BorderStyle.THIN;
-                b2 = style2.getBorderBottom() == BorderStyle.THIN;
+                b1 = style1.getBorderBottomEnum() == BorderStyle.THIN;
+                b2 = style2.getBorderBottomEnum() == BorderStyle.THIN;
                 borderName = "BOTTOM";
                 break;
             case 'l':
-                b1 = style1.getBorderLeft() == BorderStyle.THIN;
-                b2 = style2.getBorderLeft() == BorderStyle.THIN;
+                b1 = style1.getBorderLeftEnum() == BorderStyle.THIN;
+                b2 = style2.getBorderLeftEnum() == BorderStyle.THIN;
                 borderName = "LEFT";
                 break;
             case 'r':
-                b1 = style1.getBorderRight() == BorderStyle.THIN;
-                b2 = style2.getBorderRight() == BorderStyle.THIN;
+                b1 = style1.getBorderRightEnum() == BorderStyle.THIN;
+                b2 = style2.getBorderRightEnum() == BorderStyle.THIN;
                 borderName = "RIGHT";
                 break;
         }

Modified: 
poi/branches/hssf_cryptoapi/src/examples/src/org/apache/poi/ss/examples/html/ToHtml.java
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/src/examples/src/org/apache/poi/ss/examples/html/ToHtml.java?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- 
poi/branches/hssf_cryptoapi/src/examples/src/org/apache/poi/ss/examples/html/ToHtml.java
 (original)
+++ 
poi/branches/hssf_cryptoapi/src/examples/src/org/apache/poi/ss/examples/html/ToHtml.java
 Mon Sep 19 00:20:44 2016
@@ -298,10 +298,10 @@ public class ToHtml {
     }
 
     private void borderStyles(CellStyle style) {
-        styleOut("border-left", style.getBorderLeft(), BORDER);
-        styleOut("border-right", style.getBorderRight(), BORDER);
-        styleOut("border-top", style.getBorderTop(), BORDER);
-        styleOut("border-bottom", style.getBorderBottom(), BORDER);
+        styleOut("border-left", style.getBorderLeftEnum(), BORDER);
+        styleOut("border-right", style.getBorderRightEnum(), BORDER);
+        styleOut("border-top", style.getBorderTopEnum(), BORDER);
+        styleOut("border-bottom", style.getBorderBottomEnum(), BORDER);
     }
 
     private void fontStyle(CellStyle style) {

Modified: 
poi/branches/hssf_cryptoapi/src/examples/src/org/apache/poi/xssf/usermodel/examples/CreatePivotTable.java
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/src/examples/src/org/apache/poi/xssf/usermodel/examples/CreatePivotTable.java?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- 
poi/branches/hssf_cryptoapi/src/examples/src/org/apache/poi/xssf/usermodel/examples/CreatePivotTable.java
 (original)
+++ 
poi/branches/hssf_cryptoapi/src/examples/src/org/apache/poi/xssf/usermodel/examples/CreatePivotTable.java
 Mon Sep 19 00:20:44 2016
@@ -21,6 +21,7 @@ import java.io.FileOutputStream;
 import java.io.IOException;
 
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
+import org.apache.poi.ss.SpreadsheetVersion;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.DataConsolidateFunction;
 import org.apache.poi.ss.usermodel.Row;
@@ -39,7 +40,11 @@ public class CreatePivotTable {
         //Create some data to build the pivot table on
         setCellData(sheet);
 
-        XSSFPivotTable pivotTable = sheet.createPivotTable(new 
AreaReference("A1:D4"), new CellReference("H5"));
+        AreaReference source = new AreaReference("A1:D4", 
SpreadsheetVersion.EXCEL2007);
+        CellReference position = new CellReference("H5");
+        // Create a pivot table on this sheet, with H5 as the top-left cell..
+        // The pivot table's data source is on the same sheet in A1:D4
+        XSSFPivotTable pivotTable = sheet.createPivotTable(source, position);
         //Configure the pivot table
         //Use first column as row label
         pivotTable.addRowLabel(0);
@@ -98,4 +103,4 @@ public class CreatePivotTable {
         Cell cell44 = row4.createCell(3);
         cell44.setCellValue("No");
     }
-}
\ No newline at end of file
+}

Modified: 
poi/branches/hssf_cryptoapi/src/examples/src/org/apache/poi/xssf/usermodel/examples/FillsAndColors.java
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/src/examples/src/org/apache/poi/xssf/usermodel/examples/FillsAndColors.java?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- 
poi/branches/hssf_cryptoapi/src/examples/src/org/apache/poi/xssf/usermodel/examples/FillsAndColors.java
 (original)
+++ 
poi/branches/hssf_cryptoapi/src/examples/src/org/apache/poi/xssf/usermodel/examples/FillsAndColors.java
 Mon Sep 19 00:20:44 2016
@@ -32,13 +32,13 @@ public class FillsAndColors {
         Sheet sheet = wb.createSheet("new sheet");
 
         // Create a row and put some cells in it. Rows are 0 based.
-        Row row = sheet.createRow((short) 1);
+        Row row = sheet.createRow(1);
 
         // Aqua background
         CellStyle style = wb.createCellStyle();
         style.setFillBackgroundColor(IndexedColors.AQUA.getIndex());
         style.setFillPattern(CellStyle.BIG_SPOTS);
-        Cell cell = row.createCell((short) 1);
+        Cell cell = row.createCell(1);
         cell.setCellValue(new XSSFRichTextString("X"));
         cell.setCellStyle(style);
 
@@ -46,7 +46,7 @@ public class FillsAndColors {
         style = wb.createCellStyle();
         style.setFillForegroundColor(IndexedColors.ORANGE.getIndex());
         style.setFillPattern(CellStyle.SOLID_FOREGROUND);
-        cell = row.createCell((short) 2);
+        cell = row.createCell(2);
         cell.setCellValue(new XSSFRichTextString("X"));
         cell.setCellStyle(style);
 

Modified: 
poi/branches/hssf_cryptoapi/src/integrationtest/org/apache/poi/TestAllFiles.java
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/src/integrationtest/org/apache/poi/TestAllFiles.java?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- 
poi/branches/hssf_cryptoapi/src/integrationtest/org/apache/poi/TestAllFiles.java
 (original)
+++ 
poi/branches/hssf_cryptoapi/src/integrationtest/org/apache/poi/TestAllFiles.java
 Mon Sep 19 00:20:44 2016
@@ -240,6 +240,7 @@ public class TestAllFiles {
         
EXPECTED_FAILURES.add("openxml4j/OPCCompliance_CoreProperties_OnlyOneCorePropertiesPartFAIL.docx");
         
EXPECTED_FAILURES.add("openxml4j/OPCCompliance_CoreProperties_UnauthorizedXMLLangAttributeFAIL.docx");
         
EXPECTED_FAILURES.add("openxml4j/OPCCompliance_DerivedPartNameFAIL.docx");
+        EXPECTED_FAILURES.add("openxml4j/invalid.xlsx");
         EXPECTED_FAILURES.add("spreadsheet/54764-2.xlsx");   // see 
TestXSSFBugs.bug54764()
         EXPECTED_FAILURES.add("spreadsheet/54764.xlsx");     // see 
TestXSSFBugs.bug54764()
         EXPECTED_FAILURES.add("spreadsheet/Simple.xlsb");
@@ -297,7 +298,10 @@ public class TestAllFiles {
         List<Object[]> files = new ArrayList<Object[]>();
         for(String file : scanner.getIncludedFiles()) {
             file = file.replace('\\', '/'); // ... failures/handlers lookup 
doesn't work on windows otherwise
-            if (IGNORED.contains(file)) continue;
+            if (IGNORED.contains(file)) {
+                System.out.println("Ignoring " + file);
+                continue;
+            }
             FileHandler handler = HANDLERS.get(getExtension(file));
             files.add(new Object[] { file, handler });
             

Modified: 
poi/branches/hssf_cryptoapi/src/integrationtest/org/apache/poi/stress/XSSFFileHandler.java
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/src/integrationtest/org/apache/poi/stress/XSSFFileHandler.java?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- 
poi/branches/hssf_cryptoapi/src/integrationtest/org/apache/poi/stress/XSSFFileHandler.java
 (original)
+++ 
poi/branches/hssf_cryptoapi/src/integrationtest/org/apache/poi/stress/XSSFFileHandler.java
 Mon Sep 19 00:20:44 2016
@@ -30,6 +30,7 @@ import javax.xml.transform.TransformerEx
 
 import org.apache.poi.POIXMLException;
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
+import org.apache.poi.openxml4j.exceptions.NotOfficeXmlFileException;
 import org.apache.poi.openxml4j.exceptions.OLE2NotOfficeXmlFileException;
 import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
 import org.apache.poi.openxml4j.opc.OPCPackage;
@@ -134,6 +135,9 @@ public class XSSFFileHandler extends Spr
         EXPECTED_ADDITIONAL_FAILURES.add("spreadsheet/Simple.xlsb");
         // TODO: good to ignore?
         EXPECTED_ADDITIONAL_FAILURES.add("spreadsheet/sample-beta.xlsx");
+        
+        // corrupt/invalid
+        EXPECTED_ADDITIONAL_FAILURES.add("openxml4j/invalid.xlsx");
     }
 
     @SuppressWarnings("resource")

Modified: 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/common/usermodel/Hyperlink.java
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/src/java/org/apache/poi/common/usermodel/Hyperlink.java?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/common/usermodel/Hyperlink.java
 (original)
+++ 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/common/usermodel/Hyperlink.java
 Mon Sep 19 00:20:44 2016
@@ -16,6 +16,8 @@
 ==================================================================== */
 package org.apache.poi.common.usermodel;
 
+import org.apache.poi.util.Removal;
+
 /**
  * Represents a hyperlink.
  */
@@ -25,6 +27,7 @@ public interface Hyperlink {
      * 
      * @deprecated POI 3.15 beta 3. Use {@link HyperlinkType#URL} instead.
      */
+    @Removal(version="3.17")
     public static final int LINK_URL = 1; // HyperlinkType.URL.getCode()
 
     /**
@@ -32,6 +35,7 @@ public interface Hyperlink {
      * 
      * @deprecated POI 3.15 beta 3. Use {@link HyperlinkType#DOCUMENT} instead.
      */
+    @Removal(version="3.17")
     public static final int LINK_DOCUMENT = 2; // 
HyperlinkType.DOCUMENT.getCode()
 
     /**
@@ -39,6 +43,7 @@ public interface Hyperlink {
      * 
      * @deprecated POI 3.15 beta 3. Use {@link HyperlinkType#EMAIL} instead.
      */
+    @Removal(version="3.17")
     public static final int LINK_EMAIL = 3; // HyperlinkType.EMAIL.getCode()
 
     /**
@@ -46,6 +51,7 @@ public interface Hyperlink {
      * 
      * @deprecated POI 3.15 beta 3. Use {@link HyperlinkType#FILE} instead.
      */
+    @Removal(version="3.17")
     public static final int LINK_FILE = 4; // HyperlinkType.FILE.getCode()
 
     
@@ -83,6 +89,7 @@ public interface Hyperlink {
      * @return the type of this hyperlink
      * @see HyperlinkType#forInt(int)
      * @deprecated POI 3.15 beta 3. Use {@link #getTypeEnum()}
+     * getType will return a HyperlinkType enum in the future.
      */
     public int getType();
     

Modified: 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/model/HSSFFormulaParser.java
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/model/HSSFFormulaParser.java?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/model/HSSFFormulaParser.java
 (original)
+++ 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/model/HSSFFormulaParser.java
 Mon Sep 19 00:20:44 2016
@@ -17,8 +17,6 @@
 
 package org.apache.poi.hssf.model;
 
-import org.apache.poi.ss.formula.ptg.Ptg;
-import org.apache.poi.util.Internal;
 import org.apache.poi.hssf.usermodel.HSSFEvaluationWorkbook;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.formula.FormulaParseException;
@@ -26,6 +24,9 @@ import org.apache.poi.ss.formula.Formula
 import org.apache.poi.ss.formula.FormulaParsingWorkbook;
 import org.apache.poi.ss.formula.FormulaRenderer;
 import org.apache.poi.ss.formula.FormulaType;
+import org.apache.poi.ss.formula.ptg.Ptg;
+import org.apache.poi.util.Internal;
+import org.apache.poi.util.Removal;
 
 /**
  * HSSF wrapper for the {@link FormulaParser} and {@link FormulaRenderer}
@@ -61,6 +62,7 @@ public final class HSSFFormulaParser {
      * 
      * @deprecated POI 3.15 beta 3. Use {@link #parse(String, HSSFWorkbook, 
FormulaType)} instead.
      */
+    @Removal(version="3.17")
     public static Ptg[] parse(String formula, HSSFWorkbook workbook, int 
formulaType) throws FormulaParseException {
         return parse(formula, workbook, FormulaType.forInt(formulaType));
     }
@@ -87,6 +89,7 @@ public final class HSSFFormulaParser {
      * @throws FormulaParseException if the formula has incorrect syntax or is 
otherwise invalid
      * @deprecated POI 3.15 beta 3. Use {@link #parse(String, HSSFWorkbook, 
FormulaType, int)} instead.
      */
+    @Removal(version="3.17")
     public static Ptg[] parse(String formula, HSSFWorkbook workbook, int 
formulaType, int sheetIndex) throws FormulaParseException {
         return parse(formula, workbook, FormulaType.forInt(formulaType), 
sheetIndex);
     }

Modified: 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFBorderFormatting.java
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFBorderFormatting.java?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFBorderFormatting.java
 (original)
+++ 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFBorderFormatting.java
 Mon Sep 19 00:20:44 2016
@@ -42,28 +42,83 @@ public final class HSSFBorderFormatting
         return borderFormatting;
     }
 
+    /**
+     * @deprecated POI 3.15. Use {@link #getBorderBottomEnum()}.
+     * This method will return an BorderStyle enum in the future.
+     */
     @Override
-    public BorderStyle getBorderBottom() {
+    public short getBorderBottom() {
+        return (short)borderFormatting.getBorderBottom();
+    }
+    /**
+     * @since POI 3.15
+     */
+    @Override
+    public BorderStyle getBorderBottomEnum() {
         return BorderStyle.valueOf((short)borderFormatting.getBorderBottom());
     }
 
+    /**
+     * @deprecated POI 3.15. Use {@link #getBorderDiagonalEnum()}.
+     * This method will return an BorderStyle enum in the future.
+     */
     @Override
-    public BorderStyle getBorderDiagonal() {
+    public short getBorderDiagonal() {
+        return (short)borderFormatting.getBorderDiagonal();
+    }
+    /**
+     * @since POI 3.15
+     */
+    @Override
+    public BorderStyle getBorderDiagonalEnum() {
         return 
BorderStyle.valueOf((short)borderFormatting.getBorderDiagonal());
     }
 
+    /**
+     * @deprecated POI 3.15. Use {@link #getBorderLeftEnum()}.
+     * This method will return an BorderStyle enum in the future.
+     */
+    @Override
+    public short getBorderLeft() {
+        return (short)borderFormatting.getBorderLeft();
+    }
+    /**
+     * @since POI 3.15
+     */
     @Override
-    public BorderStyle getBorderLeft() {
+    public BorderStyle getBorderLeftEnum() {
         return BorderStyle.valueOf((short)borderFormatting.getBorderLeft());
     }
 
+    /**
+     * @deprecated POI 3.15. Use {@link #getBorderRightEnum()}.
+     * This method will return an BorderStyle enum in the future.
+     */
+    @Override
+    public short getBorderRight() {
+        return (short)borderFormatting.getBorderRight();
+    }
+    /**
+     * @since POI 3.15
+     */
     @Override
-    public BorderStyle getBorderRight() {
+    public BorderStyle getBorderRightEnum() {
         return BorderStyle.valueOf((short)borderFormatting.getBorderRight());
     }
 
+    /**
+     * @deprecated POI 3.15. Use {@link #getBorderTopEnum()}.
+     * This method will return an BorderStyle enum in the future.
+     */
+    @Override
+    public short getBorderTop() {
+        return (short)borderFormatting.getBorderTop();
+    }
+    /**
+     * @since POI 3.15
+     */
     @Override
-    public BorderStyle getBorderTop() {
+    public BorderStyle getBorderTopEnum() {
         return BorderStyle.valueOf((short)borderFormatting.getBorderTop());
     }
 

Modified: 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java
 (original)
+++ 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java
 Mon Sep 19 00:20:44 2016
@@ -446,6 +446,7 @@ public class HSSFCell implements Cell {
      * 
      * Will return {@link CellType} in a future version of POI.
      * For forwards compatibility, do not hard-code cell type literals in your 
code.
+     * @deprecated 3.15. Will be return a {@link CellType} enum in the future.
      */
     @Override
     public int getCellType()
@@ -459,7 +460,6 @@ public class HSSFCell implements Cell {
      * @deprecated POI 3.15 beta 3
      * Will be deleted when we make the CellType enum transition. See bug 
59791.
      */
-    @Internal(since="POI 3.15 beta 3")
     @Override
     public CellType getCellTypeEnum()
     {
@@ -1154,6 +1154,7 @@ public class HSSFCell implements Cell {
      * @return one of ({@link CellType#NUMERIC}, {@link CellType#STRING},
      *     {@link CellType#BOOLEAN}, {@link CellType#ERROR}) depending
      * on the cached value of the formula
+     * @deprecated 3.15. Will return a {@link CellType} enum in the future.
      */
     @Override
     public int getCachedFormulaResultType() {
@@ -1169,7 +1170,6 @@ public class HSSFCell implements Cell {
      * @deprecated POI 3.15 beta 3
      * Will be deleted when we make the CellType enum transition. See bug 
59791.
      */
-    @Internal(since="POI 3.15 beta 3")
     @Override
     public CellType getCachedFormulaResultTypeEnum() {
         if (_cellType != CellType.FORMULA) {

Modified: 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFCellStyle.java
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFCellStyle.java?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFCellStyle.java
 (original)
+++ 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFCellStyle.java
 Mon Sep 19 00:20:44 2016
@@ -32,6 +32,7 @@ import org.apache.poi.ss.usermodel.FillP
 import org.apache.poi.ss.usermodel.Font;
 import org.apache.poi.ss.usermodel.HorizontalAlignment;
 import org.apache.poi.ss.usermodel.VerticalAlignment;
+import org.apache.poi.util.Removal;
 
 /**
  * High level representation of the style of a cell in a sheet of a workbook.
@@ -254,6 +255,7 @@ public final class HSSFCellStyle impleme
      * @see #ALIGN_CENTER_SELECTION
      * @deprecated POI 3.15 beta 3. Use {@link 
#setAlignment(HorizontalAlignment)} instead.
      */
+    @Removal(version="3.17")
     @Override
     public void setAlignment(short align)
     {
@@ -329,6 +331,7 @@ public final class HSSFCellStyle impleme
      * @see VerticalAlignment
      * @deprecated POI 3.15 beta 3. Use {@link 
#setVerticalAlignment(VerticalAlignment)} instead.
      */
+    @Removal(version="3.17")
     @Override
     public void setVerticalAlignment(short align)
     {
@@ -459,6 +462,7 @@ public final class HSSFCellStyle impleme
      * @see #BORDER_SLANTED_DASH_DOT
      * @deprecated 3.15 beta 2. Use {@link 
HSSFCellStyle#setBorderLeft(BorderStyle)} instead.
      */
+    @Removal(version="3.17")
     @Override
     public void setBorderLeft(short border)
     {
@@ -469,6 +473,7 @@ public final class HSSFCellStyle impleme
     /**
      * set the type of border to use for the left border of the cell
      * @param border type
+     * @since POI 3.15
      */
     @Override
     public void setBorderLeft(BorderStyle border)
@@ -479,9 +484,20 @@ public final class HSSFCellStyle impleme
     /**
      * get the type of border to use for the left border of the cell
      * @return border type
+     * @deprecated POI 3.15. Will return a BorderStyle enum in the future. Use 
{@link #getBorderLeftEnum()}.
      */
     @Override
-    public BorderStyle getBorderLeft()
+    public short getBorderLeft()
+    {
+        return _format.getBorderLeft();
+    }
+    /**
+     * get the type of border to use for the left border of the cell
+     * @return border type
+     * @since POI 3.15
+     */
+    @Override
+    public BorderStyle getBorderLeftEnum()
     {
         return BorderStyle.valueOf(_format.getBorderLeft());
     }
@@ -505,6 +521,7 @@ public final class HSSFCellStyle impleme
      * @see #BORDER_SLANTED_DASH_DOT
      * @deprecated 3.15 beta 2. Use {@link 
HSSFCellStyle#setBorderRight(BorderStyle)} instead.
      */
+    @Removal(version="3.17")
     @Override
     public void setBorderRight(short border)
     {
@@ -515,6 +532,7 @@ public final class HSSFCellStyle impleme
     /**
      * set the type of border to use for the right border of the cell
      * @param border type
+     * @since POI 3.15
      */
     @Override
     public void setBorderRight(BorderStyle border)
@@ -525,9 +543,20 @@ public final class HSSFCellStyle impleme
     /**
      * get the type of border to use for the right border of the cell
      * @return border type
+     * @deprecated POI 3.15. Will return a BorderStyle enum in the future. Use 
{@link #getBorderRightEnum()}.
+     */
+    @Override
+    public short getBorderRight()
+    {
+        return _format.getBorderRight();
+    }
+    /**
+     * get the type of border to use for the right border of the cell
+     * @return border type
+     * @since POI 3.15
      */
     @Override
-    public BorderStyle getBorderRight()
+    public BorderStyle getBorderRightEnum()
     {
         return BorderStyle.valueOf(_format.getBorderRight());
     }
@@ -551,6 +580,7 @@ public final class HSSFCellStyle impleme
      * @see #BORDER_SLANTED_DASH_DOT
      * @deprecated 3.15 beta 2. Use {@link 
HSSFCellStyle#setBorderTop(BorderStyle)} instead.
      */
+    @Removal(version="3.17")
     @Override
     public void setBorderTop(short border)
     {
@@ -561,6 +591,7 @@ public final class HSSFCellStyle impleme
     /**
      * set the type of border to use for the top border of the cell
      * @param border type
+     * @since POI 3.15
      */
     @Override
     public void setBorderTop(BorderStyle border)
@@ -571,9 +602,20 @@ public final class HSSFCellStyle impleme
     /**
      * get the type of border to use for the top border of the cell
      * @return border type
+     * @deprecated POI 3.15. Will return a BorderStyle enum in the future. Use 
{@link #getBorderTopEnum()}.
      */
     @Override
-    public BorderStyle getBorderTop()
+    public short getBorderTop()
+    {
+        return _format.getBorderTop();
+    }
+    /**
+     * get the type of border to use for the top border of the cell
+     * @return border type
+     * @since 3.15
+     */
+    @Override
+    public BorderStyle getBorderTopEnum()
     {
         return BorderStyle.valueOf(_format.getBorderTop());
     }
@@ -597,6 +639,7 @@ public final class HSSFCellStyle impleme
      * @see #BORDER_SLANTED_DASH_DOT
      * @deprecated 3.15 beta 2. Use {@link 
HSSFCellStyle#setBorderBottom(BorderStyle)} instead.
      */
+    @Removal(version="3.17")
     @Override
     public void setBorderBottom(short border)
     {
@@ -607,6 +650,7 @@ public final class HSSFCellStyle impleme
     /**
      * set the type of border to use for the bottom border of the cell
      * @param border type
+     * @since 3.15 beta 2
      */
     @Override
     public void setBorderBottom(BorderStyle border)
@@ -617,9 +661,20 @@ public final class HSSFCellStyle impleme
     /**
      * get the type of border to use for the bottom border of the cell
      * @return border type
+     * @deprecated POI 3.15. Will return a BorderStyle enum in the future. Use 
{@link #getBorderBottomEnum()}.
+     */
+    @Override
+    public short getBorderBottom()
+    {
+        return _format.getBorderBottom();
+    }
+    /**
+     * get the type of border to use for the bottom border of the cell
+     * @return border type
+     * @since 3.15
      */
     @Override
-    public BorderStyle getBorderBottom()
+    public BorderStyle getBorderBottomEnum()
     {
         return BorderStyle.valueOf(_format.getBorderBottom());
     }
@@ -733,6 +788,7 @@ public final class HSSFCellStyle impleme
      * @param fp  fill pattern (set to 1 to fill w/foreground color)
      * @deprecated POI 3.15 beta 3. Use {@link 
#setFillPattern(FillPatternType)} instead.
      */
+    @Removal(version="3.17")
     @Override
     public void setFillPattern(short fp)
     {

Modified: 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFClientAnchor.java
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFClientAnchor.java?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFClientAnchor.java
 (original)
+++ 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFClientAnchor.java
 Mon Sep 19 00:20:44 2016
@@ -21,6 +21,7 @@ import org.apache.poi.ddf.EscherClientAn
 import org.apache.poi.ddf.EscherRecord;
 import org.apache.poi.ss.SpreadsheetVersion;
 import org.apache.poi.ss.usermodel.ClientAnchor;
+import org.apache.poi.util.Removal;
 
 /**
  * A client anchor is attached to an excel worksheet.  It anchors against a
@@ -250,6 +251,7 @@ public final class HSSFClientAnchor exte
 
     /**
      * Gets the anchor type
+     * Changed from returning an int to an enum in POI 3.14 beta 1.
      * @return the anchor type
      */
     @Override
@@ -260,11 +262,22 @@ public final class HSSFClientAnchor exte
     /**
      * Sets the anchor type
      * @param anchorType the anchor type to set
+     * @since POI 3.14
      */
     @Override
     public void setAnchorType(AnchorType anchorType) {
         _escherClientAnchor.setFlag(anchorType.value);
     }
+    /**
+     * Sets the anchor type
+     * @param anchorType the anchor type to set
+     * @deprecated POI 3.15. Use {@link #setAnchorType(AnchorType)} instead.
+     */
+    @Removal(version="3.17")
+    @Override
+    public void setAnchorType(int anchorType) {
+        _escherClientAnchor.setFlag((short) anchorType);
+    }
 
     private void checkRange(int value, int minRange, int maxRange, String 
varName) {
         if (value < minRange || value > maxRange)

Modified: 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFCreationHelper.java
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFCreationHelper.java?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFCreationHelper.java
 (original)
+++ 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFCreationHelper.java
 Mon Sep 19 00:20:44 2016
@@ -21,6 +21,7 @@ import org.apache.poi.common.usermodel.H
 import org.apache.poi.hssf.record.common.ExtendedColor;
 import org.apache.poi.ss.usermodel.CreationHelper;
 import org.apache.poi.util.Internal;
+import org.apache.poi.util.Removal;
 
 public class HSSFCreationHelper implements CreationHelper {
     private final HSSFWorkbook workbook;
@@ -50,6 +51,7 @@ public class HSSFCreationHelper implemen
      * @deprecated POI 3.15 beta 3. Use {@link 
#createHyperlink(HyperlinkType)} instead.
      */
     @Deprecated
+    @Removal(version="3.17")
     @Override
     public HSSFHyperlink createHyperlink(int type) {
         return new HSSFHyperlink(type);

Modified: 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFEvaluationCell.java
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFEvaluationCell.java?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFEvaluationCell.java
 (original)
+++ 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFEvaluationCell.java
 Mon Sep 19 00:20:44 2016
@@ -55,6 +55,7 @@ final class HSSFEvaluationCell implement
         * For forwards compatibility, do not hard-code cell type literals in 
your code.
         *
         * @return cell type
+        * @deprecated 3.15. Will return a {@link CellType} enum in the future.
         */
        @Override
        public int getCellType() {
@@ -65,7 +66,6 @@ final class HSSFEvaluationCell implement
         * @deprecated POI 3.15 beta 3.
         * Will be deleted when we make the CellType enum transition. See bug 
59791.
         */
-       @Internal(since="POI 3.15 beta 3")
        @Override
        public CellType getCellTypeEnum() {
                return _cell.getCellTypeEnum();
@@ -99,6 +99,7 @@ final class HSSFEvaluationCell implement
         * For forwards compatibility, do not hard-code cell type literals in 
your code.
         *
         * @return cell type of cached formula result
+        * @deprecated 3.15. Will return a {@link CellType} enum in the future.
         */
        @Override
        public int getCachedFormulaResultType() {
@@ -109,7 +110,6 @@ final class HSSFEvaluationCell implement
         * @deprecated POI 3.15 beta 3.
         * Will be deleted when we make the CellType enum transition. See bug 
59791.
         */
-       @Internal(since="POI 3.15 beta 3")
        @Override
        public CellType getCachedFormulaResultTypeEnum() {
                return _cell.getCachedFormulaResultTypeEnum();

Modified: 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFFormulaEvaluator.java
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFFormulaEvaluator.java?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFFormulaEvaluator.java
 (original)
+++ 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFFormulaEvaluator.java
 Mon Sep 19 00:20:44 2016
@@ -30,11 +30,10 @@ import org.apache.poi.ss.formula.eval.St
 import org.apache.poi.ss.formula.eval.ValueEval;
 import org.apache.poi.ss.formula.udf.UDFFinder;
 import org.apache.poi.ss.usermodel.Cell;
-import org.apache.poi.ss.usermodel.CellType;
 import org.apache.poi.ss.usermodel.CellValue;
 import org.apache.poi.ss.usermodel.FormulaEvaluator;
+import org.apache.poi.ss.usermodel.RichTextString;
 import org.apache.poi.ss.usermodel.Workbook;
-import org.apache.poi.util.Internal;
 
 /**
  * Evaluates formula cells.<p/>
@@ -81,6 +80,11 @@ public class HSSFFormulaEvaluator extend
     public static HSSFFormulaEvaluator create(HSSFWorkbook workbook, 
IStabilityClassifier stabilityClassifier, UDFFinder udfFinder) {
         return new HSSFFormulaEvaluator(workbook, stabilityClassifier, 
udfFinder);
     }
+    
+    @Override
+    protected RichTextString createRichTextString(String str) {
+        return new HSSFRichTextString(str);
+    }
 
 
     /**
@@ -136,87 +140,10 @@ public class HSSFFormulaEvaluator extend
     public void notifySetFormula(Cell cell) {
         _bookEvaluator.notifyUpdateCell(new 
HSSFEvaluationCell((HSSFCell)cell));
     }
-
-    /**
-     * If cell contains formula, it evaluates the formula, and saves the 
result of the formula. The
-     * cell remains as a formula cell. If the cell does not contain formula, 
rather than throwing an
-     * exception, this method returns {@link CellType#_NONE} and leaves the 
cell unchanged.
-     *
-     * Note that the type of the <em>formula result</em> is returned, so you 
know what kind of
-     * cached formula result is also stored with  the formula.
-     * <pre>
-     * CellType evaluatedCellType = evaluator.evaluateFormulaCell(cell);
-     * </pre>
-     * Be aware that your cell will hold both the formula, and the result. If 
you want the cell
-     * replaced with the result of the formula, use {@link 
#evaluateInCell(org.apache.poi.ss.usermodel.Cell)}
-     * @param cell The cell to evaluate
-     * @return {@link CellType#_NONE} for non-formula cells, or the type of 
the <em>formula result</em>
-     * @since POI 3.15 beta 3
-     * @deprecated POI 3.15 beta 3. Will be deleted when we make the CellType 
enum transition. See bug 59791.
-     */
-    @Internal
-    @Override
-    public CellType evaluateFormulaCellEnum(Cell cell) {
-        if (cell == null || cell.getCellTypeEnum() != CellType.FORMULA) {
-            return CellType._NONE;
-        }
-        CellValue cv = evaluateFormulaCellValue(cell);
-        // cell remains a formula cell, but the cached value is changed
-        setCellValue(cell, cv);
-        return cv.getCellType();
-    }
-
-    /**
-     * If cell contains formula, it evaluates the formula, and
-     *  puts the formula result back into the cell, in place
-     *  of the old formula.
-     * Else if cell does not contain formula, this method leaves
-     *  the cell unchanged.
-     * Note that the same instance of HSSFCell is returned to
-     * allow chained calls like:
-     * <pre>
-     * int evaluatedCellType = evaluator.evaluateInCell(cell).getCellType();
-     * </pre>
-     * Be aware that your cell value will be changed to hold the
-     *  result of the formula. If you simply want the formula
-     *  value computed for you, use {@link #evaluateFormulaCellEnum(Cell)}}
-     */
+    
     @Override
     public HSSFCell evaluateInCell(Cell cell) {
-        if (cell == null) {
-            return null;
-        }
-        HSSFCell result = (HSSFCell) cell;
-        if (cell.getCellTypeEnum() == CellType.FORMULA) {
-            CellValue cv = evaluateFormulaCellValue(cell);
-            setCellValue(cell, cv);
-            setCellType(cell, cv); // cell will no longer be a formula cell
-        }
-        return result;
-    }
-
-    private static void setCellValue(Cell cell, CellValue cv) {
-        CellType cellType = cv.getCellType();
-        switch (cellType) {
-            case BOOLEAN:
-                cell.setCellValue(cv.getBooleanValue());
-                break;
-            case ERROR:
-                cell.setCellErrorValue(cv.getErrorValue());
-                break;
-            case NUMERIC:
-                cell.setCellValue(cv.getNumberValue());
-                break;
-            case STRING:
-                cell.setCellValue(new HSSFRichTextString(cv.getStringValue()));
-                break;
-            case BLANK:
-                // never happens - blanks eventually get translated to zero
-            case FORMULA:
-                // this will never happen, we have already evaluated the 
formula
-            default:
-                throw new IllegalStateException("Unexpected cell value type (" 
+ cellType + ")");
-        }
+        return (HSSFCell) super.evaluateInCell(cell);
     }
 
     /**

Modified: 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFHyperlink.java
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFHyperlink.java?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFHyperlink.java
 (original)
+++ 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/hssf/usermodel/HSSFHyperlink.java
 Mon Sep 19 00:20:44 2016
@@ -273,6 +273,8 @@ public class HSSFHyperlink implements Hy
      *
      * @return the type of this hyperlink
      * @see HyperlinkType#forInt
+     * @deprecated POI 3.15. Use {@link #getTypeEnum()} instead.
+     * getType will return a HyperlinkType enum in the future.
      */
     @Override
     public int getType() {

Modified: 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/poifs/nio/FileBackedDataSource.java
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/src/java/org/apache/poi/poifs/nio/FileBackedDataSource.java?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/poifs/nio/FileBackedDataSource.java
 (original)
+++ 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/poifs/nio/FileBackedDataSource.java
 Mon Sep 19 00:20:44 2016
@@ -94,6 +94,8 @@ public class FileBackedDataSource extend
       if (writable) {
           dst = channel.map(FileChannel.MapMode.READ_WRITE, position, length);
           worked = 0;
+          // remember the buffer for cleanup if necessary
+          buffersToClean.add(dst);  
       } else {
           // Read
           channel.position(position);
@@ -109,9 +111,6 @@ public class FileBackedDataSource extend
       // Ready it for reading
       dst.position(0);
 
-      // remember the buffer for cleanup if necessary
-      buffersToClean.add(dst);
-      
       // All done
       return dst;
    }

Modified: 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/sl/usermodel/SlideShow.java
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/src/java/org/apache/poi/sl/usermodel/SlideShow.java?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/sl/usermodel/SlideShow.java 
(original)
+++ 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/sl/usermodel/SlideShow.java 
Mon Sep 19 00:20:44 2016
@@ -83,6 +83,7 @@ public interface SlideShow<
      * @param format        The format of the picture.
      *
      * @return the picture data reference.
+     * @since 3.15 beta 1
      */
     PictureData addPicture(InputStream is, PictureType format) throws 
IOException;
 
@@ -93,6 +94,7 @@ public interface SlideShow<
      * @param format            The format of the picture.
      *
      * @return the picture data reference
+     * @since 3.15 beta 1
      */
     PictureData addPicture(File pict, PictureType format) throws IOException;
     
@@ -101,6 +103,7 @@ public interface SlideShow<
      * 
      * @param pictureData The picture data to find in the SlideShow
      * @return {@code null} if picture data is not found in this slideshow
+     * @since 3.15 beta 3
      */
     PictureData findPictureData(byte[] pictureData);
 

Modified: 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/format/CellFormat.java
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/format/CellFormat.java?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/format/CellFormat.java 
(original)
+++ 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/format/CellFormat.java 
Mon Sep 19 00:20:44 2016
@@ -35,7 +35,6 @@ import org.apache.poi.ss.usermodel.Condi
 import org.apache.poi.ss.usermodel.DataFormatter;
 import org.apache.poi.ss.usermodel.DateUtil;
 import org.apache.poi.ss.util.DateFormatConverter;
-import org.apache.poi.util.Internal;
 
 /**
  * Format a value according to the standard Excel behavior.  This "standard" is
@@ -44,28 +43,35 @@ import org.apache.poi.util.Internal;
  * <p/>
  * An Excel format has up to four parts, separated by semicolons.  Each part
  * specifies what to do with particular kinds of values, depending on the 
number
- * of parts given: <dl> <dt>One part (example: <tt>[Green]#.##</tt>) <dd>If the
- * value is a number, display according to this one part (example: green text,
- * with up to two decimal points). If the value is text, display it as is.
- * <dt>Two parts (example: <tt>[Green]#.##;[Red]#.##</tt>) <dd>If the value is 
a
- * positive number or zero, display according to the first part (example: green
+ * of parts given:
+ * <dl>
+ * <dt>One part (example: <tt>[Green]#.##</tt>)</dt>
+ * <dd>If the value is a number, display according to this one part (example: 
green text,
+ * with up to two decimal points). If the value is text, display it as is.</dd>
+ * 
+ * <dt>Two parts (example: <tt>[Green]#.##;[Red]#.##</tt>)</dt>
+ * <dd>If the value is a positive number or zero, display according to the 
first part (example: green
  * text, with up to two decimal points); if it is a negative number, display
  * according to the second part (example: red text, with up to two decimal
- * points). If the value is text, display it as is. <dt>Three parts (example:
- * <tt>[Green]#.##;[Black]#.##;[Red]#.##</tt>) <dd>If the value is a positive
+ * points). If the value is text, display it as is.</dd>
+ * 
+ * <dt>Three parts (example: <tt>[Green]#.##;[Black]#.##;[Red]#.##</tt>)</dt>
+ * <dd>If the value is a positive
  * number, display according to the first part (example: green text, with up to
  * two decimal points); if it is zero, display according to the second part
  * (example: black text, with up to two decimal points); if it is a negative
  * number, display according to the third part (example: red text, with up to
- * two decimal points). If the value is text, display it as is. <dt>Four parts
- * (example: <tt>[Green]#.##;[Black]#.##;[Red]#.##;[@]</tt>) <dd>If the value 
is
- * a positive number, display according to the first part (example: green text,
+ * two decimal points). If the value is text, display it as is.</dd>
+ * 
+ * <dt>Four parts (example: 
<tt>[Green]#.##;[Black]#.##;[Red]#.##;[@]</tt>)</dt>
+ * <dd>If the value is a positive number, display according to the first part 
(example: green text,
  * with up to two decimal points); if it is zero, display according to the
  * second part (example: black text, with up to two decimal points); if it is a
  * negative number, display according to the third part (example: red text, 
with
  * up to two decimal points). If the value is text, display according to the
  * fourth part (example: text in the cell's usual color, with the text value
- * surround by brackets). </dl>
+ * surround by brackets).</dd>
+ * </dl>
  * <p/>
  * A given format part may specify a given Locale, by including something
  *  like <tt>[$$-409]</tt> or <tt>[$&pound;-809]</tt> or <tt>[$-40C]</tt>. 
These
@@ -421,6 +427,7 @@ public class CellFormat {
      * @param cell The cell.
      *
      * @return The ultimate type of this cell.
+     * @deprecated POI 3.15. This will return a CellType enum in the future
      */
     public static int ultimateType(Cell cell) {
         return ultimateTypeEnum(cell).getCode();
@@ -439,7 +446,6 @@ public class CellFormat {
      * @deprecated POI 3.15 beta 3
      * Will be deleted when we make the CellType enum transition. See bug 
59791.
      */
-    @Internal(since="POI 3.15 beta 3")
     public static CellType ultimateTypeEnum(Cell cell) {
         CellType type = cell.getCellTypeEnum();
         if (type == CellType.FORMULA)

Modified: 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/BaseFormulaEvaluator.java
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/BaseFormulaEvaluator.java?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/BaseFormulaEvaluator.java
 (original)
+++ 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/BaseFormulaEvaluator.java
 Mon Sep 19 00:20:44 2016
@@ -23,6 +23,7 @@ import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.CellType;
 import org.apache.poi.ss.usermodel.CellValue;
 import org.apache.poi.ss.usermodel.FormulaEvaluator;
+import org.apache.poi.ss.usermodel.RichTextString;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
@@ -108,6 +109,37 @@ public abstract class BaseFormulaEvaluat
                 throw new IllegalStateException("Bad cell type (" + 
cell.getCellTypeEnum() + ")");
         }
     }
+    
+    /**
+     * If cell contains formula, it evaluates the formula, and
+     *  puts the formula result back into the cell, in place
+     *  of the old formula.
+     * Else if cell does not contain formula, this method leaves
+     *  the cell unchanged.
+     * Note that the same instance of HSSFCell is returned to
+     * allow chained calls like:
+     * <pre>
+     * int evaluatedCellType = evaluator.evaluateInCell(cell).getCellType();
+     * </pre>
+     * Be aware that your cell value will be changed to hold the
+     *  result of the formula. If you simply want the formula
+     *  value computed for you, use {@link #evaluateFormulaCellEnum(Cell)}}
+     * @param cell
+     * @return the {@code cell} that was passed in, allowing for chained calls
+     */
+    @Override
+    public Cell evaluateInCell(Cell cell) {
+        if (cell == null) {
+            return null;
+        }
+        Cell result = cell;
+        if (cell.getCellTypeEnum() == CellType.FORMULA) {
+            CellValue cv = evaluateFormulaCellValue(cell);
+            setCellValue(cell, cv);
+            setCellType(cell, cv); // cell will no longer be a formula cell
+        }
+        return result;
+    }
 
     protected abstract CellValue evaluateFormulaCellValue(Cell cell);
 
@@ -125,14 +157,47 @@ public abstract class BaseFormulaEvaluat
      * replaced with the result of the formula, use {@link 
#evaluateInCell(org.apache.poi.ss.usermodel.Cell)}
      * @param cell The cell to evaluate
      * @return -1 for non-formula cells, or the type of the <em>formula 
result</em>
+     * @deprecated 3.15. Will return a {@link CellType} enum in the future.
      */
     @Override
     public int evaluateFormulaCell(Cell cell) {
         return evaluateFormulaCellEnum(cell).getCode();
     }
+    
+    /**
+     * If cell contains formula, it evaluates the formula,
+     *  and saves the result of the formula. The cell
+     *  remains as a formula cell.
+     * Else if cell does not contain formula, this method leaves
+     *  the cell unchanged.
+     * Note that the type of the formula result is returned,
+     *  so you know what kind of value is also stored with
+     *  the formula.
+     * <pre>
+     * CellType evaluatedCellType = evaluator.evaluateFormulaCellEnum(cell);
+     * </pre>
+     * Be aware that your cell will hold both the formula,
+     *  and the result. If you want the cell replaced with
+     *  the result of the formula, use {@link 
#evaluate(org.apache.poi.ss.usermodel.Cell)} }
+     * @param cell The cell to evaluate
+     * @return The type of the formula result (the cell's type remains as 
CellType.FORMULA however)
+     *         If cell is not a formula cell, returns {@link CellType#_NONE} 
rather than throwing an exception.
+     * @since POI 3.15 beta 3
+     * @deprecated POI 3.15 beta 3. Will be deleted when we make the CellType 
enum transition. See bug 59791.
+     */
+    @Override
+    public CellType evaluateFormulaCellEnum(Cell cell) {
+        if (cell == null || cell.getCellTypeEnum() != CellType.FORMULA) {
+            return CellType._NONE;
+        }
+        CellValue cv = evaluateFormulaCellValue(cell);
+        // cell remains a formula cell, but the cached value is changed
+        setCellValue(cell, cv);
+        return cv.getCellTypeEnum();
+    }
 
     protected static void setCellType(Cell cell, CellValue cv) {
-        CellType cellType = cv.getCellType();
+        CellType cellType = cv.getCellTypeEnum();
         switch (cellType) {
             case BOOLEAN:
             case ERROR:
@@ -150,6 +215,33 @@ public abstract class BaseFormulaEvaluat
                 throw new IllegalStateException("Unexpected cell value type (" 
+ cellType + ")");
         }
     }
+    
+    protected abstract RichTextString createRichTextString(String str);
+    
+    protected void setCellValue(Cell cell, CellValue cv) {
+        CellType cellType = cv.getCellTypeEnum();
+        switch (cellType) {
+            case BOOLEAN:
+                cell.setCellValue(cv.getBooleanValue());
+                break;
+            case ERROR:
+                cell.setCellErrorValue(cv.getErrorValue());
+                break;
+            case NUMERIC:
+                cell.setCellValue(cv.getNumberValue());
+                break;
+            case STRING:
+                cell.setCellValue(createRichTextString(cv.getStringValue()));
+                break;
+            case BLANK:
+                // never happens - blanks eventually get translated to zero
+            case FORMULA:
+                // this will never happen, we have already evaluated the 
formula
+            default:
+                throw new IllegalStateException("Unexpected cell value type (" 
+ cellType + ")");
+        }
+    }
+    
 
     /**
      * Loops over all cells in all sheets of the supplied

Modified: 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/EvaluationCell.java
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/EvaluationCell.java?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/EvaluationCell.java
 (original)
+++ 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/EvaluationCell.java
 Mon Sep 19 00:20:44 2016
@@ -42,6 +42,7 @@ public interface EvaluationCell {
         * For forwards compatibility, do not hard-code cell type literals in 
your code.
         *
         * @return cell type
+        * @deprecated 3.15. Will return a {@link CellType} enum in the future.
         */
        int getCellType();
        /**
@@ -61,6 +62,7 @@ public interface EvaluationCell {
         * For forwards compatibility, do not hard-code cell type literals in 
your code.
         *
         * @return cell type of cached formula result
+        * @deprecated 3.15. Will return a {@link CellType} enum in the future.
         */
        int getCachedFormulaResultType();
        /**

Modified: 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/OperandClassTransformer.java
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/OperandClassTransformer.java?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/OperandClassTransformer.java
 (original)
+++ 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/OperandClassTransformer.java
 Mon Sep 19 00:20:44 2016
@@ -28,6 +28,7 @@ import org.apache.poi.ss.formula.ptg.Ptg
 import org.apache.poi.ss.formula.ptg.RangePtg;
 import org.apache.poi.ss.formula.ptg.UnionPtg;
 import org.apache.poi.ss.formula.ptg.ValueOperatorPtg;
+import org.apache.poi.util.Removal;
 
 /**
  * This class performs 'operand class' transformation. Non-base tokens are 
classified into three
@@ -59,7 +60,10 @@ final class OperandClassTransformer {
 
        private final FormulaType _formulaType;
 
-       /** @deprecated POI 3.15 beta 3. */
+       /**
+        * @deprecated POI 3.15 beta 3. Use {@code 
OperandClassTransformer(FormulaType)} instead.
+        */
+       @Removal(version="3.17")
        public OperandClassTransformer(int formulaType) {
                this(FormulaType.forInt(formulaType));
        }

Modified: 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/eval/forked/ForkedEvaluationCell.java
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/eval/forked/ForkedEvaluationCell.java?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/eval/forked/ForkedEvaluationCell.java
 (original)
+++ 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/eval/forked/ForkedEvaluationCell.java
 Mon Sep 19 00:20:44 2016
@@ -108,6 +108,7 @@ final class ForkedEvaluationCell impleme
         * For forwards compatibility, do not hard-code cell type literals in 
your code.
         *
         * @return cell type
+        * @deprecated 3.15. Will return a {@link CellType} enum in the future.
         */
        @Override
        public int getCellType() {
@@ -118,7 +119,6 @@ final class ForkedEvaluationCell impleme
         * @deprecated POI 3.15 beta 3.
         * Will be deleted when we make the CellType enum transition. See bug 
59791.
         */
-       @Internal(since="POI 3.15 beta 3")
        @Override
        public CellType getCellTypeEnum() {
                return _cellType;
@@ -160,6 +160,7 @@ final class ForkedEvaluationCell impleme
         * For forwards compatibility, do not hard-code cell type literals in 
your code.
         *
         * @return cell type of cached formula result
+        * @deprecated 3.15. Will return a {@link CellType} enum in the future.
         */
        @Override
        public int getCachedFormulaResultType() {
@@ -170,7 +171,6 @@ final class ForkedEvaluationCell impleme
         * @deprecated POI 3.15 beta 3.
         * Will be deleted when we make the CellType enum transition. See bug 
59791.
         */
-       @Internal(since="POI 3.15 beta 3")
        @Override
        public CellType getCachedFormulaResultTypeEnum() {
                return _masterCell.getCachedFormulaResultTypeEnum();

Modified: 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/functions/DGet.java
URL: 
http://svn.apache.org/viewvc/poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/functions/DGet.java?rev=1761376&r1=1761375&r2=1761376&view=diff
==============================================================================
--- 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/functions/DGet.java
 (original)
+++ 
poi/branches/hssf_cryptoapi/src/java/org/apache/poi/ss/formula/functions/DGet.java
 Mon Sep 19 00:20:44 2016
@@ -17,7 +17,10 @@
 
 package org.apache.poi.ss.formula.functions;
 
+import org.apache.poi.ss.formula.eval.BlankEval;
 import org.apache.poi.ss.formula.eval.ErrorEval;
+import org.apache.poi.ss.formula.eval.EvaluationException;
+import org.apache.poi.ss.formula.eval.OperandResolver;
 import org.apache.poi.ss.formula.eval.ValueEval;
 
 /**
@@ -46,8 +49,18 @@ public final class DGet implements IDSta
     public ValueEval getResult() {
         if(result == null) {
             return ErrorEval.VALUE_INVALID;
-        } else {
-            return result;
-        }
+        } else if(result instanceof BlankEval) {
+            return ErrorEval.VALUE_INVALID;
+        } else
+            try {
+                
if(OperandResolver.coerceValueToString(OperandResolver.getSingleValue(result, 
0, 0)).equals("")) {
+                    return ErrorEval.VALUE_INVALID;
+                }
+                else {
+                    return result;
+                }
+            } catch (EvaluationException e) {
+                return e.getErrorEval();
+            }
     }
 }



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

Reply via email to