[ 
https://issues.apache.org/jira/browse/COMPRESS-207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15223264#comment-15223264
 ] 

Stefan Bodewig commented on COMPRESS-207:
-----------------------------------------

The history of the bzip2 classes is pretty confusing. It all started with 
Keiron Little contributing code that contained a port (which looked as if it 
had quite a bit of history outside of Apache) of libbzip2's C code to Ant. From 
there folks at Hadoop picked it up and modified it to make it possible to use 
parallel processing of blocks and contributed (some of) their modifications 
back to Ant. Ant in turn accepted and later reverted the changes since they 
turned out to introduce wrong results in certain situations - and later 
reintegrated a fixed version of the change.

Somewhere at the same time the now retired Avalon project forked all kinds of 
compression/archiving code from Ant as a utility library. This code later 
became Commons Compress and the nucleus of Plexus Archiver (used by Maven).

In the following years fixes have been merged between Compress and Ant and I 
think Plexus Archiver is now using parts of Compress. So you're bound to find 
several very close implementations that have run out of sync.

> add notifier support for new block in BZip2CompressorInputStream
> ----------------------------------------------------------------
>
>                 Key: COMPRESS-207
>                 URL: https://issues.apache.org/jira/browse/COMPRESS-207
>             Project: Commons Compress
>          Issue Type: New Feature
>          Components: Compressors
>    Affects Versions: 1.4.1
>            Reporter: Thomas Meyer
>            Priority: Minor
>              Labels: API, bzip
>         Attachments: 
> 0001-Add-notifier-support-for-new-block-in-BZip2Compresso.patch, 
> BZip2CompressorInputStream-add-newBlock-notifier.patch, 
> BZip2CompressorInputStream-add-newBlock-notifier.patch, 
> BZip2CompressorInputStream-add-newBlock-notifier.patch
>
>
> hi,
> attached patch enables an program to add a listener when a new bzip2
> block is detected.
> The notifier is called with:
>  - xxx.newBlock(this, currBlockPosition)
> - this = the current BZip2CompressorInputStream object
> - currBlockPosition = The offset (i.e. start position) in the compressed
> input stream of the current block



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to