Bug 56791

Summary: In 3.13, switch the default POIFS implementation from POIFSFileSystem to NPOIFSFileSystem
Product: POI Reporter: Nick Burch <apache>
Component: POIFSAssignee: POI Developers List <dev>
Status: RESOLVED FIXED    
Severity: enhancement    
Priority: P2    
Version: 3.13-dev   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Bug Depends on: 58061    
Bug Blocks:    

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