james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Norman Maurer ...@byteaction.de>
Subject Re: James Handlers refactoring (Was: svn commit: r404864)
Date Mon, 08 May 2006 05:42:21 GMT
Am Montag, den 08.05.2006, 00:54 +0200 schrieb Stefano Bagnara:
> I committed this as a work-in-progress proposal.
> 
> I'm happy with the result, so far, but it comes with a drawback.
> 
> In order to put most code in commons I had to change the "reader" used 
> by the RemoteManager from a BufferedReader to a CRLFTerminatedReader.
> 
> Imho this is not a big issue and most "telnet based" protocol enforce 
> this rule, but this introduce a small backward incompatibility issue.
> 
> The next step would be to separate commands in CmdHandler for 
> NNTP/RemoteManager and POP3 like we did for SMPTServer.

That whould be a nice refactoring .. So it will be much easier to add
new commands without touch the "core". What about make SMTPHandler
execute more then one CmdHandler ber command ? What was the last state
for that ?

> 
> This would be a better structure to start adding new remoteManager 
> commands Norman already submitted to JIRA.
> 
Right.. I also have some new features here. But i want to wait until i
know if the refactoring will be made..

> Please review the changes in *Handler and *Server and tell me what you 
> think.
> 
After a quick review i think its a good choice  to remove ushc duplicate
code and but it in seperate classes..

> Stefano
> 
> PS: Overall the refactoring on the Handler stuff reduced the source size 
> of James of 20K and remove a lot of duplicate code.
> 
> bago@apache.org wrote:
> > Author: bago
> > Date: Sun May  7 15:36:08 2006
> > New Revision: 404864
> > 
> > URL: http://svn.apache.org/viewcvs?rev=404864&view=rev
> > Log:
> > Further generalization in protocol handling. Now the 4 specific protocol handler
are Avalon free (all the avalon stuff is in the AbstractJamesHandler) and they share most
of the low-level protocol code.
> > Please note that RemoteManagerHandler now uses the CRLFInputStreamReader so it now
mandate a CRLF based communication.
> > 
> > Modified:
> >     james/server/trunk/src/java/org/apache/james/core/AbstractJamesHandler.java
> >     james/server/trunk/src/java/org/apache/james/nntpserver/NNTPHandler.java
> >     james/server/trunk/src/java/org/apache/james/pop3server/POP3Handler.java
> >     james/server/trunk/src/java/org/apache/james/remotemanager/RemoteManagerHandler.java
> >     james/server/trunk/src/java/org/apache/james/smtpserver/SMTPHandler.java
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org

bye
Norman

Mime
View raw message