21 Commits

Author SHA1 Message Date
Dominik Stadler
3cad9e6851 Bug 64322: Optimize performance of reading ole2 files
Remember channel-size to no re-read it for every read-access,
but reset it if we extend the size of the file
profiling indicates Channel.size() sometimes has similar runtime
overhead as position() or read()!

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1877816 13f79535-47bb-0310-9956-ffa450edef68
2020-05-16 13:06:07 +00:00
Andreas Beeker
8b4f463ed3 #64387 - Big POIFS stream result in OOM
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1877144 13f79535-47bb-0310-9956-ffa450edef68
2020-04-28 23:08:05 +00:00
Dominik Stadler
53a30d796e Bug 62151: Fix warnings about illegal reflective access in Java 9+ by
using a similar approach as Apache Hadoop via a CleanerUtil class which encapsulates
the two different approaches for Java <= 8 and Java >= 9

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1854630 13f79535-47bb-0310-9956-ffa450edef68
2019-03-02 09:19:45 +00:00
Andreas Beeker
e331ecb3f6 sonar fixes - blocker
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1839745 13f79535-47bb-0310-9956-ffa450edef68
2018-08-31 11:56:18 +00:00
Dominik Stadler
0cfa1ede4c Remove unnecessary type arguments (Java 8)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1808516 13f79535-47bb-0310-9956-ffa450edef68
2017-09-16 08:27:23 +00:00
Nick Burch
0474d20b73 Add a possible future TODO
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1782472 13f79535-47bb-0310-9956-ffa450edef68
2017-02-10 14:02:12 +00:00
Dominik Stadler
406bc9c6c1 Adjust handling of ByteBuffer some more
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1761636 13f79535-47bb-0310-9956-ffa450edef68
2016-09-20 20:24:54 +00:00
Tim Allison
1265c3a9a7 POI 60140 Prevent unnecessary memory usage -- no need to cache HeapByteBuffer in FileBackedDataSource, thanks to Luis Filipe Nassif for diagnosing this
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1760816 13f79535-47bb-0310-9956-ffa450edef68
2016-09-15 00:19:52 +00:00
Nick Burch
fcf3162b54 Sync the file-based "past-the-end" exception to match the stream one, so that extending works, then tests for HSSF writing to a new empty POIFS file #57919
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1753489 13f79535-47bb-0310-9956-ffa450edef68
2016-07-20 12:01:36 +00:00
Dominik Stadler
7c87528bb6 The changes for using AccessController/SecurityManager also added a log which now spams a lot if log is enabled in integration-tests, reduce it a bit by not trying to call "cleaner()" on HeapByteBuffer which does not have it for sure
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1746411 13f79535-47bb-0310-9956-ffa450edef68
2016-06-01 08:05:07 +00:00
Uwe Schindler
ed49714cd0 Use Lucene's unmapping code inside AccessController.doPrivileged() for unmapping mapped byte buffers.
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1713350 13f79535-47bb-0310-9956-ffa450edef68
2015-11-09 09:06:01 +00:00
Dominik Stadler
0648ee7b54 Bug 58480: Work around problem where on Windows systems a Mapped Buffer can still lock a file even if the Channel was closed properly. Use reflection as DirectBuffer is in package sun.com and thus likely to go away with Java 9.
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1708609 13f79535-47bb-0310-9956-ffa450edef68
2015-10-14 14:53:41 +00:00
Andreas Beeker
13860b6d5a The NPOIFS-classes result currently in left-over memory mapped buffers.
These are actually hard to workaround, so for Windows the test is ignored, if this error happens.
http://stackoverflow.com/questions/3602783/file-access-synchronized-on-java-object 

Apart of that, the RandomFileAccess instance is saved in the FileBackedDataSource as it needs to
be closed instead of the Channel.
http://bugs.java.com/bugdatabase/view_bug.do?bug_id=4796385

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1592418 13f79535-47bb-0310-9956-ffa450edef68
2014-05-04 20:58:42 +00:00
Nick Burch
0eb4f7684c Update the HPSF change properties example to use NPOIFS + in-place writes, and have NPOIFS give a helpful error if you try to in-place write on a read only open
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1590577 13f79535-47bb-0310-9956-ffa450edef68
2014-04-28 09:22:58 +00:00
Nick Burch
4e984df1c9 Get NPOIFS in-place-write working!
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1590556 13f79535-47bb-0310-9956-ffa450edef68
2014-04-28 06:35:39 +00:00
Nick Burch
7b134ca25a More on the HPFS in-place NPOIFS write tests, and a note about what is still to do for them
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1590319 13f79535-47bb-0310-9956-ffa450edef68
2014-04-26 22:50:00 +00:00
Dominik Stadler
b002f0497a Add some @Overrides suggested by Eclipse, generics and some warnings,
convert some tabs to spaces.

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1553466 13f79535-47bb-0310-9956-ffa450edef68
2013-12-26 09:38:48 +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
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
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