See 
<https://ci-builds.apache.org/job/POI/job/POI-DSL-1.17/266/display/redirect?page=changes>

Changes:

[PJ Fanning] update changes

[PJ Fanning] [github-321] Fix issue with rounding in DataFormatter. First try 
broke a test.

[PJ Fanning] try to standardise div code

[PJ Fanning] [github-321] Fix issue with rounding in DataFormatter. Thanks to 
Colin Wang. This closes #321

[PJ Fanning] increase tolerance on rate test due to failures

[PJ Fanning] forbidden api issue


------------------------------------------
[...truncated 325.73 KB...]
M V EI: 
org.apache.poi.ss.formula.EvaluationConditionalFormatRule.getFormatting() may 
expose internal representation by returning 
EvaluationConditionalFormatRule.formatting  At 
EvaluationConditionalFormatRule.java:[line 158]
M V EI2: new 
org.apache.poi.ss.formula.EvaluationConditionalFormatRule(WorkbookEvaluator, 
Sheet, ConditionalFormatting, int, ConditionalFormattingRule, int, 
CellRangeAddress[]) may expose internal representation by storing an externally 
mutable object into EvaluationConditionalFormatRule.regions  At 
EvaluationConditionalFormatRule.java:[line 122]
M V EI: 
org.apache.poi.poifs.crypt.agile.KeyEncryptor.getCertificateKeyEncryptor() may 
expose internal representation by returning 
KeyEncryptor.certificateKeyEncryptor  At KeyEncryptor.java:[line 75]
M V EI: org.apache.poi.poifs.crypt.agile.KeyEncryptor.getPasswordKeyEncryptor() 
may expose internal representation by returning 
KeyEncryptor.passwordKeyEncryptor  At KeyEncryptor.java:[line 67]
M V EI2: 
org.apache.poi.poifs.crypt.agile.KeyEncryptor.setCertificateKeyEncryptor(CertificateKeyEncryptor)
 may expose internal representation by storing an externally mutable object 
into KeyEncryptor.certificateKeyEncryptor  At KeyEncryptor.java:[line 79]
M V EI2: 
org.apache.poi.poifs.crypt.agile.KeyEncryptor.setPasswordKeyEncryptor(PasswordKeyEncryptor)
 may expose internal representation by storing an externally mutable object 
into KeyEncryptor.passwordKeyEncryptor  At KeyEncryptor.java:[line 71]
M B NP: org.apache.poi.ss.formula.functions.Countif.parseBoolean(String) has 
Boolean return type and returns explicit null  At Countif.java:[line 554]
M V EI2: org.apache.poi.hssf.record.OldStringRecord.setCodePage(CodepageRecord) 
may expose internal representation by storing an externally mutable object into 
OldStringRecord.codepage  At OldStringRecord.java:[line 73]
M V EI: 
org.apache.poi.poifs.crypt.agile.AgileEncryptionHeader.getEncryptedHmacKey() 
may expose internal representation by returning 
AgileEncryptionHeader.encryptedHmacKey  At AgileEncryptionHeader.java:[line 112]
M V EI: 
org.apache.poi.poifs.crypt.agile.AgileEncryptionHeader.getEncryptedHmacValue() 
may expose internal representation by returning 
AgileEncryptionHeader.encryptedHmacValue  At AgileEncryptionHeader.java:[line 
120]
M V EI: org.apache.poi.ss.formula.BaseFormulaEvaluator._getWorkbookEvaluator() 
may expose internal representation by returning 
BaseFormulaEvaluator._bookEvaluator  At BaseFormulaEvaluator.java:[line 63]
M V EI2: new org.apache.poi.hssf.record.SupBookRecord(String, String[]) may 
expose internal representation by storing an externally mutable object into 
SupBookRecord.field_3_sheet_names  At SupBookRecord.java:[line 77]
M D SF: Switch statement found in 
org.apache.poi.ss.formula.functions.LookupUtils.lookupIndexOfValue(LookupUtils$LookupValueComparer,
 LookupUtils$ValueVector, LookupUtils$MatchMode, boolean) where default case is 
missing  At LookupUtils.java:[lines 710-734]
M D SF: Switch statement found in 
org.apache.poi.ss.formula.functions.LookupUtils.binarySearchIndexOfValue(LookupUtils$LookupValueComparer,
 LookupUtils$ValueVector, LookupUtils$MatchMode, boolean) where default case is 
missing  At LookupUtils.java:[lines 761-785]
M V EI: org.apache.poi.hssf.usermodel.HSSFChart$HSSFSeries.getDataName() may 
expose internal representation by returning HSSFChart$HSSFSeries.dataName  At 
HSSFChart.java:[line 1033]
M V EI: org.apache.poi.hssf.usermodel.HSSFChart$HSSFSeries.getSeries() may 
expose internal representation by returning HSSFChart$HSSFSeries.series  At 
HSSFChart.java:[line 1061]
M V EI: org.apache.poi.hssf.usermodel.HSSFChart$HSSFSeries.getDataValues() may 
expose internal representation by returning HSSFChart$HSSFSeries.dataValues  At 
HSSFChart.java:[line 1040]
M V EI: 
org.apache.poi.hssf.usermodel.HSSFChart$HSSFSeries.getDataSecondaryCategoryLabels()
 may expose internal representation by returning 
HSSFChart$HSSFSeries.dataSecondaryCategoryLabels  At HSSFChart.java:[line 1054]
M V EI: 
org.apache.poi.hssf.usermodel.HSSFChart$HSSFSeries.getDataCategoryLabels() may 
expose internal representation by returning 
HSSFChart$HSSFSeries.dataCategoryLabels  At HSSFChart.java:[line 1047]
M V EI2: new org.apache.poi.hssf.usermodel.EscherGraphics(HSSFShapeGroup, 
HSSFWorkbook, Color, float) may expose internal representation by storing an 
externally mutable object into EscherGraphics.escherGroup  At 
EscherGraphics.java:[line 82]
M V EI2: new org.apache.poi.hssf.usermodel.EscherGraphics(HSSFShapeGroup, 
HSSFWorkbook, Color, float) may expose internal representation by storing an 
externally mutable object into EscherGraphics.workbook  At 
EscherGraphics.java:[line 83]
M V EI: org.apache.poi.hssf.extractor.ExcelExtractor.getFilesystem() may expose 
internal representation by returning ExcelExtractor._wb  At 
ExcelExtractor.java:[line 434]
M V EI: org.apache.poi.hssf.extractor.ExcelExtractor.getDocument() may expose 
internal representation by returning ExcelExtractor._wb  At 
ExcelExtractor.java:[line 419]
M V EI2: new org.apache.poi.hssf.extractor.ExcelExtractor(HSSFWorkbook) may 
expose internal representation by storing an externally mutable object into 
ExcelExtractor._wb  At ExcelExtractor.java:[line 67]
M B Nm: The class name org.apache.poi.hssf.extractor.ExcelExtractor shadows the 
simple name of implemented interface org.apache.poi.ss.extractor.ExcelExtractor 
 At ExcelExtractor.java:[lines 56-434]

> Task :poi:spotbugsTest
M D DB: org.apache.poi.ss.usermodel.BaseTestCell.checkUnicodeValues(Workbook) 
uses the same code for two branches  At BaseTestCell.java:[line 936]
M C RCN: Nullcheck of wb at line 233 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestSheetShiftRows.testShiftWithNames()  At 
BaseTestSheetShiftRows.java:[line 233]
M C RCN: Nullcheck of wb at line 741 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestSheetShiftRows.checkMergedRegions56454()  
At BaseTestSheetShiftRows.java:[line 741]
M C RCN: Nullcheck of wb at line 481 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestSheetShiftRows.test47169()  At 
BaseTestSheetShiftRows.java:[line 481]
M C RCN: Nullcheck of wb at line 412 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestSheetShiftRows.testShiftSharedFormulasBug54206()
  At BaseTestSheetShiftRows.java:[line 412]
M C RCN: Nullcheck of wb at line 619 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestSheetShiftRows.shiftMergedRowsToMergedRowsUp()
  At BaseTestSheetShiftRows.java:[line 619]
M C RCN: Nullcheck of wb at line 719 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestSheetShiftRows.test61840_shifting_rows_up_does_not_produce_REF_errors()
  At BaseTestSheetShiftRows.java:[line 719]
M C RCN: Nullcheck of wb at line 696 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestSheetShiftRows.shiftMergedRowsToMergedRowsDown()
  At BaseTestSheetShiftRows.java:[line 696]
M C RCN: Nullcheck of wb at line 122 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestSheetShiftRows.testShiftRow()  At 
BaseTestSheetShiftRows.java:[line 122]
M C RCN: Nullcheck of wb at line 586 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestSheetShiftRows.shiftRowsWithMergedRegionsThatDoNotContainColumnZero()
  At BaseTestSheetShiftRows.java:[line 586]
M C RCN: Nullcheck of wb1 at line 150 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestSheetShiftRows.testShiftWithComments()  At 
BaseTestSheetShiftRows.java:[line 150]
M C RCN: Nullcheck of wb2 at line 190 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestSheetShiftRows.testShiftWithComments()  At 
BaseTestSheetShiftRows.java:[line 190]
M C RCN: Nullcheck of wb at line 136 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestSheetShiftRows.testShiftRowBreaks()  At 
BaseTestSheetShiftRows.java:[line 136]
M C RCN: Nullcheck of w at line 469 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestSheetShiftRows.testBug55280()  At 
BaseTestSheetShiftRows.java:[line 469]
M C RCN: Nullcheck of wb at line 277 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestSheetShiftRows.testShiftWithMergedRegions() 
 At BaseTestSheetShiftRows.java:[line 277]
M C RCN: Nullcheck of wb at line 296 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestSheetShiftRows.shiftWithMergedRegions_bug56454()
  At BaseTestSheetShiftRows.java:[line 296]
M C RCN: Nullcheck of wb at line 662 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestSheetShiftRows.bug60384ShiftMergedRegion()  
At BaseTestSheetShiftRows.java:[line 662]
M C RCN: Nullcheck of read at line 545 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestSheetShiftRows.testBug46742_52903_shiftHyperlinks()
  At BaseTestSheetShiftRows.java:[line 545]
M C RCN: Nullcheck of wb at line 496 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestSheetShiftRows.testBug46742_52903_shiftHyperlinks()
  At BaseTestSheetShiftRows.java:[line 496]
M C RCN: Nullcheck of wb2 at line 71 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestSheetShiftRows.testShiftRows()  At 
BaseTestSheetShiftRows.java:[line 71]
M C RCN: Nullcheck of wb5 at line 102 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestSheetShiftRows.testShiftRows()  At 
BaseTestSheetShiftRows.java:[line 102]
M C RCN: Nullcheck of wb4 at line 97 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestSheetShiftRows.testShiftRows()  At 
BaseTestSheetShiftRows.java:[line 97]
M C RCN: Nullcheck of wb3 at line 84 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestSheetShiftRows.testShiftRows()  At 
BaseTestSheetShiftRows.java:[line 84]
M C RCN: Nullcheck of wb1 at line 62 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestSheetShiftRows.testShiftRows()  At 
BaseTestSheetShiftRows.java:[line 62]
M C RCN: Nullcheck of wb at line 341 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestSheetShiftRows.testShiftWithFormulas()  At 
BaseTestSheetShiftRows.java:[line 341]
M C RCN: Nullcheck of wb at line 641 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestSheetShiftRows.shiftMergedRowsToMergedRowsOverlappingMergedRegion()
  At BaseTestSheetShiftRows.java:[line 641]
M B OS: 
org.apache.poi.sl.usermodel.BaseTestSlideShowFactory.readExternalFile(String) 
may fail to close stream  At BaseTestSlideShowFactory.java:[line 136]
M C RCN: Nullcheck of wb at line 879 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.createDrawing()  At 
BaseTestWorkbook.java:[line 879]
M C RCN: Nullcheck of wb at line 742 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.changeSheetNameWithSharedFormulas()
  At BaseTestWorkbook.java:[line 742]
M C RCN: Nullcheck of wb at line 54 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.sheetIterator_forEach()  At 
BaseTestWorkbook.java:[line 54]
M C RCN: Nullcheck of wb at line 73 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.sheetIterator_sheetsReordered()  
At BaseTestWorkbook.java:[line 73]
M C RCN: Nullcheck of wb2 at line 579 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.unicodeInAll()  At 
BaseTestWorkbook.java:[line 579]
M C RCN: Nullcheck of wb1 at line 543 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.unicodeInAll()  At 
BaseTestWorkbook.java:[line 543]
M C RCN: Nullcheck of workbook at line 348 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.printArea()  At 
BaseTestWorkbook.java:[line 348]
M C RCN: Nullcheck of wb at line 864 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.addSheetTwice()  At 
BaseTestWorkbook.java:[line 864]
M C RCN: Nullcheck of wb1 at line 485 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.parentReferences()  At 
BaseTestWorkbook.java:[line 485]
M C RCN: Nullcheck of wb2 at line 497 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.parentReferences()  At 
BaseTestWorkbook.java:[line 497]
M C RCN: Nullcheck of b at line 335 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.sheetSelection()  At 
BaseTestWorkbook.java:[line 335]
M C RCN: Nullcheck of wb at line 134 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.createSheet()  At 
BaseTestWorkbook.java:[line 134]
M C RCN: Nullcheck of wb2 at line 207 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.createSheet()  At 
BaseTestWorkbook.java:[line 207]
M C RCN: Nullcheck of b at line 325 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.defaultValues()  At 
BaseTestWorkbook.java:[line 325]
M C RCN: Nullcheck of b at line 821 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.sheetClone()  At 
BaseTestWorkbook.java:[line 821]
M C RCN: Nullcheck of workbook at line 261 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.removeSheetAt()  At 
BaseTestWorkbook.java:[line 261]
M C RCN: Nullcheck of workbook at line 369 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.getSetActiveSheet()  At 
BaseTestWorkbook.java:[line 369]
M C RCN: Nullcheck of workbook at line 779 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.test58499()  At 
BaseTestWorkbook.java:[line 779]
M C RCN: Nullcheck of wb at line 839 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.getSheetIndex()  At 
BaseTestWorkbook.java:[line 839]
M C RCN: Nullcheck of book at line 456 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.cloneSheet()  At 
BaseTestWorkbook.java:[line 456]
M C RCN: Nullcheck of wb at line 122 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.sheetIterator_remove()  At 
BaseTestWorkbook.java:[line 122]
M C RCN: Nullcheck of workbook at line 922 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.testSheetNameTrimming()  At 
BaseTestWorkbook.java:[line 922]
M C RCN: Nullcheck of wbr at line 431 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.setSheetOrder()  At 
BaseTestWorkbook.java:[line 431]
M C RCN: Nullcheck of wb at line 394 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.setSheetOrder()  At 
BaseTestWorkbook.java:[line 394]
M C RCN: Nullcheck of wb1 at line 229 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.createSheetWithLongNames()  At 
BaseTestWorkbook.java:[line 229]
M C RCN: Nullcheck of wb2 at line 251 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.createSheetWithLongNames()  At 
BaseTestWorkbook.java:[line 251]
M C RCN: Nullcheck of wb at line 98 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.sheetIterator_sheetRemoved()  At 
BaseTestWorkbook.java:[line 98]
M C RCN: Nullcheck of b at line 795 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.windowOneDefaults()  At 
BaseTestWorkbook.java:[line 795]
M C RCN: Nullcheck of wb at line 310 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.testSetActiveCell()  At 
BaseTestWorkbook.java:[line 310]
M C RCN: Nullcheck of wb at line 522 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.setRepeatingRowsAndColumns()  At 
BaseTestWorkbook.java:[line 522]
M C RCN: Nullcheck of wb2 at line 707 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.setSheetName()  At 
BaseTestWorkbook.java:[line 707]
M C RCN: Nullcheck of wb at line 804 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestWorkbook.getSpreadsheetVersion()  At 
BaseTestWorkbook.java:[line 804]
M X OBL: 
org.apache.poi.hssf.usermodel.TestHSSFWorkbook.writeAndCloseWorkbook(Workbook, 
File) may fail to clean up java.io.OutputStream on checked exception  
Obligation to clean up resource created at TestHSSFWorkbook.java:[line 1084] is 
not discharged
M C RCN: Nullcheck of wb at line 204 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestPicture.bug64213Helper(int, int, int)  At 
BaseTestPicture.java:[line 204]
M C RCN: Nullcheck of wb at line 66 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestPicture.resize()  At 
BaseTestPicture.java:[line 66]
M C RCN: Nullcheck of wb at line 120 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestPicture.testResizeWithColumns()  At 
BaseTestPicture.java:[line 120]
M C RCN: Nullcheck of wb at line 109 of value previously dereferenced in 
org.apache.poi.ss.usermodel.BaseTestPicture.testResizeNoColumns()  At 
BaseTestPicture.java:[line 109]
M D SF: Switch statement found in 
org.apache.poi.ss.formula.functions.BaseTestFunctionsFromSpreadsheet.processFunctionRow(String,
 String, HSSFSheet, int, HSSFFormulaEvaluator, int) where one case falls 
through to the next case  At BaseTestFunctionsFromSpreadsheet.java:[lines 
175-177]
M D RV: Return value of HSSFShapeGroup.getShapeId() ignored, but method has no 
side effect  At TestShapeGroup.java:[line 224]
M B OS: 
org.apache.poi.ss.util.NumberRenderingSpreadsheetGenerator.interpretLong(byte[],
 int) may fail to close stream  At 
NumberRenderingSpreadsheetGenerator.java:[line 216]
M D DLS: Dead store to ish in 
org.apache.poi.hssf.usermodel.TestHSSFPicture.bsePictureRef()  At 
TestHSSFPicture.java:[line 178]
M D DLS: Dead store to p1 in 
org.apache.poi.hssf.usermodel.TestHSSFPicture.bsePictureRef()  At 
TestHSSFPicture.java:[line 184]
M X OBL: org.apache.poi.util.TestTempFile.testCreateTempFile() may fail to 
clean up java.io.OutputStream on checked exception  Obligation to clean up 
resource created at TestTempFile.java:[line 92] is not discharged
M D NP: Dereference of the result of readLine() without nullcheck in 
org.apache.poi.ss.usermodel.TestFractionFormat.testTruthFile()  At 
TestFractionFormat.java:[line 90]
M B OS: org.apache.poi.hssf.record.TestSSTRecord.concatHexDumps(String[]) may 
fail to close stream  At TestSSTRecord.java:[line 52]
M B OS: org.apache.poi.hssf.record.TestSSTRecord.concatHexDumps(String[]) may 
fail to close stream  At TestSSTRecord.java:[line 55]
M P WMI: 
org.apache.poi.hssf.usermodel.TestHSSFPalette.compareToDefaults(TestHSSFPalette$ColorComparator)
 makes inefficient use of keySet iterator instead of entrySet iterator  At 
TestHSSFPalette.java:[line 267]
M D NP: Possible null pointer dereference in 
org.apache.poi.hpsf.basic.TestReadAllFiles.files() due to return value of 
called method  Method invoked at TestReadAllFiles.java:[line 60]
M D RV: Return value of org.apache.poi.hpsf.PropertySet.getByteOrder() ignored, 
but method has no side effect  At TestReadAllFiles.java:[line 159]
M B OS: org.apache.poi.hssf.model.TestDrawingAggregate.testIncompleteData() may 
fail to close stream  At TestDrawingAggregate.java:[line 219]
M B OS: org.apache.poi.hssf.model.TestDrawingAggregate.toByteArray(List) may 
fail to close stream  At TestDrawingAggregate.java:[line 245]
M B OS: org.apache.poi.hssf.model.TestEscherRecordFactory.toByteArray(List) may 
fail to close stream  At TestEscherRecordFactory.java:[line 42]
M C DMI: BigDecimal constructed from 15.3 in 
org.apache.poi.ss.formula.ptg.TestExternalNameReference.testEvaluate()  At 
TestExternalNameReference.java:[line 128]
M B Nm: Class org.apache.poi.poifs.filesystem.TestNotOLE2Exception is not 
derived from an Exception, even though it is named as such  At 
TestNotOLE2Exception.java:[lines 36-78]
M C RCN: Nullcheck of show2 at line 129 of value previously dereferenced in 
org.apache.poi.sl.usermodel.BaseTestSlideShow.addTabStops()  At 
BaseTestSlideShow.java:[line 129]
M C RCN: Nullcheck of show1 at line 104 of value previously dereferenced in 
org.apache.poi.sl.usermodel.BaseTestSlideShow.addTabStops()  At 
BaseTestSlideShow.java:[line 104]
M B CNT: Rough value of Math.PI found: 3.14  At 
TestWorkbookEvaluator.java:[line 301]
M D DLS: Dead store to cellB1 in 
org.apache.poi.ss.formula.TestWorkbookEvaluator.testRefToBlankCellInArrayFormula()
  At TestWorkbookEvaluator.java:[line 613]
M B Nm: Class org.apache.poi.poifs.filesystem.TestOfficeXMLException is not 
derived from an Exception, even though it is named as such  At 
TestOfficeXMLException.java:[lines 38-125]
M D SF: Switch statement found in 
org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet.processFunctionRow(String,
 int, int) where one case falls through to the next case  At 
TestFormulasFromSpreadsheet.java:[lines 198-200]
M X OBL: org.apache.poi.hssf.usermodel.TestFormulaEvaluatorBugs.test44636() may 
fail to clean up java.io.OutputStream on checked exception  Obligation to clean 
up resource created at TestFormulaEvaluatorBugs.java:[line 96] is not discharged
M X OBL: 
org.apache.poi.hssf.usermodel.TestFormulaEvaluatorBugs.test55747_55324() may 
fail to clean up java.io.OutputStream on checked exception  Obligation to clean 
up resource created at TestFormulaEvaluatorBugs.java:[line 556] is not 
discharged
M D DLS: Dead store to hour in 
org.apache.poi.hssf.usermodel.TestFormulas.testDateFormulas()  At 
TestFormulas.java:[line 639]
M C RCN: Nullcheck of wbBack2 at line 207 of value previously dereferenced in 
org.apache.poi.hssf.usermodel.TestHSSFCell.testActiveCellBug56114()  At 
TestHSSFCell.java:[line 207]
M C RCN: Nullcheck of wbBack at line 198 of value previously dereferenced in 
org.apache.poi.hssf.usermodel.TestHSSFCell.testActiveCellBug56114()  At 
TestHSSFCell.java:[line 198]
M C RCN: Nullcheck of wb at line 376 of value previously dereferenced in 
org.apache.poi.hssf.usermodel.TestHSSFCell.testCellType()  At 
TestHSSFCell.java:[line 376]
M D RV: Return value of POIFSMiniStore.getBATBlockAndIndex(int) ignored, but 
method has no side effect  At TestPOIFSMiniStore.java:[line 250]
M B FS: Format string should use %n rather than \n in 
org.apache.poi.hssf.dev.TestFormulaViewer.parseFormulaRecord(FormulaRecord)  At 
TestFormulaViewer.java:[line 110]
M D RV: Return value of POIFSFileSystem.getBATBlockAndIndex(int) ignored, but 
method has no side effect  At TestPOIFSStream.java:[line 1231]
M D RV: Return value of POIFSMiniStore.getBATBlockAndIndex(int) ignored, but 
method has no side effect  At TestPOIFSStream.java:[line 1273]
M D RV: Return value of POIFSMiniStore.getBATBlockAndIndex(int) ignored, but 
method has no side effect  At TestPOIFSStream.java:[line 1336]
M D RV: Return value of POIFSFileSystem.getBATBlockAndIndex(int) ignored, but 
method has no side effect  At TestPOIFSStream.java:[line 1293]
M D RV: Return value of POIFSFileSystem.getBATBlockAndIndex(int) ignored, but 
method has no side effect  At TestPOIFSStream.java:[line 1625]
M D RV: Return value of POIFSFileSystem.getBATBlockAndIndex(int) ignored, but 
method has no side effect  At TestPOIFSStream.java:[line 1608]
M D RV: Return value of POIFSFileSystem.getBATBlockAndIndex(int) ignored, but 
method has no side effect  At TestPOIFSStream.java:[line 1598]
M D RV: Return value of POIFSFileSystem.getBATBlockAndIndex(int) ignored, but 
method has no side effect  At TestPOIFSStream.java:[line 1577]
M D RV: Return value of POIFSFileSystem.getBATBlockAndIndex(int) ignored, but 
method has no side effect  At TestPOIFSStream.java:[line 1559]
M D RV: Return value of POIFSFileSystem.getBATBlockAndIndex(int) ignored, but 
method has no side effect  At TestPOIFSStream.java:[line 1532]
M D RV: Return value of POIFSMiniStore.getBATBlockAndIndex(int) ignored, but 
method has no side effect  At TestPOIFSStream.java:[line 1339]
M D RV: Return value of POIFSFileSystem.getBATBlockAndIndex(int) ignored, but 
method has no side effect  At TestPOIFSStream.java:[line 1295]
M D RV: Return value of POIFSMiniStore.getBATBlockAndIndex(int) ignored, but 
method has no side effect  At TestPOIFSStream.java:[line 1275]
M D RV: Return value of POIFSFileSystem.getBATBlockAndIndex(int) ignored, but 
method has no side effect  At TestPOIFSStream.java:[line 1233]
M P SIC: Should org.apache.poi.ss.formula.atp.TestWorkdayFunction$MockAreaEval 
be a _static_ inner class?  At TestWorkdayFunction.java:[lines 179-211]
M P SS: Unread field: org.apache.poi.hssf.dev.TestFormulaViewer.doListFormula; 
should this field be static?  At TestFormulaViewer.java:[line 50]
M D UrF: Unread public/protected field: 
org.apache.poi.ss.usermodel.BaseTestRangeCopier.testDataProvider  At 
TestHSSFRangeCopier.java:[line 32]
M P SIC: Should 
org.apache.poi.ss.formula.atp.TestWorkdayIntlFunction$MockAreaEval be a 
_static_ inner class?  At TestWorkdayIntlFunction.java:[lines 211-243]
M P SS: Unread field: 
org.apache.poi.hssf.usermodel.TestNonStandardWorkbookStreamNames.xlsB; should 
this field be static?  At TestNonStandardWorkbookStreamNames.java:[line 38]
M P UrF: Unread field: org.apache.poi.hssf.record.TestTableRecord.header  At 
TestTableRecord.java:[line 32]
M P SS: Unread field: 
org.apache.poi.hssf.usermodel.TestNonStandardWorkbookStreamNames.xlsA; should 
this field be static?  At TestNonStandardWorkbookStreamNames.java:[line 37]
SpotBugs ended with exit code 1

> Task :poi:spotbugsMain
M V EI: org.apache.poi.hpsf.extractor.HPSFPropertiesExtractor.getDocument() may 
expose internal representation by returning HPSFPropertiesExtractor.document  
At HPSFPropertiesExtractor.java:[line 144]
M V EI: org.apache.poi.hpsf.extractor.HPSFPropertiesExtractor.getFilesystem() 
may expose internal representation by returning 
HPSFPropertiesExtractor.document  At HPSFPropertiesExtractor.java:[line 159]
M V EI2: new org.apache.poi.hpsf.extractor.HPSFPropertiesExtractor(POIDocument) 
may expose internal representation by storing an externally mutable object into 
HPSFPropertiesExtractor.document  At HPSFPropertiesExtractor.java:[line 46]
M V EI2: new org.apache.poi.ss.usermodel.RangeCopier(Sheet, Sheet) may expose 
internal representation by storing an externally mutable object into 
RangeCopier.destSheet  At RangeCopier.java:[line 38]
M V EI2: new org.apache.poi.ss.usermodel.RangeCopier(Sheet, Sheet) may expose 
internal representation by storing an externally mutable object into 
RangeCopier.sourceSheet  At RangeCopier.java:[line 37]
M V EI2: org.apache.poi.hssf.record.OldSheetRecord.setCodePage(CodepageRecord) 
may expose internal representation by storing an externally mutable object into 
OldSheetRecord.codepage  At OldSheetRecord.java:[line 70]
M C SA: Self comparison of CellDateFormatter.EXCEL_EPOCH_CAL with itself in 
org.apache.poi.ss.format.CellDateFormatter.simpleValue(StringBuffer, Object)  
At CellDateFormatter.java:[line 246]
M V EI2: org.apache.poi.hssf.record.OldLabelRecord.setCodePage(CodepageRecord) 
may expose internal representation by storing an externally mutable object into 
OldLabelRecord.codepage  At OldLabelRecord.java:[line 71]
M V EI: org.apache.poi.ddf.EscherTextboxRecord.getData() may expose internal 
representation by returning EscherTextboxRecord.thedata  At 
EscherTextboxRecord.java:[line 107]
M V EI2: new org.apache.poi.hssf.record.UserSViewEnd(byte[]) may expose 
internal representation by storing an externally mutable object into 
UserSViewEnd._rawData  At UserSViewEnd.java:[line 40]
M V EI: org.apache.poi.common.usermodel.fonts.FontHeader.getPanose() may expose 
internal representation by returning FontHeader.panose  At 
FontHeader.java:[line 290]
M D DLS: Dead store to reserved4 in 
org.apache.poi.common.usermodel.fonts.FontHeader.init(LittleEndianInput)  At 
FontHeader.java:[line 174]
M D DLS: Dead store to reserved3 in 
org.apache.poi.common.usermodel.fonts.FontHeader.init(LittleEndianInput)  At 
FontHeader.java:[line 173]
M D DLS: Dead store to reserved2 in 
org.apache.poi.common.usermodel.fonts.FontHeader.init(LittleEndianInput)  At 
FontHeader.java:[line 172]
M D DLS: Dead store to reserved1 in 
org.apache.poi.common.usermodel.fonts.FontHeader.init(LittleEndianInput)  At 
FontHeader.java:[line 171]
M V EI: org.apache.poi.ddf.EscherClientDataRecord.getRemainingData() may expose 
internal representation by returning EscherClientDataRecord.remainingData  At 
EscherClientDataRecord.java:[line 114]
M V EI: 
org.apache.poi.ss.formula.DataValidationEvaluator$DataValidationContext.getValidation()
 may expose internal representation by returning 
DataValidationEvaluator$DataValidationContext.dv  At 
DataValidationEvaluator.java:[line 540]
M V EI2: new 
org.apache.poi.ss.formula.DataValidationEvaluator$DataValidationContext(DataValidation,
 DataValidationEvaluator, CellRangeAddressBase, CellReference) may expose 
internal representation by storing an externally mutable object into 
DataValidationEvaluator$DataValidationContext.dve  At 
DataValidationEvaluator.java:[line 532]
M V EI2: new 
org.apache.poi.ss.formula.DataValidationEvaluator$DataValidationContext(DataValidation,
 DataValidationEvaluator, CellRangeAddressBase, CellReference) may expose 
internal representation by storing an externally mutable object into 
DataValidationEvaluator$DataValidationContext.dv  At 
DataValidationEvaluator.java:[line 531]
M V EI: 
org.apache.poi.ss.formula.DataValidationEvaluator$DataValidationContext.getRegion()
 may expose internal representation by returning 
DataValidationEvaluator$DataValidationContext.region  At 
DataValidationEvaluator.java:[line 552]
M V EI2: new 
org.apache.poi.ss.formula.DataValidationEvaluator$DataValidationContext(DataValidation,
 DataValidationEvaluator, CellRangeAddressBase, CellReference) may expose 
internal representation by storing an externally mutable object into 
DataValidationEvaluator$DataValidationContext.target  At 
DataValidationEvaluator.java:[line 534]
M V EI2: new 
org.apache.poi.ss.formula.DataValidationEvaluator$DataValidationContext(DataValidation,
 DataValidationEvaluator, CellRangeAddressBase, CellReference) may expose 
internal representation by storing an externally mutable object into 
DataValidationEvaluator$DataValidationContext.region  At 
DataValidationEvaluator.java:[line 533]
M V EI: 
org.apache.poi.ss.formula.DataValidationEvaluator$DataValidationContext.getEvaluator()
 may expose internal representation by returning 
DataValidationEvaluator$DataValidationContext.dve  At 
DataValidationEvaluator.java:[line 546]
M V EI: 
org.apache.poi.ss.formula.DataValidationEvaluator$DataValidationContext.getTarget()
 may expose internal representation by returning 
DataValidationEvaluator$DataValidationContext.target  At 
DataValidationEvaluator.java:[line 558]
M V EI2: new org.apache.poi.sl.draw.SLGraphics(GroupShape) may expose internal 
representation by storing an externally mutable object into SLGraphics._group  
At SLGraphics.java:[line 77]
M V EI: org.apache.poi.sl.draw.SLGraphics.getShapeGroup() may expose internal 
representation by returning SLGraphics._group  At SLGraphics.java:[line 92]
M V EI: org.apache.poi.sl.draw.SLGraphics.getRenderingHints() may expose 
internal representation by returning SLGraphics._hints  At 
SLGraphics.java:[line 1556]
M V EI: org.apache.poi.hpsf.Array.getValues() may expose internal 
representation by returning Array._values  At Array.java:[line 102]
M V EI2: new org.apache.poi.hssf.usermodel.EscherGraphics2d(EscherGraphics) may 
expose internal representation by storing an externally mutable object into 
EscherGraphics2d._escherGraphics  At EscherGraphics2d.java:[line 89]
M D SF: Switch statement found in 
org.apache.poi.ss.formula.functions.FinanceFunction.evaluate(double[]) where 
one case falls through to the next case  At FinanceFunction.java:[lines 98-101]
M V EI: org.apache.poi.hssf.extractor.EventBasedExcelExtractor.getRoot() may 
expose internal representation by returning EventBasedExcelExtractor._dir  At 
EventBasedExcelExtractor.java:[line 292]
M V EI2: new 
org.apache.poi.hssf.extractor.EventBasedExcelExtractor(DirectoryNode) may 
expose internal representation by storing an externally mutable object into 
EventBasedExcelExtractor._dir  At EventBasedExcelExtractor.java:[line 72]
M V EI: org.apache.poi.hssf.extractor.EventBasedExcelExtractor.getFilesystem() 
may expose internal representation by returning EventBasedExcelExtractor.poifs  
At EventBasedExcelExtractor.java:[line 282]
M V EI2: new 
org.apache.poi.hssf.extractor.EventBasedExcelExtractor(POIFSFileSystem) may 
expose internal representation by storing an externally mutable object into 
EventBasedExcelExtractor.poifs  At EventBasedExcelExtractor.java:[line 76]
M D DLS: Dead store to maxN in 
org.apache.poi.ss.formula.functions.Sumproduct.evaluateSingleProduct(ValueEval[])
  At Sumproduct.java:[line 95]
M V EI: org.apache.poi.ddf.EscherClientAnchorRecord.getRemainingData() may 
expose internal representation by returning 
EscherClientAnchorRecord.remainingData  At EscherClientAnchorRecord.java:[line 
368]
M V EI2: new org.apache.poi.poifs.macros.VBAMacroReader(POIFSFileSystem) may 
expose internal representation by storing an externally mutable object into 
VBAMacroReader.fs  At VBAMacroReader.java:[line 100]
M D DLS: Dead store to ld in 
org.apache.poi.ss.formula.functions.TimeValue.evaluate(int, int, ValueEval)  At 
TimeValue.java:[line 68]
M V EI2: new 
org.apache.poi.poifs.crypt.DataSpaceMapUtils$IRMDSTransformInfo(DataSpaceMapUtils$TransformInfoHeader,
 int, String) may expose internal representation by storing an externally 
mutable object into DataSpaceMapUtils$IRMDSTransformInfo.transformInfoHeader  
At DataSpaceMapUtils.java:[line 184]
M V EI: 
org.apache.poi.hssf.eventusermodel.EventWorkbookBuilder$SheetRecordCollectingListener.getSSTRecord()
 may expose internal representation by returning 
EventWorkbookBuilder$SheetRecordCollectingListener.sstRecord  At 
EventWorkbookBuilder.java:[line 134]
M V EI2: 
org.apache.poi.hssf.eventusermodel.EventWorkbookBuilder$SheetRecordCollectingListener.processRecordInternally(Record)
 may expose internal representation by storing an externally mutable object 
into EventWorkbookBuilder$SheetRecordCollectingListener.sstRecord  At 
EventWorkbookBuilder.java:[line 182]
M V EI: org.apache.poi.sl.image.ImageHeaderEMF.getBounds() may expose internal 
representation by returning ImageHeaderEMF.deviceBounds  At 
ImageHeaderEMF.java:[line 67]
M D SF: Switch statement found in 
org.apache.poi.ss.formula.functions.Offset.evaluate(ValueEval[], int, int) 
where one case falls through to the next case  At Offset.java:[lines 172-176]
M D SF: Switch statement found in 
org.apache.poi.ss.formula.atp.YearFrac.evaluate(ValueEval[], 
OperationEvaluationContext) where one case falls through to the next case  At 
YearFrac.java:[lines 71-74]
M V EI: org.apache.poi.hssf.record.FeatRecord.getCellRefs() may expose internal 
representation by returning FeatRecord.cellRefs  At FeatRecord.java:[line 156]
M V EI2: org.apache.poi.hssf.record.FeatRecord.setCellRefs(CellRangeAddress[]) 
may expose internal representation by storing an externally mutable object into 
FeatRecord.cellRefs  At FeatRecord.java:[line 159]
M B Nm: The class name org.apache.poi.hssf.usermodel.HeaderFooter shadows the 
simple name of implemented interface org.apache.poi.ss.usermodel.HeaderFooter  
At HeaderFooter.java:[lines 26-310]
M V EI2: new 
org.apache.poi.poifs.crypt.binaryrc4.BinaryRC4Encryptor$BinaryRC4CipherOutputStream(BinaryRC4Encryptor,
 OutputStream) may expose internal representation by storing an externally 
mutable object into BinaryRC4Encryptor$BinaryRC4CipherOutputStream.this$0  At 
BinaryRC4Encryptor.java:[line 134]
M V EI2: new 
org.apache.poi.poifs.crypt.binaryrc4.BinaryRC4Encryptor$BinaryRC4CipherOutputStream(BinaryRC4Encryptor,
 DirectoryNode) may expose internal representation by storing an externally 
mutable object into BinaryRC4Encryptor$BinaryRC4CipherOutputStream.this$0  At 
BinaryRC4Encryptor.java:[line 139]
M V EI: org.apache.poi.ddf.UnknownEscherRecord.getData() may expose internal 
representation by returning UnknownEscherRecord.thedata  At 
UnknownEscherRecord.java:[line 129]
M V EI: org.apache.poi.ddf.UnknownEscherRecord.getChildRecords() may expose 
internal representation by returning UnknownEscherRecord._childRecords  At 
UnknownEscherRecord.java:[line 139]
M P UrF: Unread field: org.apache.poi.hpsf.Decimal.field_5_lo64  At 
Decimal.java:[line 38]
M P UrF: Unread field: org.apache.poi.hpsf.Decimal.field_2_scale  At 
Decimal.java:[line 35]
M P SS: Unread field: org.apache.poi.ss.formula.ptg.UnknownPtg.size; should 
this field be static?  At UnknownPtg.java:[line 25]
M P UrF: Unread field: org.apache.poi.hssf.usermodel.HSSFChart.chartTitleFormat 
 At HSSFChart.java:[line 217]
M P UrF: Unread field: org.apache.poi.ss.formula.atp.TextJoinFunction.evaluator 
 At TextJoinFunction.java:[line 51]
M P UrF: Unread field: org.apache.poi.hpsf.Decimal.field_4_hi32  At 
Decimal.java:[line 37]
M P UrF: Unread field: 
org.apache.poi.ss.formula.atp.PercentRankIncFunction.evaluator  At 
PercentRankIncFunction.java:[line 51]
M P UrF: Unread field: org.apache.poi.hpsf.Decimal.field_1_wReserved  At 
Decimal.java:[line 34]
M P UrF: Unread field: 
org.apache.poi.ss.formula.atp.PercentRankExcFunction.evaluator  At 
PercentRankExcFunction.java:[line 55]
M P UrF: Unread field: org.apache.poi.hpsf.Decimal.field_3_sign  At 
Decimal.java:[line 36]
M V MS: org.apache.poi.hpsf.VariantSupport.SUPPORTED_TYPES should be package 
protected  At VariantSupport.java:[line 55]
M V MS: org.apache.poi.hpsf.DocumentSummaryInformation.FORMAT_ID should be 
package protected  At DocumentSummaryInformation.java:[line 51]
M V MS: org.apache.poi.ss.formula.eval.FunctionEval.functions should be package 
protected  At FunctionEval.java:[line 59]
M M IS: Inconsistent synchronization of 
org.apache.poi.poifs.filesystem.DocumentInputStream._current_block_count; 
locked 71% of time  Unsynchronized access at DocumentInputStream.java:[line 287]
M M IS: Inconsistent synchronization of 
org.apache.poi.ss.format.CellDateFormatter.sFmt; locked 66% of time  
Unsynchronized access at CellDateFormatter.java:[line 109]
M M IS: Inconsistent synchronization of 
org.apache.poi.ss.format.CellDateFormatter.amPmUpper; locked 50% of time  
Unsynchronized access at CellDateFormatter.java:[line 122]
M M IS: Inconsistent synchronization of 
org.apache.poi.poifs.filesystem.DocumentInputStream._buffer; locked 50% of time 
 Unsynchronized access at DocumentInputStream.java:[line 286]
M M IS: Inconsistent synchronization of 
org.apache.poi.hpsf.ClassIDPredefined.classId; locked 66% of time  
Unsynchronized access at ClassIDPredefined.java:[line 132]
M M IS: Inconsistent synchronization of 
org.apache.poi.poifs.filesystem.DocumentInputStream._data; locked 80% of time  
Unsynchronized access at DocumentInputStream.java:[line 288]
SpotBugs ended with exit code 1

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':poi-scratchpad:test'.
> There were failing tests. See the report at: 
> file://<https://ci-builds.apache.org/job/POI/job/POI-DSL-1.17/ws/poi-scratchpad/build/reports/tests/test/index.html>

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with 
Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings 
and determine if they come from your own scripts or plugins.

See 
https://docs.gradle.org/7.4.1/userguide/command_line_interface.html#sec:command_line_warnings

Execution optimizations have been disabled for 1 invalid unit(s) of work during 
this build to ensure correctness.
Please consult deprecation warnings for more details.

BUILD FAILED in 4m 16s
56 actionable tasks: 54 executed, 2 up-to-date
Build step 'Invoke Gradle script' changed build result to FAILURE
Build step 'Invoke Gradle script' marked build as failure
[SpotBugs] Skipping execution of recorder since overall result is 'FAILURE'
Archiving artifacts
[Fast Archiver] Compressed 26.11 MB of artifacts by 18.7% relative to #264
Recording test results
[Checks API] No suitable checks publisher found.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to