Commit Graph

4249 Commits

Author SHA1 Message Date
Nick Burch
2d583f4e3f 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
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
1df87f0c0f 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
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
22579d8846 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
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
fbb9243fbd 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
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
c3c4e4f2f7 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
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
59130c6193 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
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
Nick Burch
cbf86ed0bc 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
Nick Burch
f751e3cdd3 Inside ExtractorFactory, support finding embedded OOXML documents and providing extractors for them
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1049802 13f79535-47bb-0310-9956-ffa450edef68
2010-12-16 07:39:21 +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