Author: rdonkin Date: Fri Feb 9 10:53:43 2007 New Revision: 505418 URL: http://svn.apache.org/viewvc?view=rev&rev=505418 Log: Moved state checking in processing.
Modified: james/server/sandbox/seda-imap/src/java/org/apache/james/imapserver/ImapRequestHandler.java james/server/sandbox/seda-imap/src/java/org/apache/james/imapserver/commands/CommandTemplate.java Modified: james/server/sandbox/seda-imap/src/java/org/apache/james/imapserver/ImapRequestHandler.java URL: http://svn.apache.org/viewvc/james/server/sandbox/seda-imap/src/java/org/apache/james/imapserver/ImapRequestHandler.java?view=diff&rev=505418&r1=505417&r2=505418 ============================================================================== --- james/server/sandbox/seda-imap/src/java/org/apache/james/imapserver/ImapRequestHandler.java (original) +++ james/server/sandbox/seda-imap/src/java/org/apache/james/imapserver/ImapRequestHandler.java Fri Feb 9 10:53:43 2007 @@ -125,11 +125,6 @@ return; } - if ( !command.validForState( session.getState() ) ) { - response.commandFailed( command, "Command not valid in this state", tag ); - return; - } - command.process( request, response, session, tag ); } Modified: james/server/sandbox/seda-imap/src/java/org/apache/james/imapserver/commands/CommandTemplate.java URL: http://svn.apache.org/viewvc/james/server/sandbox/seda-imap/src/java/org/apache/james/imapserver/commands/CommandTemplate.java?view=diff&rev=505418&r1=505417&r2=505418 ============================================================================== --- james/server/sandbox/seda-imap/src/java/org/apache/james/imapserver/commands/CommandTemplate.java (original) +++ james/server/sandbox/seda-imap/src/java/org/apache/james/imapserver/commands/CommandTemplate.java Fri Feb 9 10:53:43 2007 @@ -130,7 +130,7 @@ ImapSession session, String tag ) throws ProtocolException, MailboxException, AuthorizationException { AbstractImapCommandMessage message = decode( request, tag ); - ImapResponseMessage responseMessage = message.doProcess( session, tag ); + ImapResponseMessage responseMessage = message.doProcess( session ); responseMessage.encode(response, session); } @@ -183,7 +183,7 @@ ImapResponseMessage result; final Logger logger = getLogger(); try { - result = doProcess( session, tag ); + result = doProcess(session); } catch ( MailboxException e ) { if (logger != null) { @@ -207,6 +207,18 @@ String msg = e.getMessage() + " Command should be '" + getExpectedMessage() + "'"; result = new ErrorResponseMessage( msg, tag ); + } + return result; + } + + final ImapResponseMessage doProcess(ImapSession session) throws MailboxException, AuthorizationException, ProtocolException { + ImapResponseMessage result; + if ( !validForState( session.getState() ) ) { + result = + new CommandFailedResponseMessage(CommandTemplate.this, + "Command not valid in this state", tag ); + } else { + result = doProcess( session, tag ); } return result; } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]