aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove deprecated HWPF FSPA methodsMarius Volkhart2021-03-013-37/+1
| | | | | | These methods have been @Deprecated for years, and are part of @Internal structures. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887039 13f79535-47bb-0310-9956-ffa450edef68
* Improve performance of HSLFPictureData#writeMarius Volkhart2021-03-011-13/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887022 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-0117-34/+29
| | | | | | | | 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-2818-129/+1031
| | | | | | | | | | | | 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
* Make picture loading in HWPF PicturesTable easier to understandMarius Volkhart2021-02-282-10/+7
| | | | | | The recursion is no longer necessary due to the more defined structure of OfficeArtContent. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887016 13f79535-47bb-0310-9956-ffa450edef68
* Add documentation to PICFAndOfficeArtDataMarius Volkhart2021-02-282-15/+30
| | | | | | Adjust call sites based on defined behavior. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887015 13f79535-47bb-0310-9956-ffa450edef68
* Simplify OfficeArtContent#getBStoreContainer methodMarius Volkhart2021-02-282-17/+8
| | | | | | Due to the new structure of the class, we can be more specific about how we load the BStore. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887011 13f79535-47bb-0310-9956-ffa450edef68
* Rename EscherRecordHolder to OfficeArtContentMarius Volkhart2021-02-286-28/+29
| | | | | | While the class does indeed hold EscherRecords, due to recent refactoring it is much more structured now than it was before. The contents of the class now closely resemble the OfficeArtContent structure referenced in the MS-DOC spec. Naming the class after the specification structure makes it easier to find and understand. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887009 13f79535-47bb-0310-9956-ffa450edef68
* Rework EscherRecordHolder parsingMarius Volkhart2021-02-281-106/+86
| | | | | | Modify the parsing done by EscherRecordHolder to be more deterministic. The format of the OfficeArtContent structure, which the EscherRecordHolder represents, is well defined in the MS-DOC spec. A clear class structure makes it easier to reason about the availability of data. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887008 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
* Simplify initialization of HWPF EscherRecordHolderMarius Volkhart2021-02-282-11/+12
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886999 13f79535-47bb-0310-9956-ffa450edef68
* Add documentation for HWPF FileInformationBlock DggInfo methodsMarius Volkhart2021-02-281-0/+10
| | | | | | This documentation comes from [MS-DOC] - v20191119. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886998 13f79535-47bb-0310-9956-ffa450edef68
* Revert "Replace magic constant with reference" changesMarius Volkhart2021-02-274-46/+46
| | | | | | Reverts r1886986, r1886987 and r1886988. Incorrect conversion between int and shorts led to incorrect logic. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886989 13f79535-47bb-0310-9956-ffa450edef68
* Replace magic constant use of Escher Blip End type ID with referenceMarius Volkhart2021-02-272-2/+3
| | | | | | Instead of referring to the magic constant 0xF117, reference the value in the EscherRecordTypes enum. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886988 13f79535-47bb-0310-9956-ffa450edef68
* Replace magic constant use of Escher Blip Start type ID with referenceMarius Volkhart2021-02-274-6/+7
| | | | | | 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
* Replace magic constant use of EscherBSERecord type ID with referenceMarius Volkhart2021-02-274-43/+42
| | | | | | Instead of referring to the magic constant 0xF007, reference the value in the EscherRecordTypes enum. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886986 13f79535-47bb-0310-9956-ffa450edef68
* add missing licensePJ Fanning2021-02-271-0/+17
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886965 13f79535-47bb-0310-9956-ffa450edef68
* Fix bug with record indexes for HSSF WorkbooksMarius Volkhart2021-02-273-2/+29
| | | | | | | | 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
* Enable running more integration tests from Gradle.Marius Volkhart2021-02-261-2/+14
| | | | | | This is particularly relevant for developers who import the Gradle project into their IDE and run tests using the Gradle test runner. Those developers were previously unable to debug integration tests. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886962 13f79535-47bb-0310-9956-ffa450edef68
* missing ooxml-schemas-lite classesPJ Fanning2021-02-243-5/+38
| | | | 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-2210-22/+81
| | | | | | | | 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-21281-3084/+2091
| | | | | | | | | | 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
* Use UTF-8 when writing SVG filesAndreas Beeker2021-02-211-1/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886768 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-182-31/+33
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886658 13f79535-47bb-0310-9956-ffa450edef68
* Manipulate individual data point propertiesAlain Béarez2021-02-1718-4/+319
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886642 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
* [bug-63902] reference cloned sheet in cloned chart data seriesAlain Béarez2021-02-1611-178/+377
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886605 13f79535-47bb-0310-9956-ffa450edef68
* allow subclassing of code to gen comments tablePJ Fanning2021-02-151-1/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886547 13f79535-47bb-0310-9956-ffa450edef68
* add method to test for strict ooxml formatPJ Fanning2021-02-152-0/+24
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886545 13f79535-47bb-0310-9956-ffa450edef68
* Do not fail test which compares two documents if the timestamp in the ZIP ↵Dominik Stadler2021-02-151-2/+20
| | | | | | header field is different git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886532 13f79535-47bb-0310-9956-ffa450edef68
* Do not require NullPointerException to have a null-message on JDK < 16Dominik Stadler2021-02-151-7/+1
| | | | | | It seems depending on the exact JDK some Exceptions have failure messages populated git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886527 13f79535-47bb-0310-9956-ffa450edef68
* add test for reading core properties from ooxml strict filePJ Fanning2021-02-152-1/+13
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886514 13f79535-47bb-0310-9956-ffa450edef68
* add missing CTPhoneticRunPJ Fanning2021-02-141-0/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886511 13f79535-47bb-0310-9956-ffa450edef68
* fix typoPJ Fanning2021-02-141-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886497 13f79535-47bb-0310-9956-ffa450edef68
* small refactorPJ Fanning2021-02-131-6/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886495 13f79535-47bb-0310-9956-ffa450edef68
* allo XSSFReader to be sublclassed with implementation that allows OOXMl ↵PJ Fanning2021-02-132-3/+39
| | | | | | Strict files git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886493 13f79535-47bb-0310-9956-ffa450edef68
* batik 1.14PJ Fanning2021-02-131-0/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886491 13f79535-47bb-0310-9956-ffa450edef68
* Import slide notes when importing slide contentAlain Béarez2021-02-083-2/+31
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886338 13f79535-47bb-0310-9956-ffa450edef68
* [bug-65120] PartAlreadyExistsException when creating cell comments (after ↵PJ Fanning2021-02-022-3/+28
| | | | | | some comments removed). Thanks to Raúl Wegmann git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886143 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
* Clone only content of imported chartAlain Béarez2021-02-012-2/+16
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886087 13f79535-47bb-0310-9956-ffa450edef68
* Sonar fixesAndreas Beeker2021-01-3015-235/+157
| | | | | | add asserts to tests git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886070 13f79535-47bb-0310-9956-ffa450edef68
* Bug 65099: Fix incorrect handling of styles in XWPFStyle.getUsedStyleListDominik Stadler2021-01-303-5/+36
| | | | | | Closes github #216 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886063 13f79535-47bb-0310-9956-ffa450edef68
* Adjust integration-test slightly for running mass-regression-testsDominik Stadler2021-01-301-2/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886062 13f79535-47bb-0310-9956-ffa450edef68
* Apply IDE suggestions, add toString(), adjust JavaDoc and simplify code slightlyDominik Stadler2021-01-308-59/+71
| | | | git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886061 13f79535-47bb-0310-9956-ffa450edef68
* Enable storing an SXSSF workbook twiceDominik Stadler2021-01-303-16/+31
| | | | | | | | Verify this via a unit-test for all types of workbooks Add a test to verify the contents is byte-for-byte equal Also remove an overwritten test which works the same now for all three workbook-types git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886060 13f79535-47bb-0310-9956-ffa450edef68