Stefano Bagnara wrote:
> > It used to be kept out of MOST of the Matchers and Mailets.
> > IIRC, at one point it was only in RemoteDelivery, and then
> I added it (by necessity) to the quota code. Likewise, Mark
> did evil :-) things with the CommandListServ configuration code.
> Here is a list of mailets/matchers/commands having avalon dependencies:
Right.
> AbstractStorageQuota.java (2 matches)
I did that one. Needed it to get at the user repository info, which should be
replaced by JNDI and/or Mailet API enhancements.
Danny really wants to keep the Mailet API small and sweet, but maybe we should
look at some supplemental packages to keep the core API small and still add
some other concepts.
> BayesianAnalysis.java (3 matches)
> BayesianAnalysisFeeder.java (3 matches)
> JDBCVirtualUserTable.java (3 matches)
> WhiteListManager.java (3 matches)
> IsInWhiteList.java (3 matches)
Most of those are relatively new, and use it only to get the datasource, which
can be easily replaced with a JNDI lookup.
> BaseCommand.java (2 matches)
> CommandListservFooter.java
> CommandListservManager.java (3 matches)
> CommandListservProcessor.java (2 matches)
> ICommandListservManager.java (2 matches)
> IListServCommand.java (2 matches)
> Subscribe.java (2 matches)
> SubscribeConfirm.java (2 matches)
> UnSubscribe.java (2 matches)
> UnSubscribeConfirm.java (2 matches)
> Info.java (2 matches)
> Owner.java (2 matches)
> ErrorCommand.java (2 matches)
Right, this is what Mark did to get more sophisticated configuration than the
Mailet API provides. All of this would be replaced by switching to a more
sophisticated configuration in the Mailet API, to which we have at long last
agreed to expand beyond the flat mailet configuration and too-simple matcher
configuration.
> AvalonListserv.java (2 matches)
> AvalonListservManager.java (2 matches)
> JDBCAlias.java (3 matches)
> JDBCListserv.java (3 matches)
Obsolete and ready to deprecate, IMO.
> FromRepository.java (4 matches)
Would be replaced by standard (JNDI) lookup of mail repositories.
> RemoteDelivery.java (4 matches)
One aspect would be replaced by a JNDI DNS lookup (or adding functionality to
the MailetContext), the other by the new spooler.
> ToMultiRepository.java (4 matches)
> ToRepository.java (4 matches)
> UsersRepositoryAliasingForwarding.java (2 matches)
This was recently caused by not using the MailetContext.
> Well, James depends on almost 50% of classes defined in the
> avalon-framework-api-4.3.jar file. It is a 32K jar with very
> few interfaces, but we really use most of it in james code.
The matchers and mailets can be re-isolated from Avalon as above. The protocol
handlers can be addressed as discussed a bit earlier today. The user
repository and message store should to be replaced, anyway. Logging for
matchers, mailets and handlers should be provided by the container, either as
currently or via a standard API (Commons Logging or java.util.logging).
> as I already said the most critical imho is the
> Configuration/Configurable interface.
We talked at ApacheCon about basing a new org.apache.mailet configuration
package on Jakarta Commons Configuration.
> About the ServiceManager we can either create our "Service locator"
> interfaces/code in james
No need to reinvent something for which we've had a Java standard for years.
--- Noel
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]