Robert Burrell Donkin ha scritto:
> On Nov 2, 2007 12:54 AM, Stefano Bagnara <[EMAIL PROTECTED]> wrote:
>> Robert Burrell Donkin ha scritto:
>>> the problem is that session is used in two different senses: database
>>> session and a session of a (session-oriented) protocol
>>>
>>> if you're using a transactional datastore then yes, you'll need a
>>> datastore session to execute transactions but there is no necessity
>>> for this to equal the MailboxAPI session
>> Maybe there are *3* different sessions: the protocol session (for POP3,
>> IMAP, SMTP), the mailboxapi session, the datastore session.
>> Or you are saying that the MailboxAPI session will be the same as (or 1
>> to 1 to) the protocols session?
> 
> it's not clearly defined how the MailboxAPI session relates to the
> protocol and database sessions
> 
> i've done a class diagram for the interfaces in MailboxAPI see
> http://wiki.apache.org/james/BackendMailboxAPI
> 
> IMO this is excessively complex
> 
> in particular:
> 
> * what is the difference between the various Mailbox interfaces and
> the various MailboxSession interfaces?
> * why are so many interfaces necessary?
> 
> - robert

AFAIK Joachim was comfortable with the "facets". I think the real
advantages of that many interfaces was that he was comfortable with them
and he was the only one working on the code, so this was a good advantage.

I'm fine with a simplification of the interfaces (reduce their number).

IMHO the diagram is not so complex. The complexity is in how the objects
are linked together and in the dependencies. It's been a long time since
I looked at IMAP code last time but IIRC each service depends on too
many of this interfaces to have a real gain from splitting the
interfaces so much. In the end there are really few users of the Mailbox
interface or the MailboxSession interface because most code directly
depend on GeneralMailboxSession.

I also agree that the fact that MailboxSession extends Mailbox is really
weird. Even if I don't know what are their responsibility I don't think
that a "Session of something" should extend "something". Maybe they
simply need a better name.

Stefano


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

Reply via email to