Christian Grobmeier a écrit :

thanks for your comments below. They all make sense.

I committed the changes to get a hand on the code, but I won't go farther since your code base is much more advanced.


However, Thorsten and I currently develop a new and (hopefully) better
implementation
than that which is currently available. That implementation fixes some of
the issues you mentioned.
If you want to take a look at it, please check it out via GIT:
http://projects.grobmeier.de/compress-redesign.git/
Your comments and your help is highly appreciated.

My comments, in no specific order:

- the exceptions could extend IOException

- I'm not sure to understand the purpose of the jar classes, isn't a jar just a renamed zip ?

- what's the intent with the empty classes CompressorInputStream and CompressorOutputStream ? The GzipCompressor*Stream would become unnecessary without these.

- would it make sense to put the unix permissions at the ArchiveEntry level ? Or maybe have a base class (UnixEntry?) for the Tar/Ar/ZipEntry classes ?

- hungarian notation must die :)

- IOUtils.copy(in, out) could call copy(in, out, size)

- the exception handling in the factories could be simplified

- the header in ArArchive*Stream could be factorized (ArConstants? along with the sizes of the entry fields)

- it seems there are some duplicate classes in the zip package (ZipEntry vs ZipArchiveEntry)

- Ant has a JarMarker class that extends ZipExtraField, is there an equivalent ?

- the zip package seems quite complicated, do we have to expose all these classes as public ?

- I wonder if the changeset model is mature enough. A higher level API to manipulate the archives would be nice, but I believe an initial release could be made with just the stream classes.

- for simplicity, I would rename the 2 factories as Compressors and Archives. The name of the methods could be shortened too, maybe something like Compressors.newStream("bzip2", in).

- what is missing to complete the API ? The implementation of the changes package ? Or did you plan anything else ?

Emmanuel Bourg


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to