james-mime4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oleg Kalnichevski <ol...@apache.org>
Subject Re: Module split up
Date Tue, 02 Feb 2010 14:51:02 GMT
On Tue, 2010-02-02 at 14:36 +0100, Stefano Bagnara wrote:
> 2010/2/2 Oleg Kalnichevski <olegk@apache.org>:
> > Folks,
> >
> > Given the magnitude of changes that took place in the trunk I think we
> > should really try to tackle all potentially disruptive issues before 0.7
> > and finally really try to not move things around anymore.
> I think we could plausible find a "stable" structure for the parser
> module, while staying in a "beta" stage with the dom stuff. So
> separating the modules could even help us explaining this to users.
> This is because I think on the dom side we still need more time to
> find a good design.
> > I would like to invest time into resolving MIME4J-129, MIME4J-129 and
> > MIME4J-158.
> You repeated MIME4J-129: did you mean another one?


> > I would like to tackle the issues in several steps:
> >
> > (1) Move MaximalBodyDescriptor from o.a.j.m.parser to o.a.j.m.dom
> I don't think this is correct: MBD includes parsing implementation
> details, while IMO dom is intended to only contain "api" (in form of
> base/abstract classes and interfaces).

MaximalBodyDescriptor appears to be the only thing that ties the parser
packages with the field package. As far as I am concerned it does not
matter where it ends up, as long as its new location enables the parser
package to be decoupled from the field package. It can be
o.a.j.m.dom.parser, o.a.j.m.dom.impl or o.a.j.m.whatever. Feel free to
suggest a better home / package name.

> > (2) Move dom.*, field.*, message, and storage packages from mime4j-core
> > to a new module called mime4j-dom
> Unfortunately I'm not sure what you're proposing is feasible.
> Otherwise I'm +1 with a similar change.
> What I mean is that (IIRC) the current parser package have
> dependencies on the dom/field packages.

See above.

> If I understand your proposal you want to create
> mime4j-core
> mime4j-dom
> mime4j-storage
> right? What are the dependencies between them?

* mime4j-core (o.a.j.m.util, o.a.j.m.io, o.a.j.m.codec, o.a.j.m.stream,
o.a.j.m.parser) has no dependencies.

* mime4j-dom (o.a.j.m.field.*, o.a.j.m.field.dom.*, o.a.j.m.message)
depends on mime4j-core and possibly commons-logging

* mime-storage (o.a.j.m.storage) depends on mime4j-dom 

View raw message