1350 Commits

Author SHA1 Message Date
Nick Burch
63f490ba72 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
fe6c408450 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
ae43d980c5 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
8d1adcac91 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
0057449df4 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
f02e062521 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
d004673137 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
3a0d6d3f8e 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
f22e831a0f 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
bf27275eb2 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
ada898d0cf 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
628081356e 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
d6578850ab 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
c50b305281 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
bfcc46192c 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:16:12 +00:00
Nick Burch
8d19052b6a 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
f88663e5bc 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
e797edb37b 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
4d0313fd2e 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
08e0e85635 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
7b9ffe986a 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
1bffc624a7 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
42e0f7b745 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
e511b34037 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
c204206f19 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
d5a1c8b7da 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
f38bbd4de4 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
9605338d1f 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
de3d20d51a 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
c4b00f8592 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
b77ffa0c7a 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
bd17bf45a9 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
c9294875b0 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
569cd51d33 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
adca67b937 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
aaddcfc655 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
302df8aa4c 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
ced5abd457 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
b79ad301cf 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
626e01a4e3 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
6703ad1c93 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
4b8e5f61c1 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
c0e28795c1 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
12c173389f 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
c3ce5915b2 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
de72a3ca73 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
72ce4e8eb7 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
544463463a 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
574810c8aa 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
49dd8f1ca0 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