Commit Graph

1350 Commits

Author SHA1 Message Date
Nick Burch
3215f32e54 In NPOIFS, close the file we opened in more exception cases
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1055379 13f79535-47bb-0310-9956-ffa450edef68
2011-01-05 09:42:00 +00:00
Nick Burch
bfd6fb0e2b More NPOIFS tests
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1054199 13f79535-47bb-0310-9956-ffa450edef68
2011-01-01 06:49:53 +00:00
Nick Burch
981b7cbd8e Add unit test for using HSSF with both POIFS and NPOIFS
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1054190 13f79535-47bb-0310-9956-ffa450edef68
2011-01-01 05:30:11 +00:00
Nick Burch
bc2f0eb994 Fix generics warnings, and add another constructor
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1054189 13f79535-47bb-0310-9956-ffa450edef68
2011-01-01 05:28:30 +00:00
Nick Burch
2d9837bd90 Tweak NPOIFS constructors so that if you have a FileChannel, you can pass it in, but that the File based one will tidy up after itself in the event of errors
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1054033 13f79535-47bb-0310-9956-ffa450edef68
2010-12-31 00:46:00 +00:00
Nick Burch
c82f06605e NPOIFS needs an explicit close, as it has to keep the File / buffer around to read from. Adds a close method
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1053777 13f79535-47bb-0310-9956-ffa450edef68
2010-12-30 00:58:28 +00:00
Nick Burch
2f466d27fe Refactor DocumentInputStream so that it can transparently handle both old style and new style POIFS Documents
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1053562 13f79535-47bb-0310-9956-ffa450edef68
2010-12-29 07:28:10 +00:00
Nick Burch
7fe097413c Add a NPOIFS aware createDocumentInputStream method to DirectoryNode, and use it in POIDocument. Also fix indent in the latter
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1053522 13f79535-47bb-0310-9956-ffa450edef68
2010-12-29 03:30:07 +00:00
Nick Burch
f2b541e026 Since a DirectoryNode has a reference to the underlying POIFSFileSystem, tidy up the POIDocument constructor to not need both passing in
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1053521 13f79535-47bb-0310-9956-ffa450edef68
2010-12-29 03:19:46 +00:00
Nick Burch
3f85bdc6d3 More NPOIFS BAT vs XBAT confusion fixes. Also fixes recent POIFS regression on big files, and adds a POIFS unit test for XBAT containing files (previously there wasn't one)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1053511 13f79535-47bb-0310-9956-ffa450edef68
2010-12-29 03:00:46 +00:00
Nick Burch
e2abe57845 More NPOIFS XBAT updates
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1053504 13f79535-47bb-0310-9956-ffa450edef68
2010-12-29 01:34:56 +00:00
Nick Burch
30a23fc7b4 Fix the name of the RootProperty, as it never changes
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1053503 13f79535-47bb-0310-9956-ffa450edef68
2010-12-29 01:34:18 +00:00
Nick Burch
01626c6626 XBAT logic in NPOIFS was incorrect - it's a chain of doubly indirect, not singly indirect BATs. Start to correct
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1053495 13f79535-47bb-0310-9956-ffa450edef68
2010-12-29 01:05:01 +00:00
Nick Burch
029850e5cf Implement a NPOIFS document reader, and add tests which use it
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1053279 13f79535-47bb-0310-9956-ffa450edef68
2010-12-28 08:52:50 +00:00
Nick Burch
5ed63966c4 Allow POIFSLister to switch between the two different POIFS implementations when listing
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1053274 13f79535-47bb-0310-9956-ffa450edef68
2010-12-28 07:13:47 +00:00
Nick Burch
9a865f1a30 Add NPOIFS high level Document implementation
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1053273 13f79535-47bb-0310-9956-ffa450edef68
2010-12-28 07:15:38 +00:00
Nick Burch
63cfee8179 Start on refactoring ready to support NPOIFS Directory/Document nodes
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1053269 13f79535-47bb-0310-9956-ffa450edef68
2010-12-28 06:21:40 +00:00
Nick Burch
35c54e42b9 Partial NPOIFS write implementation, and tidy up of methods around this
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1053261 13f79535-47bb-0310-9956-ffa450edef68
2010-12-28 05:31:32 +00:00
Nick Burch
4f984c02c3 Add TODOs for further stream writing work
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1053251 13f79535-47bb-0310-9956-ffa450edef68
2010-12-28 04:46:12 +00:00
Nick Burch
14fbfb1321 More NPOIFSStream tests, and explicit free support+test
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1053249 13f79535-47bb-0310-9956-ffa450edef68
2010-12-28 04:29:18 +00:00
Nick Burch
f8c1e5437f Add tests for the NPOIFS mini stream
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1053014 13f79535-47bb-0310-9956-ffa450edef68
2010-12-27 07:39:57 +00:00
Nick Burch
bf9444f784 Start to support the MiniStream, by extracting out the BlockStore superclass and implementing a SBAT/Stream based mini block version
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1053007 13f79535-47bb-0310-9956-ffa450edef68
2010-12-27 06:50:05 +00:00
Nick Burch
17c775625c Move the SBAT/BAT cutoff constant to POIFSConstants
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1052995 13f79535-47bb-0310-9956-ffa450edef68
2010-12-27 04:04:47 +00:00
Nick Burch
cd216b6f0b More NPOIFS tests
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1052988 13f79535-47bb-0310-9956-ffa450edef68
2010-12-27 01:51:10 +00:00
Nick Burch
574e993120 Start on PropertyTable support for NPOIFS, and more NPOIFS tests
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1052205 13f79535-47bb-0310-9956-ffa450edef68
2010-12-23 09:21:49 +00:00
Nick Burch
4d3ddefa5b Output the correct header value
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1052202 13f79535-47bb-0310-9956-ffa450edef68
2010-12-23 09:19:39 +00:00
Nick Burch
bc410cfd73 Fix warnings, typos etc
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1052201 13f79535-47bb-0310-9956-ffa450edef68
2010-12-23 09:18:04 +00:00
Nick Burch
a157f496ee Add NPOIFSFileSystem support for identifying free blocks, along with partial unit tests for it
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1052194 13f79535-47bb-0310-9956-ffa450edef68
2010-12-23 08:02:50 +00:00
Nick Burch
e911c35421 More NPOIFSFileSystem and NPOIFSStream read unit tests, along with details of a few more tests still to be written
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1052186 13f79535-47bb-0310-9956-ffa450edef68
2010-12-23 07:08:50 +00:00
Nick Burch
39f533b4d0 Initial NPOIFS low level stream reader and writer. Still needs unit tests, but should allow reading and writing to a basic stream of (big) blocks
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1051795 13f79535-47bb-0310-9956-ffa450edef68
2010-12-22 08:52:17 +00:00
Nick Burch
c0a0faf9c5 More BATBlock related methods for identifying size and list offsets, plus tests
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1051791 13f79535-47bb-0310-9956-ffa450edef68
2010-12-22 08:41:28 +00:00
Nick Burch
d2583d83d5 Refactor the common LZW decompression code out into utils
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1051377 13f79535-47bb-0310-9956-ffa450edef68
2010-12-21 05:18:34 +00:00
Nick Burch
b31c0f88da More PropertyTable refactoring - pull common code out into a Base, so we can plug in a different block reader/writer for NIO
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1051029 13f79535-47bb-0310-9956-ffa450edef68
2010-12-20 09:30:32 +00:00
Nick Burch
2c58431592 POIFS Property refactoring ready for NIO support
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1051025 13f79535-47bb-0310-9956-ffa450edef68
2010-12-20 09:06:47 +00:00
Nick Burch
aaf795a77a Bit more on NPOIFSFileSystem, and some typo fixes in documentation
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1050815 13f79535-47bb-0310-9956-ffa450edef68
2010-12-19 11:43:54 +00:00
Nick Burch
848f62144a Change how the NIO block read works, to re-use the byte array for the from-InputStream case. Also start on reading the FAT blocks for NPOIFSFileSystem
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1050775 13f79535-47bb-0310-9956-ffa450edef68
2010-12-19 08:53:36 +00:00
Nick Burch
019c30e33c Initial work on a NIO POIFSFileSystem. Currently is able to open the file and read the header, but no more
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1050773 13f79535-47bb-0310-9956-ffa450edef68
2010-12-19 08:06:48 +00:00
Nick Burch
11baa943c4 Move CloseIgnoringInputStream out to its own class, and add more helper methods
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1050772 13f79535-47bb-0310-9956-ffa450edef68
2010-12-19 08:05:44 +00:00
Nick Burch
e86e3af3b2 Make BATBlock useful for read (was previously write only)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1050770 13f79535-47bb-0310-9956-ffa450edef68
2010-12-19 07:17:14 +00:00
Nick Burch
d9cec1d58c Move more of the logic from HeaderBlockWriter to HeaderBlock
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1050767 13f79535-47bb-0310-9956-ffa450edef68
2010-12-19 06:35:54 +00:00
Nick Burch
6530aeaf82 Start to merge the POIFS classes HeaderBlockReader and HeaderBlockWriter into a common HeaderBlock class
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1050764 13f79535-47bb-0310-9956-ffa450edef68
2010-12-19 05:54:11 +00:00
Nick Burch
a56ca62d40 Tests and tweaks to the NIO DataSource code
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1050758 13f79535-47bb-0310-9956-ffa450edef68
2010-12-19 04:59:49 +00:00
Nick Burch
5e9cbd4645 Start on lower memory POIFS implementation - data source to provide common access to array of bytes and files
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1050607 13f79535-47bb-0310-9956-ffa450edef68
2010-12-18 10:18:43 +00:00
Yegor Kozlov
326cf56aa7 Support for continued NameRecords, see bugzilla 50244
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1049202 13f79535-47bb-0310-9956-ffa450edef68
2010-12-14 18:17:59 +00:00
Nick Burch
63bc348d04 Fix bug #50416 - Correct shifting of the first or last row in a sheet by multiple rows
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1048951 13f79535-47bb-0310-9956-ffa450edef68
2010-12-14 06:41:08 +00:00
Yegor Kozlov
340ed55cf5 mark GutsRecord as terminating row blocks, prevent exception when reading workbooks with unexpected GutsRecords, see Bugzilla 50426
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1044655 13f79535-47bb-0310-9956-ffa450edef68
2010-12-11 13:48:18 +00:00
Yegor Kozlov
97b07620de Added implementation for MROUND(), VAR() and VARP()
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1044642 13f79535-47bb-0310-9956-ffa450edef68
2010-12-11 12:41:17 +00:00
Yegor Kozlov
f09a06575c code cleanup as suggested in Bugzilla 50446
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1044405 13f79535-47bb-0310-9956-ffa450edef68
2010-12-10 15:43:59 +00:00
Yegor Kozlov
119bc57e05 Support for IRR() function, see Bugzilla 50409. Includes fix for Bugzilla 50437
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1044370 13f79535-47bb-0310-9956-ffa450edef68
2010-12-10 14:20:35 +00:00
Yegor Kozlov
b2ee6fb309 Improved performance of RowRecordsAggregate.getStartRowNumberForBlock / getEndRowNumberForBlock, see Bugzilla 47405
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1043517 13f79535-47bb-0310-9956-ffa450edef68
2010-12-08 16:53:24 +00:00