poi-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject [Bug 56437] New: [PATCH] Streaming write support in NPOIFS
Date Mon, 21 Apr 2014 14:33:48 GMT

            Bug ID: 56437
           Summary: [PATCH] Streaming write support in NPOIFS
           Product: POI
           Version: 3.11-dev
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: POIFS
          Assignee: dev@poi.apache.org
          Reporter: andreas.beeker@gmx.de

Created attachment 31544
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=31544&action=edit
[PATCH] Streaming write support in NPOIFS

This patch adds the following:
- streaming write support in NPOIFS *)
- POIFSWriterListener support in NPOIFS
- fixed/updated NPropertyTable entries on write

While developing this patch, I've tried to stick (i.e. be binary compatible) to
the output of POIFS, but apparently this is not necessary. So the parts of the
OLE-container look differently when a new file is saved with NPOIFS vs. POIFS:
- The FAT entry: end of file (POIFS) vs. second block (= block 1)
- The first BAT entry: second last block (POIFS) vs. first block (= block 0)
- The data: first block (POIFS) vs. starting with third block
- The property table: third last block (POIFS) vs. the last block (NPOIFS)

To eventually support real streaming to a new file (without having a
memory-backed datasource), I've decided to keep the order more or less of the
existing implementation, so FAT&BAT entries stay at the same block index and
can be updated in-place - maybe it might be necessary to reserve some blocks in
the beginning of the file for extended BATs, but that is not the focus of this

*) up till now a byte array was the interface

You are receiving this mail because:
You are the assignee for the bug.

To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org

View raw message