Commit Graph

4051 Commits

Author SHA1 Message Date
Nick Burch bf3222399a Add NPOIFS section to the documentation
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1054207 13f79535-47bb-0310-9956-ffa450edef68
2011-01-01 07:07:16 +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 a7a35871db Tweak HSLF and HWPF to work well with NPOIFS, and add unit tests for this
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1054191 13f79535-47bb-0310-9956-ffa450edef68
2011-01-01 05:42:36 +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 6f3d7d99e5 More NPOIFSStream unit tests
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1053250 13f79535-47bb-0310-9956-ffa450edef68
2010-12-28 04:43:19 +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 bc8332ccd9 Add NPOIFS SBAT tests, and stub out a few future tests
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1053016 13f79535-47bb-0310-9956-ffa450edef68
2010-12-27 07:53:05 +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 e480b455cf More NPOIFSStream unit tests, and stub out a few future ones too
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1053008 13f79535-47bb-0310-9956-ffa450edef68
2010-12-27 06:55:51 +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 b3f1888f6b Add initial low level code for HMEF, an implementation of TNEF (aka winmail.dat). Currently processes core attributes, but not embedded MAPI ones, and still needs to do more for extraction
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1051756 13f79535-47bb-0310-9956-ffa450edef68
2010-12-22 05:04:19 +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 84eab42b56 Add a couple more chunk types
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1051006 13f79535-47bb-0310-9956-ffa450edef68
2010-12-20 07:18:31 +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
Nick Burch 0b4b029e2a Improve the HDGF LZW code.
Some tweaks to the decompression, and more tests, but mostly work on the compression side. We can now compress small streams properly, and these round-trip fine. However, some longer streams don't compress correctly, and more work on that is still needed (see the disabled unit test)


git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1049805 13f79535-47bb-0310-9956-ffa450edef68
2010-12-16 07:41:41 +00:00