See
<https://ci-builds.apache.org/job/POI/job/POI-DSL-1.18/28/display/redirect?page=changes>
Changes:
[Dominik Stadler] Various smaller changes
Improve exception messages
Add more JavaDoc
Provide more information on test-failures
[Dominik Stadler] Speed up execution of formulas with whole-column area
reference
The previous change via r1894675 did not fully solve this as
it only took place when more than one sheet were used.
There were still some cases where evaluating formulas needed
to iterate across a huge number of non-existant rows, e.g.
TestVLookup, which took more than 1 minute locally.
However doing the lowering of row-numbers always would trigger
test-regressions as some Excel-functionality depends on actions
being possible on rows larger than current "last row" in the sheet.
Thus changed this to a slightly different approach which only adjusts
last-row when it is at or above the workbook-limit of rows
Execution of TestVLookup is now at 1-2 seconds!
Also added a test-case to verify details of the implementation now.
[Dominik Stadler] Use a modified version of NullPrintStream in integration tests
The default version from Commons-IO does not avoid doing
utf-8 conversion and other work, so it is not well suited for
cases where lots of output happens.
Using an optimized version can bring down runtime of integration-tests
somewhat, especially for large files where XLS2CSV prints out lots of
data
[PJ Fanning] [bug-65993] support copying hssf hyperlinks to xssf and respect
full cell range
[PJ Fanning] [github-318] handle null raw text. Thanks to wanglunhui2012. This
closes #318
[Dominik Stadler] Also exclude new files in rat-check of ant-build
------------------------------------------
[...truncated 327.89 KB...]
M V EI: org.apache.poi.hssf.usermodel.HSSFSheet.getWorkbook() may expose
internal representation by returning HSSFSheet._workbook At
HSSFSheet.java:[line 190]
M V EI: org.apache.poi.hssf.usermodel.HSSFSheet.getSheet() may expose internal
representation by returning HSSFSheet._sheet At HSSFSheet.java:[line 987]
M V EI: org.apache.poi.hssf.usermodel.HSSFSheet.getDrawingPatriarch() may
expose internal representation by returning HSSFSheet._patriarch At
HSSFSheet.java:[line 2081]
M V EI: org.apache.poi.hssf.usermodel.HSSFSheet.createDrawingPatriarch() may
expose internal representation by returning HSSFSheet._patriarch At
HSSFSheet.java:[line 2095]
M V EI2:
org.apache.poi.hssf.usermodel.DVConstraint.setExplicitListValues(String[]) may
expose internal representation by storing an externally mutable object into
DVConstraint._explicitListValues At DVConstraint.java:[line 329]
M V EI: org.apache.poi.hssf.usermodel.DVConstraint.getExplicitListValues() may
expose internal representation by returning DVConstraint._explicitListValues
At DVConstraint.java:[line 318]
M V EI2: new
org.apache.poi.hssf.usermodel.HSSFClientAnchor(EscherClientAnchorRecord) may
expose internal representation by storing an externally mutable object into
HSSFClientAnchor._escherClientAnchor At HSSFClientAnchor.java:[line 37]
M V EI2: new
org.apache.poi.hssf.usermodel.HSSFDataValidation(CellRangeAddressList,
DataValidationConstraint) may expose internal representation by storing an
externally mutable object into HSSFDataValidation._constraint At
HSSFDataValidation.java:[line 55]
M V EI: org.apache.poi.hssf.usermodel.HSSFDataValidation.getConstraint() may
expose internal representation by returning HSSFDataValidation._constraint At
HSSFDataValidation.java:[line 67]
M V EI2: new
org.apache.poi.hssf.usermodel.HSSFDataValidation(CellRangeAddressList,
DataValidationConstraint) may expose internal representation by storing an
externally mutable object into HSSFDataValidation._regions At
HSSFDataValidation.java:[line 52]
M V EI:
org.apache.poi.hssf.usermodel.HSSFDataValidation.getValidationConstraint() may
expose internal representation by returning HSSFDataValidation._constraint At
HSSFDataValidation.java:[line 63]
M V EI: org.apache.poi.hssf.usermodel.HSSFDataValidation.getRegions() may
expose internal representation by returning HSSFDataValidation._regions At
HSSFDataValidation.java:[line 71]
M V EI2: new org.apache.poi.hssf.usermodel.HSSFComment(EscherContainerRecord,
ObjRecord, TextObjectRecord, NoteRecord) may expose internal representation by
storing an externally mutable object into HSSFComment._note At
HSSFComment.java:[line 63]
M V EI2: new
org.apache.poi.hssf.usermodel.HSSFObjectData(EscherContainerRecord, ObjRecord,
DirectoryEntry) may expose internal representation by storing an externally
mutable object into HSSFObjectData._root At HSSFObjectData.java:[line 44]
M V EI: org.apache.poi.hssf.usermodel.HSSFPatriarch.getBoundAggregate() may
expose internal representation by returning HSSFPatriarch._boundAggregate At
HSSFPatriarch.java:[line 502]
M V EI: org.apache.poi.hssf.usermodel.HSSFCell.getCellComment() may expose
internal representation by returning HSSFCell._comment At HSSFCell.java:[line
1081]
M V EI2: org.apache.poi.hssf.usermodel.HSSFCell.setCellComment(Comment) may
expose internal representation by storing an externally mutable object into
HSSFCell._comment At HSSFCell.java:[line 1068]
M V EI: org.apache.poi.hssf.usermodel.HSSFCell.getRichStringCellValue() may
expose internal representation by returning HSSFCell._stringValue At
HSSFCell.java:[line 740]
M V EI: org.apache.poi.hssf.usermodel.HSSFCell.getSheet() may expose internal
representation by returning HSSFCell._sheet At HSSFCell.java:[line 132]
M D SF: Switch statement found in
org.apache.poi.hssf.usermodel.HSSFCell.setCellValueImpl(double) where one case
falls through to the next case At HSSFCell.java:[lines 431-438]
M D SF: Switch statement found in
org.apache.poi.hssf.usermodel.HSSFCell.setCellValue(boolean) where one case
falls through to the next case At HSSFCell.java:[lines 768-771]
M D SF: Switch statement found in
org.apache.poi.hssf.usermodel.HSSFCell.setCellErrorValue(FormulaError) where
one case falls through to the next case At HSSFCell.java:[lines 810-813]
M D NP: Load of known null value in
org.apache.poi.ss.formula.FormulaParser.parseStructuredReference(String) At
FormulaParser.java:[line 814]
M D SF: Switch statement found in
org.apache.poi.ss.formula.FormulaParser.parseSheetName() where default case is
missing At FormulaParser.java:[lines 1176-1187]
M D RCN: Redundant nullcheck of is which is known to be null in
org.apache.poi.sl.draw.DrawPaint.getTexturePaint(PaintStyle$TexturePaint,
Graphics2D) Redundant null check at DrawPaint.java:[line 342]
M D NP: Load of known null value in
org.apache.poi.sl.draw.DrawPaint.getTexturePaint(PaintStyle$TexturePaint,
Graphics2D) At DrawPaint.java:[line 342]
M V EI2: new org.apache.poi.sl.draw.DrawPaint(PlaceableShape) may expose
internal representation by storing an externally mutable object into
DrawPaint.shape At DrawPaint.java:[line 81]
M D SF: Switch statement found in
org.apache.poi.sl.draw.DrawPaint.getTexturePaint(PaintStyle$TexturePaint,
Graphics2D) where default case is missing At DrawPaint.java:[lines 301-310]
M V EI2: new org.apache.poi.sl.draw.DrawTextParagraph(TextParagraph) may expose
internal representation by storing an externally mutable object into
DrawTextParagraph.paragraph At DrawTextParagraph.java:[line 110]
M V EI: org.apache.poi.ss.formula.OperationEvaluationContext.getWorkbook() may
expose internal representation by returning
OperationEvaluationContext._workbook At OperationEvaluationContext.java:[line
89]
M V EI2: new
org.apache.poi.ss.formula.OperationEvaluationContext(WorkbookEvaluator,
EvaluationWorkbook, int, int, int, EvaluationTracker, boolean) may expose
internal representation by storing an externally mutable object into
OperationEvaluationContext._workbook At OperationEvaluationContext.java:[line
72]
M V EI2: new
org.apache.poi.ss.formula.OperationEvaluationContext(WorkbookEvaluator,
EvaluationWorkbook, int, int, int, EvaluationTracker, boolean) may expose
internal representation by storing an externally mutable object into
OperationEvaluationContext._bookEvaluator At
OperationEvaluationContext.java:[line 71]
M V EI: org.apache.poi.poifs.crypt.agile.EncryptionDocument.getKeyData() may
expose internal representation by returning EncryptionDocument.keyData At
EncryptionDocument.java:[line 98]
M V EI2:
org.apache.poi.poifs.crypt.agile.EncryptionDocument.setDataIntegrity(DataIntegrity)
may expose internal representation by storing an externally mutable object
into EncryptionDocument.dataIntegrity At EncryptionDocument.java:[line 110]
M V EI2:
org.apache.poi.poifs.crypt.agile.EncryptionDocument.setKeyData(KeyData) may
expose internal representation by storing an externally mutable object into
EncryptionDocument.keyData At EncryptionDocument.java:[line 102]
M V EI: org.apache.poi.poifs.crypt.agile.EncryptionDocument.getKeyEncryptors()
may expose internal representation by returning
EncryptionDocument.keyEncryptors At EncryptionDocument.java:[line 114]
M V EI: org.apache.poi.poifs.crypt.agile.EncryptionDocument.getDataIntegrity()
may expose internal representation by returning
EncryptionDocument.dataIntegrity At EncryptionDocument.java:[line 106]
M V EI2:
org.apache.poi.poifs.crypt.agile.CertificateKeyEncryptor.setEncryptedKeyValue(byte[])
may expose internal representation by storing an externally mutable object
into CertificateKeyEncryptor.encryptedKeyValue At
CertificateKeyEncryptor.java:[line 76]
M V EI:
org.apache.poi.poifs.crypt.agile.CertificateKeyEncryptor.getEncryptedKeyValue()
may expose internal representation by returning
CertificateKeyEncryptor.encryptedKeyValue At
CertificateKeyEncryptor.java:[line 72]
M V EI:
org.apache.poi.poifs.crypt.agile.CertificateKeyEncryptor.getX509Certificate()
may expose internal representation by returning
CertificateKeyEncryptor.x509Certificate At CertificateKeyEncryptor.java:[line
80]
M V EI2:
org.apache.poi.poifs.crypt.agile.CertificateKeyEncryptor.setCertVerifier(byte[])
may expose internal representation by storing an externally mutable object
into CertificateKeyEncryptor.certVerifier At
CertificateKeyEncryptor.java:[line 92]
M V EI2:
org.apache.poi.poifs.crypt.agile.CertificateKeyEncryptor.setX509Certificate(byte[])
may expose internal representation by storing an externally mutable object
into CertificateKeyEncryptor.x509Certificate At
CertificateKeyEncryptor.java:[line 84]
M V EI:
org.apache.poi.poifs.crypt.agile.CertificateKeyEncryptor.getCertVerifier() may
expose internal representation by returning
CertificateKeyEncryptor.certVerifier At CertificateKeyEncryptor.java:[line 88]
M V EI2:
org.apache.poi.poifs.crypt.agile.PasswordKeyEncryptor.setEncryptedVerifierHashInput(byte[])
may expose internal representation by storing an externally mutable object
into PasswordKeyEncryptor.encryptedVerifierHashInput At
PasswordKeyEncryptor.java:[line 220]
M V EI: org.apache.poi.poifs.crypt.agile.PasswordKeyEncryptor.getSaltValue()
may expose internal representation by returning PasswordKeyEncryptor.saltValue
At PasswordKeyEncryptor.java:[line 200]
M V EI2:
org.apache.poi.poifs.crypt.agile.PasswordKeyEncryptor.setSaltValue(byte[]) may
expose internal representation by storing an externally mutable object into
PasswordKeyEncryptor.saltValue At PasswordKeyEncryptor.java:[line 204]
M V EI2:
org.apache.poi.poifs.crypt.agile.PasswordKeyEncryptor.setEncryptedVerifierHashValue(byte[])
may expose internal representation by storing an externally mutable object
into PasswordKeyEncryptor.encryptedVerifierHashValue At
PasswordKeyEncryptor.java:[line 228]
M V EI:
org.apache.poi.poifs.crypt.agile.PasswordKeyEncryptor.getEncryptedVerifierHashInput()
may expose internal representation by returning
PasswordKeyEncryptor.encryptedVerifierHashInput At
PasswordKeyEncryptor.java:[line 216]
M V EI:
org.apache.poi.poifs.crypt.agile.PasswordKeyEncryptor.getEncryptedKeyValue()
may expose internal representation by returning
PasswordKeyEncryptor.encryptedKeyValue At PasswordKeyEncryptor.java:[line 232]
M V EI:
org.apache.poi.poifs.crypt.agile.PasswordKeyEncryptor.getEncryptedVerifierHashValue()
may expose internal representation by returning
PasswordKeyEncryptor.encryptedVerifierHashValue At
PasswordKeyEncryptor.java:[line 224]
M V EI2:
org.apache.poi.poifs.crypt.agile.PasswordKeyEncryptor.setEncryptedKeyValue(byte[])
may expose internal representation by storing an externally mutable object
into PasswordKeyEncryptor.encryptedKeyValue At PasswordKeyEncryptor.java:[line
236]
M V EI: org.apache.poi.ss.usermodel.DataFormatter.getLocaleChangedObservable()
may expose internal representation by returning DataFormatter.pcs At
DataFormatter.java:[line 1220]
M V EI2: new org.apache.poi.ss.formula.DataValidationEvaluator(Workbook,
WorkbookEvaluatorProvider) may expose internal representation by storing an
externally mutable object into DataValidationEvaluator.workbook At
DataValidationEvaluator.java:[line 78]
M D DLS: Dead store to sheet in
org.apache.poi.hssf.usermodel.helpers.HSSFRowColShifter.updateRowFormulas(HSSFRow,
FormulaShifter) At HSSFRowColShifter.java:[line 71]
M V EI: org.apache.poi.hssf.usermodel.HSSFRow.getSheet() may expose internal
representation by returning HSSFRow.sheet At HSSFRow.java:[line 274]
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.formatting At
EvaluationConditionalFormatRule.java:[line 115]
M V EI: org.apache.poi.ss.formula.EvaluationConditionalFormatRule.getRegions()
may expose internal representation by returning
EvaluationConditionalFormatRule.regions At
EvaluationConditionalFormatRule.java:[line 193]
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.workbookEvaluator At
EvaluationConditionalFormatRule.java:[line 113]
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.sheet At
EvaluationConditionalFormatRule.java:[line 114]
M V EI: org.apache.poi.ss.formula.EvaluationConditionalFormatRule.getSheet()
may expose internal representation by returning
EvaluationConditionalFormatRule.sheet At
EvaluationConditionalFormatRule.java:[line 151]
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]
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]
> Task :poi:spotbugsTest
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 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 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]
The following errors occurred during analysis:
Unable to construct type qualifier checker javax/annotation/Nonnull$Checker
java.lang.UnsupportedOperationException: The Security Manager is deprecated
and will be removed in a future release
At java.base/java.lang.System.setSecurityManager(System.java:416)
At
edu.umd.cs.findbugs.ba.jsr305.TypeQualifierValue.<init>(TypeQualifierValue.java:157)
At
edu.umd.cs.findbugs.ba.jsr305.TypeQualifierValue.getValue(TypeQualifierValue.java:298)
At
edu.umd.cs.findbugs.ba.jsr305.TypeQualifierValue.getValue(TypeQualifierValue.java:306)
At
edu.umd.cs.findbugs.ba.npe.TypeQualifierNullnessAnnotationDatabase.<init>(TypeQualifierNullnessAnnotationDatabase.java:70)
At
edu.umd.cs.findbugs.ba.AnalysisContext.getNullnessAnnotationDatabase(AnalysisContext.java:1055)
At
edu.umd.cs.findbugs.ba.AnalysisContext.updateDatabases(AnalysisContext.java:1008)
At edu.umd.cs.findbugs.FindBugs2.analyzeApplication(FindBugs2.java:1061)
At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:309)
At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
SpotBugs ended with exit code 1
> Task :poi:spotbugsMain
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]
The following errors occurred during analysis:
Unable to construct type qualifier checker javax/annotation/Nonnull$Checker
java.lang.UnsupportedOperationException: The Security Manager is deprecated
and will be removed in a future release
At java.base/java.lang.System.setSecurityManager(System.java:416)
At
edu.umd.cs.findbugs.ba.jsr305.TypeQualifierValue.<init>(TypeQualifierValue.java:157)
At
edu.umd.cs.findbugs.ba.jsr305.TypeQualifierValue.getValue(TypeQualifierValue.java:298)
At
edu.umd.cs.findbugs.ba.jsr305.TypeQualifierValue.getValue(TypeQualifierValue.java:306)
At
edu.umd.cs.findbugs.ba.npe.TypeQualifierNullnessAnnotationDatabase.<init>(TypeQualifierNullnessAnnotationDatabase.java:70)
At
edu.umd.cs.findbugs.ba.AnalysisContext.getNullnessAnnotationDatabase(AnalysisContext.java:1055)
At
edu.umd.cs.findbugs.ba.AnalysisContext.updateDatabases(AnalysisContext.java:1008)
At edu.umd.cs.findbugs.FindBugs2.analyzeApplication(FindBugs2.java:1061)
At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:309)
At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
SpotBugs ended with exit code 1
> Task :poi-ooxml-lite:compileJava
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':poi-scratchpad:jacocoTestReport'.
> Error while creating report
* 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 3m 40s
59 actionable tasks: 57 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
Recording test results
[Checks API] No suitable checks publisher found.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]