Bug 56791 - In 3.13, switch the default POIFS implementation from POIFSFileSystem to NPOIFSFileSystem
Summary: In 3.13, switch the default POIFS implementation from POIFSFileSystem to NPOI...
Alias: None
Product: POI
Classification: Unclassified
Component: POIFS (show other bugs)
Version: 3.13-dev
Hardware: PC Linux
: P2 enhancement (vote)
Target Milestone: ---
Assignee: POI Developers List
Depends on: 58061
  Show dependency tree
Reported: 2014-07-30 07:40 UTC by Nick Burch
Modified: 2015-08-12 07:03 UTC (History)
0 users


Note You need to log in before you can comment on or make changes to this bug.
Description Nick Burch 2014-07-30 07:40:52 UTC
As if 3.11 beta 1, NPOIFS now does everything that the older POIFSFileSystem did, and more too

After 3.11 final, we should switch the default used within POI to be NPOIFSFileSystem instead of POIFSFileSystem

We can potentially also look at offering in-place writes for POIDocument / POIXMLDocument instances opened from Files at the same time (InputStream opened ones will still need to use write(OutputStream) to write out)
Comment 1 Tim Allison 2014-07-30 11:57:54 UTC
Y. Doing that now.
Comment 2 Tim Allison 2014-07-30 11:59:50 UTC
Doh! Wrong issue.
Comment 3 Andreas Beeker 2014-08-02 00:55:46 UTC
added a new failing test-case for in-place writing in r1615273

looks like the deletion of an entry causes problems
Comment 4 Nick Burch 2015-05-11 19:10:11 UTC
As of r1678802, most things have been moved over to NPOIFSFileSystem. POIFSFileSystem has been renamed to OPOIFSFileSystem, with a stub POIFSFileSystem left in place for compatibility

Assuming no bugs are reported in the next month or two from this main change to NPOIFS, we can look to then change the POIFSFileSystem stub to use NPOIFSFileSystem to mostly complete the switch

(I've split the in-place write enhancement out to r57919 to be tracked there)
Comment 5 Nick Burch 2015-05-26 18:05:48 UTC
Since no problems have been reported in a few weeks, as of r1681804, when you request POIFSFileSystem, you now get a NPOIFSFileSystem rather than the older one.

OPOIFSFileSystem remains for those who explicitly want to opt into the older POIFS behaviour