aboutsummaryrefslogtreecommitdiffstats
path: root/src/java
Commit message (Collapse)AuthorAgeFilesLines
* 65206 - Migrate ant / maven to gradle buildAndreas Beeker2021-03-271173-204716/+0
| | | | | | | | update gradle files and project structure along https://github.com/centic9/poi/tree/gradle_build remove eclipse IDE project files remove obsolete record generator files git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1888111 13f79535-47bb-0310-9956-ffa450edef68
* try to re-enable new getBlockAt codePJ Fanning2021-03-191-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887828 13f79535-47bb-0310-9956-ffa450edef68
* Allow negative numbers in conditional part of format stringDominik Stadler2021-03-191-1/+1
| | | | | | Closes #229 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887802 13f79535-47bb-0310-9956-ffa450edef68
* Enhance javadoc and coverage for IOUtilsDominik Stadler2021-03-191-0/+18
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887801 13f79535-47bb-0310-9956-ffa450edef68
* #65192 - Allow change of EncryptionModeAndreas Beeker2021-03-172-6/+46
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887764 13f79535-47bb-0310-9956-ffa450edef68
* Revert erroneously modified logging statementMarius Volkhart2021-03-161-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887717 13f79535-47bb-0310-9956-ffa450edef68
* add back some new codePJ Fanning2021-03-151-0/+45
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887685 13f79535-47bb-0310-9956-ffa450edef68
* revert recent changesPJ Fanning2021-03-151-68/+30
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887682 13f79535-47bb-0310-9956-ffa450edef68
* [bug-65184] revert due to integration test failuresPJ Fanning2021-03-141-15/+11
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887660 13f79535-47bb-0310-9956-ffa450edef68
* Try to fix sonar buildAndreas Beeker2021-03-143-0/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887659 13f79535-47bb-0310-9956-ffa450edef68
* reformat filePJ Fanning2021-03-141-203/+203
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887658 13f79535-47bb-0310-9956-ffa450edef68
* [bug-65184] Improve performance of POFSMiniStore getBlockAt. Thanks to sitsPJ Fanning2021-03-142-21/+63
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887657 13f79535-47bb-0310-9956-ffa450edef68
* Implement CONCAT function #65185Nick Burch2021-03-143-12/+107
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887656 13f79535-47bb-0310-9956-ffa450edef68
* [bug-65184] Improve performance of POFSMiniStore getBlockAt. Thanks to sitsPJ Fanning2021-03-131-153/+151
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887604 13f79535-47bb-0310-9956-ffa450edef68
* Streamline HPSF CustomProperties collection retrievalMarius Volkhart2021-03-101-7/+5
| | | | | | Reduce the number of map lookups necessary to compute the return values for methods that return collections of property details. Since we maintain parity between the `props` and `dictionary` contents, when retrieving property details, we can reference the `props` directly and avoid the `dictionary` indirection. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887453 13f79535-47bb-0310-9956-ffa450edef68
* Cleanup documentation of EscherChildAnchorRecord and EscherClientAnchorRecordMarius Volkhart2021-03-092-4/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887391 13f79535-47bb-0310-9956-ffa450edef68
* Deprecate functions that duplicate functionalityMarius Volkhart2021-03-014-5/+18
| | | | | | DrawingGroupRecord#processChildRecords and AbstractEscherHolderRecord#convertRawBytesToEscherRecords duplicate the functionality of AbstractEscherHolderRecord#decode. This makes the code harder to follow, as it is not clear when certain access patterns repeat. Accordingly, these functions are deprecated and flagged for removal. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887021 13f79535-47bb-0310-9956-ffa450edef68
* Review EscherContainerRecord#getChildRecords() call sites for unnecessary workMarius Volkhart2021-03-014-6/+10
| | | | | | | | This started off as wanting to add the EscherContainerRecord#getChildCount() function in order to do an efficient check for how many children the container has. This was desirable in new code for editing HSSF pictures. The existing option of calling getChildRecords().size() was undesirable as this requires a list copy first. In the process of finding call sites that would benefit from replacing getChildRecords().size(), I realized that several other patterns would benefit from eliminating a copy, such as iterating over the children in a for-each loop, and indexed access to specific children. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887020 13f79535-47bb-0310-9956-ffa450edef68
* Add the ability to edit HSLFPictureData contentsMarius Volkhart2021-02-281-0/+4
| | | | | | | | | | | | Pictures can now be edited by calling HSLFPictureData#setData(byte[]). The byte[] should contain the image data as an image viewer might read it. To enable this functionality, a tighter coupling between the EscherBSERecords of the slideshow and the HSLFPictureData was required. This ensures that changes in image data size are accurately recorded in the records. In the course of coupling the records and the HSLFPictureData, various scenarios arose where a mapping of records to pictures was non-trivial. Accordingly, the HSLFSlideShowImpl#matchPicturesAndRecords(...) function was added to perform a more sophisticated matching pass. This function is heavily exercised by org.apache.poi.hslf.usermodel.TestBugs.testFile[5] and PPTX2PNG.render[2], as well as the new TestPictures#testSlideshowWithIncorrectOffsets(). Closes #225 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887017 13f79535-47bb-0310-9956-ffa450edef68
* Add documentation to EscherRecordTypes#DG_CONTAINERMarius Volkhart2021-02-281-0/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887007 13f79535-47bb-0310-9956-ffa450edef68
* Replace magic constant use of Escher Blip Start type ID with referenceMarius Volkhart2021-02-271-1/+1
| | | | | | Instead of referring to the magic constant 0xF018, reference the value in the EscherRecordTypes enum. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886987 13f79535-47bb-0310-9956-ffa450edef68
* Fix bug with record indexes for HSSF WorkbooksMarius Volkhart2021-02-272-2/+3
| | | | | | | | We have encountered workbooks that do not have a TabIdRecord (see 55982.xls). However, the WorkbookRecordList#updateRecordPos() method would still increment the position of the TabIdRecord for such workbooks. Changing the default position of the record from 0 to -1 indicates that the record position has now been set. This bug was discovered while adding support for editing pictures in HSSF documents. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886963 13f79535-47bb-0310-9956-ffa450edef68
* missing ooxml-schemas-lite classesPJ Fanning2021-02-241-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886892 13f79535-47bb-0310-9956-ffa450edef68
* Use upcoming XmlBeans 5.0.0 (working version 4.0.1)Andreas Beeker2021-02-221-15/+22
| | | | | | | | Make batik optional as it doesn't work on the module-path Use sub-components of batik as batik-all references them all again resulting in duplicated entries (maven poms haven't been migrated yet ...) Remove SLF4j dependency git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886777 13f79535-47bb-0310-9956-ffa450edef68
* [bug-63046] Use Log4j 2 for loggingMarius Volkhart2021-02-2184-1555/+767
| | | | | | | | | | This removes the POILogger and POILogFactory mechanism for logging. This mechanism was created at a time when the Java landscape looked very different than it does today. Log4j 2 is an Apache Foundation project that is well maintained and is widely regarded as having good performance and capabilities. We use only the Log4j API artifact. This lets application developers choose how they want to capture logging events if at all. Integrations with Log4j 2 Core and Logback are available from the Log4j project. Closes #224 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886770 13f79535-47bb-0310-9956-ffa450edef68
* try re-eanbling xml entity configPJ Fanning2021-02-211-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886766 13f79535-47bb-0310-9956-ffa450edef68
* FinanceLib: Simplify code and add a few more testsDominik Stadler2021-02-181-27/+14
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886658 13f79535-47bb-0310-9956-ffa450edef68
* Code cleanup AbstractEscherHolderRecordMarius Volkhart2021-02-171-21/+21
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886623 13f79535-47bb-0310-9956-ffa450edef68
* Documentation for some EscherRecordTypesMarius Volkhart2021-02-171-0/+17
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886620 13f79535-47bb-0310-9956-ffa450edef68
* Add documentation for DrawingGroupRecordMarius Volkhart2021-02-171-1/+9
| | | | | | Documentation adapted from [MS-XLS].pdf v20190618. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886619 13f79535-47bb-0310-9956-ffa450edef68
* Fix inconsistent logging statementMarius Volkhart2021-02-011-1/+1
| | | | | | The conditions check for max, but the logging was copy/pasted and still uses the minimum. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886089 13f79535-47bb-0310-9956-ffa450edef68
* Apply IDE suggestions, add toString(), adjust JavaDoc and simplify code slightlyDominik Stadler2021-01-301-8/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886061 13f79535-47bb-0310-9956-ffa450edef68
* Sonar fixesAndreas Beeker2021-01-231-8/+10
| | | | | | add asserts to tests git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1885859 13f79535-47bb-0310-9956-ffa450edef68
* [github-215] Improve Performance of OperandResolver#parseDouble. Thanks to ↵PJ Fanning2021-01-181-4/+4
| | | | | | Robert Wenzel. This closes #215 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1885651 13f79535-47bb-0310-9956-ffa450edef68
* Sonar fixesAndreas Beeker2021-01-17110-371/+375
| | | | | | | constant name to match the regular expression '^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$' reorder "final static" -> "static final" git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1885613 13f79535-47bb-0310-9956-ffa450edef68
* #65046 - Simplify integration testsAndreas Beeker2021-01-151-3/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1885538 13f79535-47bb-0310-9956-ffa450edef68
* Properly close file handles in extractors and when handling ↵Dominik Stadler2021-01-073-1/+34
| | | | | | password-protected files git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1885229 13f79535-47bb-0310-9956-ffa450edef68
* Improve EmptyFileException when the file actually does not exist at allDominik Stadler2021-01-071-1/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1885227 13f79535-47bb-0310-9956-ffa450edef68
* Include file-name in EmptyFileExceptionDominik Stadler2021-01-065-7/+10
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1885192 13f79535-47bb-0310-9956-ffa450edef68
* Try to avoid error "Start point cannot equalendpoint"Dominik Stadler2021-01-061-1/+3
| | | | | | | Happened when trying to apply a gradient to an empty text, let's use at least 1 gradient step always to avoid this. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1885191 13f79535-47bb-0310-9956-ffa450edef68
* Slightly adjust error message if requested allocations are too bigDominik Stadler2021-01-061-4/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1885189 13f79535-47bb-0310-9956-ffa450edef68
* Bug 64132: Fix regression introduced by changing factoriesDominik Stadler2021-01-043-8/+8
| | | | | | | We need to return EscherBlipRecord for all types in the defined range of recordId, not UnknownEscherRecord. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1885092 13f79535-47bb-0310-9956-ffa450edef68
* Apply some IDE suggestions and fix some JavaDocDominik Stadler2021-01-012-11/+14
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1885012 13f79535-47bb-0310-9956-ffa450edef68
* workaround "Width (0) and height (0) cannot be <= 0" error while rendering ↵Andreas Beeker2020-12-301-1/+1
| | | | | | text with textures git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1884966 13f79535-47bb-0310-9956-ffa450edef68
* Bug 64986: Support missing or blank match_type for function MatchDominik Stadler2020-12-303-6/+13
| | | | | | Excel and LibreOffice use the default value in this case git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1884959 13f79535-47bb-0310-9956-ffa450edef68
* Adjust some JavaDocDominik Stadler2020-12-296-21/+17
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1884918 13f79535-47bb-0310-9956-ffa450edef68
* Improve the speed of the styles-optimiser when there are many styles in a ↵Dominik Stadler2020-12-291-28/+36
| | | | | | | | | | | | | Workbook Profiling showed that the call to isUserDefined() took most of the time, so we now fetch this only once for each style and remember the result and use it in the inner loop. The attached sample-file took aprox. 1m30s on a decent machine, now it is down to around 2s. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1884917 13f79535-47bb-0310-9956-ffa450edef68
* Sonar fixesAndreas Beeker2020-12-2626-110/+123
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1884807 13f79535-47bb-0310-9956-ffa450edef68
* #65026 - Migrate tests to Junit 5Andreas Beeker2020-12-243-74/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1884783 13f79535-47bb-0310-9956-ffa450edef68
* [github-198] Remove jdk.charset module dependency for spreadsheets ↵PJ Fanning2020-12-193-505/+0
| | | | | | generation. Thanks to Robert Marcano. This closes #198 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1884631 13f79535-47bb-0310-9956-ffa450edef68