james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Danny Angus" <da...@apache.org>
Subject RE: cvs commit: jakarta-james/src/java/org/apache/james James.java
Date Mon, 06 Jan 2003 16:23:05 GMT
SpoolRepository currently extends MailRepository.

I can't see any benefit of a super interface for all repository types, after
all theres not a lot of common functionality apart from "get(key)"

I can see the benefit of extending UserRepository to provide different
functions, but we should perhaps have some means of identifying different
types other than resort to introspection, in any case I don't think this is
a trivial issue, and perhaps we should consider making mail and spool
repositories both inherit from a single common interface so that they are
peers rather than a rather arbitrarily parent and child. Better brains than
mine have discussed this already.

As far as this series of commits is concerned I want to simply re-factor
avalon repository access out of the standard mailets, and make mailets gain
repository access through contracts defined by the MailetAPI.

This means I'm refactoring some interfaces from James into Mailet, adding
methods and implementing them.

What I'm conciously *not* doing is altering the logic or architecture in any
way beyond my self-imposed remit.

This in order that everyone else can see, test and comment on what I've
done. Hopefully so that I don't introduce any badness, but also so that
whatever other API changes can or will be encouraged by these changes isn't
simply on my whim, but has some clear architectural benefit.

I'm imposing a limit on myself for this work, limiting it to changes to the
MailetAPI and James aimed at improving the lot of mailet writers, which
includes these changes plus the classloading issues discussed earlier and on
the wiki. Otherwise I'll get no work done, earn no money and my wife will
have at me with a frying pan ;-)

Noel and I have argued at length about mailet logging, and as he was
proposing it and me opposing it I'll leave it to him to flesh out the
initial offering.

Once my changes are complete we may have enough v3 differences to make it
worth releasing an early access milestone for mailet developers to comment
on and direct further changes.


> -----Original Message-----
> From: Harmeet Bedi [mailto:harmeet@kodemuse.com]
> Sent: 06 January 2003 17:39
> To: James Developers List
> Subject: Re: cvs commit: jakarta-james/src/java/org/apache/james
> James.java
> ----- Original Message -----
> From: <danny@apache.org>
> >   +    MailRepository getMailRepository(String specificationURL) throws
> MessagingException;
> >   +    SpoolRepository getMailSpool(String specificationURL) throws
> MessagingException;
> >   +//void getUserRepository() throws MessagingException;
> Danny, what do you think about having an abstraction of
> Repository type and
> Repository. There could be multiple repositories. For instance there could
> be a Mail, Spool, Spam and may be user specified repositories.
> Harmeet
> --
> To unsubscribe, e-mail:
For additional commands, e-mail: <mailto:james-dev-help@jakarta.apache.org>

To unsubscribe, e-mail:   <mailto:james-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:james-dev-help@jakarta.apache.org>

View raw message