You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by da...@apache.org on 2002/01/15 13:14:02 UTC
cvs commit: jakarta-james/proposals/imap/java/org/apache/james/util Assert.java
darrell 02/01/15 04:14:01
Modified: proposals/imap/java/org/apache/james/imapserver
CommandFetch.java CommandStore.java
DefaultRecordRepository.java FileMailbox.java
ImapConstants.java ImapSession.java
ImapSessionState.java JamesHost.java
SingleThreadedConnectionHandler.java
proposals/imap/java/org/apache/james/imapserver/commands
AbstractAclCommand.java
AuthenticatedSelectedStateCommand.java
CapabilityCommand.java CloseCommand.java
CommandTemplate.java CreateCommand.java
DeleteCommand.java ImapCommand.java
ListOrLsubCommand.java LoginCommand.java
NamespaceCommand.java
NonAuthenticatedStateCommand.java NoopCommand.java
RenameCommand.java SelectOrExamineCommand.java
SelectedStateCommand.java StatusCommand.java
SubscribeCommand.java UnsubscribeCommand.java
proposals/imap/java/org/apache/james/util Assert.java
Log:
Refactoring IMAP proposal:
- Replaced int constant for session state with Enumerated Type
- Added flag to enable/disable Assertion evaluation.
Revision Changes Path
1.3 +2 -2 jakarta-james/proposals/imap/java/org/apache/james/imapserver/CommandFetch.java
Index: CommandFetch.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/CommandFetch.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- CommandFetch.java 15 Jan 2002 08:38:25 -0000 1.2
+++ CommandFetch.java 15 Jan 2002 12:13:59 -0000 1.3
@@ -49,9 +49,9 @@
private SingleThreadedConnectionHandler caller;
private String currentFolder;
- public boolean validForState( int state )
+ public boolean validForState( ImapSessionState state )
{
- return ( state == ImapConstants.SELECTED );
+ return ( state == ImapSessionState.SELECTED );
}
public boolean process( ImapRequest request, ImapSession session )
1.3 +2 -2 jakarta-james/proposals/imap/java/org/apache/james/imapserver/CommandStore.java
Index: CommandStore.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/CommandStore.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- CommandStore.java 15 Jan 2002 08:38:25 -0000 1.2
+++ CommandStore.java 15 Jan 2002 12:13:59 -0000 1.3
@@ -48,9 +48,9 @@
private SingleThreadedConnectionHandler caller;
private String currentFolder;
- public boolean validForState( int state )
+ public boolean validForState( ImapSessionState state )
{
- return ( state == ImapConstants.SELECTED );
+ return ( state == ImapSessionState.SELECTED );
}
1.3 +2 -1 jakarta-james/proposals/imap/java/org/apache/james/imapserver/DefaultRecordRepository.java
Index: DefaultRecordRepository.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/DefaultRecordRepository.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DefaultRecordRepository.java 15 Jan 2002 08:38:25 -0000 1.2
+++ DefaultRecordRepository.java 15 Jan 2002 12:13:59 -0000 1.3
@@ -48,7 +48,8 @@
try {
String key = path + File.separator + fr.getAbsoluteName();
File record = new File( key );
- Assert.isTrue( record.exists() );
+ Assert.isTrue( Assert.ON &&
+ record.exists() );
record.delete();
getLogger().info("Record deleted for: " + fr.getAbsoluteName());
notifyAll();
1.3 +18 -9 jakarta-james/proposals/imap/java/org/apache/james/imapserver/FileMailbox.java
Index: FileMailbox.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/FileMailbox.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- FileMailbox.java 15 Jan 2002 08:38:25 -0000 1.2
+++ FileMailbox.java 15 Jan 2002 12:13:59 -0000 1.3
@@ -173,18 +173,22 @@
String initialAdminUser,
int uidValidity )
{
- Assert.isTrue( user != null && user.length() > 0 );
+ Assert.isTrue( Assert.ON &&
+ user != null && user.length() > 0 );
owner = user;
- Assert.isTrue( absName != null && (absName.length() > 0));
+ Assert.isTrue( Assert.ON &&
+ absName != null && (absName.length() > 0));
absoluteName = absName;
- Assert.isTrue( initialAdminUser != null && initialAdminUser.length() > 0 );
+ Assert.isTrue( Assert.ON &&
+ initialAdminUser != null && initialAdminUser.length() > 0 );
acl = new HashMap(7);
acl.put(initialAdminUser, ALL_RIGHTS);
//acl = new SimpleACL(initialAdminUser);
- Assert.isTrue( uidValidity > 0 );
+ Assert.isTrue( Assert.ON &&
+ uidValidity > 0 );
this.uidValidity = uidValidity;
}
@@ -273,7 +277,8 @@
*/
private String getPath( String absoluteName, String owner, String rootPath )
{
- Assert.isTrue( absoluteName.startsWith( JamesHost.NAMESPACE_TOKEN ) );
+ Assert.isTrue( Assert.ON &&
+ absoluteName.startsWith( JamesHost.NAMESPACE_TOKEN ) );
// Remove the leading '#' and replace Hierarchy separators with file separators.
String filePath = absoluteName.substring( JamesHost.NAMESPACE_TOKEN.length() );
@@ -334,15 +339,19 @@
// First delete the mailbox file
String mailboxRecordFile = path + File.separator + MAILBOX_FILE_NAME;
File mailboxRecord = new File( mailboxRecordFile );
- Assert.isTrue( mailboxRecord.exists() &&
+ Assert.isTrue( Assert.ON &&
+ mailboxRecord.exists() &&
mailboxRecord.isFile() );
mailboxRecord.delete();
// Check for empty directory before deleting.
File mailboxDir = new File(path);
- Assert.isTrue( mailboxDir.exists() );
- Assert.isTrue( mailboxDir.isDirectory() );
- Assert.isTrue( mailboxDir.list().length == 0 );
+ Assert.isTrue( Assert.ON &&
+ mailboxDir.exists() );
+ Assert.isTrue( Assert.ON &&
+ mailboxDir.isDirectory() );
+ Assert.isTrue( Assert.ON &&
+ mailboxDir.list().length == 0 );
mailboxDir.delete();
}
1.2 +0 -6 jakarta-james/proposals/imap/java/org/apache/james/imapserver/ImapConstants.java
Index: ImapConstants.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/ImapConstants.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ImapConstants.java 15 Jan 2002 08:38:25 -0000 1.1
+++ ImapConstants.java 15 Jan 2002 12:13:59 -0000 1.2
@@ -9,12 +9,6 @@
public interface ImapConstants
{
- // Connection states
- int NON_AUTHENTICATED = 0;
- int AUTHENTICATED = 1;
- int SELECTED = 2;
- int LOGOUT = 3;
-
// Basic response types
String OK = "OK";
String NO = "NO";
1.2 +2 -2 jakarta-james/proposals/imap/java/org/apache/james/imapserver/ImapSession.java
Index: ImapSession.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/ImapSession.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ImapSession.java 15 Jan 2002 08:38:25 -0000 1.1
+++ ImapSession.java 15 Jan 2002 12:13:59 -0000 1.2
@@ -34,9 +34,9 @@
void untaggedResponse( String msg );
- int getState();
+ ImapSessionState getState();
- void setState( int state );
+ void setState( ImapSessionState state );
BufferedReader getIn();
1.2 +5 -5 jakarta-james/proposals/imap/java/org/apache/james/imapserver/ImapSessionState.java
Index: ImapSessionState.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/ImapSessionState.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ImapSessionState.java 15 Jan 2002 08:38:25 -0000 1.1
+++ ImapSessionState.java 15 Jan 2002 12:13:59 -0000 1.2
@@ -11,7 +11,7 @@
* Enumerated type representing an IMAP session state.
* @todo use this instead of int constants.
*/
-class ImapSessionState
+public class ImapSessionState
{
private int _state;
private String _name;
@@ -35,9 +35,9 @@
return _name;
}
- public static final ImapSessionState NON_AUTHENTICATED = new ImapSessionState( ImapConstants.NON_AUTHENTICATED, "NONAUTHENTICATED" );
- public static final ImapSessionState AUTHENTICATED = new ImapSessionState( ImapConstants.AUTHENTICATED, "AUTHENTICATED" );
- public static final ImapSessionState SELECTED = new ImapSessionState( ImapConstants.SELECTED, "SELECTED" );
- public static final ImapSessionState LOGOUT = new ImapSessionState( ImapConstants.LOGOUT, "LOGOUT" );
+ public static final ImapSessionState NON_AUTHENTICATED = new ImapSessionState( 0, "NONAUTHENTICATED" );
+ public static final ImapSessionState AUTHENTICATED = new ImapSessionState( 1, "AUTHENTICATED" );
+ public static final ImapSessionState SELECTED = new ImapSessionState( 2, "SELECTED" );
+ public static final ImapSessionState LOGOUT = new ImapSessionState( 3, "LOGOUT" );
}
1.3 +38 -17 jakarta-james/proposals/imap/java/org/apache/james/imapserver/JamesHost.java
Index: JamesHost.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/JamesHost.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- JamesHost.java 15 Jan 2002 08:38:25 -0000 1.2
+++ JamesHost.java 15 Jan 2002 12:13:59 -0000 1.3
@@ -231,8 +231,10 @@
public synchronized ACLMailbox getMailbox( String user, String mailboxName )
throws AccessControlException, MailboxException
{
- Assert.isTrue( user != null && user.length() > 0
- && mailboxName != null );
+ Assert.isTrue( Assert.ON &&
+ user != null &&
+ user.length() > 0 &&
+ mailboxName != null );
getLogger().debug( "Getting mailbox " + mailboxName + " for " + user );
@@ -244,7 +246,9 @@
private synchronized ACLMailbox getAbsoluteMailbox( String user, String absoluteName )
throws AccessControlException, MailboxException
{
- Assert.isTrue( user != null && absoluteName.startsWith( NAMESPACE_TOKEN ) );
+ Assert.isTrue( Assert.ON &&
+ user != null &&
+ absoluteName.startsWith( NAMESPACE_TOKEN ) );
ACLMailbox mailbox = null;
FolderRecord record = null;
@@ -329,8 +333,10 @@
MailboxException
{
- Assert.isTrue( user != null && user.length() > 0
- && mailboxName != null );
+ Assert.isTrue( Assert.ON &&
+ user != null &&
+ user.length() > 0 &&
+ mailboxName != null );
// if (user == null || mailboxName == null) {
// getLogger().error("Null parameters received in createMailbox(). " );
// throw new RuntimeException("Null parameters received.");
@@ -340,7 +346,8 @@
// throw new RuntimeException("Empty/incorrect parameters received.");
// }
String absoluteName = getAbsoluteMailboxName( user, mailboxName );
- Assert.isTrue( absoluteName != null );
+ Assert.isTrue( Assert.ON &&
+ absoluteName != null );
// if (absoluteName == null) {
// getLogger().error("Parameters in createMailbox() cannot be interpreted. ");
// throw new RuntimeException("Parameters in createMailbox() cannot be interpreted.");
@@ -354,8 +361,9 @@
throws AccessControlException, AuthorizationException,
MailboxException
{
- Assert.isTrue( absoluteName.startsWith( NAMESPACE_TOKEN )
- && absoluteName.indexOf( HIERARCHY_SEPARATOR ) != -1 );
+ Assert.isTrue( Assert.ON &&
+ absoluteName.startsWith( NAMESPACE_TOKEN ) &&
+ absoluteName.indexOf( HIERARCHY_SEPARATOR ) != -1 );
ACLMailbox mailbox = null;
FolderRecord record = null;
@@ -483,8 +491,11 @@
public boolean deleteMailbox( String user, String mailboxName )
throws MailboxException, AuthorizationException, AccessControlException
{
- Assert.isTrue( user != null && mailboxName != null &&
- user.length() > 0 && mailboxName.length() > 0 );
+ Assert.isTrue( Assert.ON &&
+ user != null &&
+ mailboxName != null &&
+ user.length() > 0 &&
+ mailboxName.length() > 0 );
String absoluteName = getAbsoluteMailboxName( user, mailboxName );
getLogger().debug( "JamesHost deleteMailbox() called for: " + absoluteName );
@@ -523,7 +534,8 @@
}
else {
deleteAllMessages( mailbox, user );
- Assert.isTrue( mailbox.getExists() == 0 );
+ Assert.isTrue( Assert.ON &&
+ mailbox.getExists() == 0 );
openMailboxes.removeMailbox( absoluteName );
recordRep.deleteRecord( recordRep.retrieve( absoluteName ) );
@@ -886,8 +898,11 @@
public boolean subscribe( String userName, String mailboxName )
throws MailboxException, AccessControlException
{
- Assert.isTrue( userName != null && mailboxName != null &&
- userName.length() > 0 && mailboxName.length() > 0 );
+ Assert.isTrue( Assert.ON &&
+ userName != null &&
+ mailboxName != null &&
+ userName.length() > 0 &&
+ mailboxName.length() > 0 );
String absoluteName = getAbsoluteMailboxName( userName, mailboxName );
ACLMailbox mailbox = getAbsoluteMailbox( userName, absoluteName );
@@ -908,8 +923,11 @@
public boolean unsubscribe( String userName, String mailboxName )
throws MailboxException, AccessControlException
{
- Assert.isTrue( userName != null && mailboxName != null &&
- userName.length() > 0 && mailboxName.length() > 0 );
+ Assert.isTrue( Assert.ON &&
+ userName != null &&
+ mailboxName != null &&
+ userName.length() > 0 &&
+ mailboxName.length() > 0 );
String absoluteName = getAbsoluteMailboxName( userName, mailboxName );
ACLMailbox mailbox = getAbsoluteMailbox( userName, absoluteName );
@@ -1120,7 +1138,8 @@
*/
String getPath( String absoluteName )
{
- Assert.isTrue( absoluteName.startsWith( NAMESPACE_TOKEN ) );
+ Assert.isTrue( Assert.ON &&
+ absoluteName.startsWith( NAMESPACE_TOKEN ) );
// Remove the leading '#' and replace Hierarchy separators with file separators.
String filePath = absoluteName.substring( NAMESPACE_TOKEN.length() );
@@ -1146,7 +1165,9 @@
public boolean createPrivateMailAccount( String user )
{
- Assert.isTrue( user != null && user.length() > 0 );
+ Assert.isTrue( Assert.ON &&
+ user != null &&
+ user.length() > 0 );
String userRootName
= getAbsoluteMailboxName( user, "" );
1.3 +7 -7 jakarta-james/proposals/imap/java/org/apache/james/imapserver/SingleThreadedConnectionHandler.java
Index: SingleThreadedConnectionHandler.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/SingleThreadedConnectionHandler.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- SingleThreadedConnectionHandler.java 15 Jan 2002 08:38:25 -0000 1.2
+++ SingleThreadedConnectionHandler.java 15 Jan 2002 12:14:00 -0000 1.3
@@ -66,7 +66,7 @@
private String remoteHost;
private String remoteIP;
private String softwaretype = "JAMES IMAP4rev1 Server " + Constants.SOFTWARE_VERSION;
- private int state;
+ private ImapSessionState state;
private String user;
private IMAPSystem imapSystem;
@@ -174,7 +174,7 @@
untaggedResponse( "PREAUTH" + SP + VERSION + SP
+ "server" + SP + this.helloName + SP
+ "logged in as" + SP + _session.getCurrentUser() );
- _session.setState( AUTHENTICATED );
+ _session.setState( ImapSessionState.AUTHENTICATED );
_session.setCurrentUser( "preauth user" );
getSecurityLogger().info( "Pre-authenticated connection from "
+ getRemoteHost() + "(" + getRemoteIP()
@@ -183,7 +183,7 @@
else {
_session.getOut().println( UNTAGGED + SP + OK + SP + VERSION + SP
+ "Server " + this.helloName + SP + "ready" );
- _session.setState( NON_AUTHENTICATED );
+ _session.setState( ImapSessionState.NON_AUTHENTICATED );
_session.setCurrentUser( "unknown" );
getSecurityLogger().info( "Non-authenticated connection from "
+ getRemoteHost() + "(" + getRemoteIP()
@@ -224,7 +224,7 @@
String message2 )
{
scheduler.removeTrigger( this.toString() );
- if ( _session.getState() == SELECTED ) {
+ if ( _session.getState() == ImapSessionState.SELECTED ) {
getCurrentMailbox().removeMailboxEventListener( this );
getImapHost().releaseMailbox( _session.getCurrentUser(), getCurrentMailbox() );
}
@@ -394,7 +394,7 @@
public void receiveEvent( MailboxEvent me )
{
- if ( _session.getState() == SELECTED ) {
+ if ( _session.getState() == ImapSessionState.SELECTED ) {
checkMailboxFlag = true;
}
}
@@ -489,12 +489,12 @@
return;
}
- public int getState()
+ public ImapSessionState getState()
{
return state;
}
- public void setState( int state )
+ public void setState( ImapSessionState state )
{
this.state = state;
exists = -1;
1.2 +2 -1 jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/AbstractAclCommand.java
Index: AbstractAclCommand.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/AbstractAclCommand.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AbstractAclCommand.java 15 Jan 2002 08:38:26 -0000 1.1
+++ AbstractAclCommand.java 15 Jan 2002 12:14:00 -0000 1.2
@@ -12,6 +12,7 @@
import org.apache.james.imapserver.ImapSession;
import org.apache.james.imapserver.ImapRequest;
import org.apache.james.imapserver.ACLMailbox;
+import org.apache.james.imapserver.ImapSessionState;
import java.util.StringTokenizer;
@@ -52,7 +53,7 @@
session.logAZE( aze );
return true;
}
- if ( session.getState() == SELECTED ) {
+ if ( session.getState() == ImapSessionState.SELECTED ) {
session.checkSize();
session.checkExpunge();
}
1.2 +5 -3 jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/AuthenticatedSelectedStateCommand.java
Index: AuthenticatedSelectedStateCommand.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/AuthenticatedSelectedStateCommand.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AuthenticatedSelectedStateCommand.java 15 Jan 2002 08:38:26 -0000 1.1
+++ AuthenticatedSelectedStateCommand.java 15 Jan 2002 12:14:00 -0000 1.2
@@ -7,6 +7,8 @@
*/
package org.apache.james.imapserver.commands;
+import org.apache.james.imapserver.ImapSessionState;
+
/**
* A base class for ImapCommands only valid in AUTHENTICATED and SELECTED states.
@@ -16,9 +18,9 @@
/**
* Check that the state is AUTHENTICATED or SELECTED
*/
- public boolean validForState( int state )
+ public boolean validForState( ImapSessionState state )
{
- return ( state == AUTHENTICATED
- || state == SELECTED );
+ return ( state == ImapSessionState.AUTHENTICATED
+ || state == ImapSessionState.SELECTED );
}
}
1.2 +2 -1 jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/CapabilityCommand.java
Index: CapabilityCommand.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/CapabilityCommand.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- CapabilityCommand.java 15 Jan 2002 08:38:26 -0000 1.1
+++ CapabilityCommand.java 15 Jan 2002 12:14:00 -0000 1.2
@@ -9,13 +9,14 @@
import org.apache.james.imapserver.ImapRequest;
import org.apache.james.imapserver.ImapSession;
+import org.apache.james.imapserver.ImapSessionState;
class CapabilityCommand extends CommandTemplate
{
public boolean process( ImapRequest request, ImapSession session )
{
session.untaggedResponse( CAPABILITY_RESPONSE );
- if ( session.getState() == SELECTED ) {
+ if ( session.getState() == ImapSessionState.SELECTED ) {
session.checkSize();
session.checkExpunge();
}
1.2 +2 -1 jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/CloseCommand.java
Index: CloseCommand.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/CloseCommand.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- CloseCommand.java 15 Jan 2002 08:38:26 -0000 1.1
+++ CloseCommand.java 15 Jan 2002 12:14:00 -0000 1.2
@@ -9,6 +9,7 @@
import org.apache.james.imapserver.ImapRequest;
import org.apache.james.imapserver.ImapSession;
+import org.apache.james.imapserver.ImapSessionState;
class CloseCommand extends SelectedStateCommand
{
@@ -22,7 +23,7 @@
}
session.getCurrentMailbox().removeMailboxEventListener( session );
session.getImapHost().releaseMailbox( session.getCurrentUser(), session.getCurrentMailbox() );
- session.setState( AUTHENTICATED );
+ session.setState( ImapSessionState.AUTHENTICATED );
session.setCurrentMailbox( null );
session.setCurrentIsReadOnly( false );
session.okResponse( request.getCommand() );
1.2 +2 -2 jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/CommandTemplate.java
Index: CommandTemplate.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/CommandTemplate.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- CommandTemplate.java 15 Jan 2002 08:38:26 -0000 1.1
+++ CommandTemplate.java 15 Jan 2002 12:14:00 -0000 1.2
@@ -23,7 +23,7 @@
/**
* By default, valid in any state (unless overridden by subclass.
*/
- public boolean validForState( int state )
+ public boolean validForState( ImapSessionState state )
{
return true;
}
@@ -37,7 +37,7 @@
protected ACLMailbox getMailbox( ImapSession session, String mailboxName, String command )
{
- if ( session.getState() == SELECTED && session.getCurrentFolder().equals( mailboxName ) ) {
+ if ( session.getState() == ImapSessionState.SELECTED && session.getCurrentFolder().equals( mailboxName ) ) {
return session.getCurrentMailbox();
}
else {
1.2 +2 -5 jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/CreateCommand.java
Index: CreateCommand.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/CreateCommand.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- CreateCommand.java 15 Jan 2002 08:38:26 -0000 1.1
+++ CreateCommand.java 15 Jan 2002 12:14:00 -0000 1.2
@@ -9,10 +9,7 @@
import org.apache.james.AccessControlException;
import org.apache.james.AuthorizationException;
-import org.apache.james.imapserver.ImapRequest;
-import org.apache.james.imapserver.ImapSession;
-import org.apache.james.imapserver.ACLMailbox;
-import org.apache.james.imapserver.MailboxException;
+import org.apache.james.imapserver.*;
import java.util.StringTokenizer;
@@ -61,7 +58,7 @@
+ folder );
return true;
}
- if ( session.getState() == SELECTED ) {
+ if ( session.getState() == ImapSessionState.SELECTED ) {
session.checkSize();
session.checkExpunge();
}
1.2 +2 -1 jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/DeleteCommand.java
Index: DeleteCommand.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/DeleteCommand.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DeleteCommand.java 15 Jan 2002 08:38:26 -0000 1.1
+++ DeleteCommand.java 15 Jan 2002 12:14:00 -0000 1.2
@@ -12,6 +12,7 @@
import org.apache.james.imapserver.ImapRequest;
import org.apache.james.imapserver.ImapSession;
import org.apache.james.imapserver.MailboxException;
+import org.apache.james.imapserver.ImapSessionState;
import java.util.StringTokenizer;
@@ -42,7 +43,7 @@
getLogger().info( "Attempt to delete mailbox " + folder
+ " by user " + session.getCurrentUser() + " failed." );
}
- if ( session.getState() == SELECTED ) {
+ if ( session.getState() == ImapSessionState.SELECTED ) {
session.checkSize();
session.checkExpunge();
}
1.2 +2 -1 jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/ImapCommand.java
Index: ImapCommand.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/ImapCommand.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ImapCommand.java 15 Jan 2002 08:38:26 -0000 1.1
+++ ImapCommand.java 15 Jan 2002 12:14:00 -0000 1.2
@@ -9,9 +9,10 @@
import org.apache.james.imapserver.ImapRequest;
import org.apache.james.imapserver.ImapSession;
+import org.apache.james.imapserver.ImapSessionState;
public interface ImapCommand
{
- boolean validForState( int state );
+ boolean validForState( ImapSessionState state );
boolean process( ImapRequest request, ImapSession session );
}
1.2 +2 -1 jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/ListOrLsubCommand.java
Index: ListOrLsubCommand.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/ListOrLsubCommand.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ListOrLsubCommand.java 15 Jan 2002 08:38:26 -0000 1.1
+++ ListOrLsubCommand.java 15 Jan 2002 12:14:00 -0000 1.2
@@ -11,6 +11,7 @@
import org.apache.james.imapserver.ImapRequest;
import org.apache.james.imapserver.ImapSession;
import org.apache.james.imapserver.MailboxException;
+import org.apache.james.imapserver.ImapSessionState;
import java.util.StringTokenizer;
import java.util.Collection;
@@ -89,7 +90,7 @@
return true;
}
- if ( session.getState() == SELECTED ) {
+ if ( session.getState() == ImapSessionState.SELECTED ) {
session.checkSize();
session.checkExpunge();
}
1.2 +3 -2 jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/LoginCommand.java
Index: LoginCommand.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/LoginCommand.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- LoginCommand.java 15 Jan 2002 08:38:26 -0000 1.1
+++ LoginCommand.java 15 Jan 2002 12:14:00 -0000 1.2
@@ -10,6 +10,7 @@
import org.apache.james.AuthenticationException;
import org.apache.james.imapserver.ImapRequest;
import org.apache.james.imapserver.ImapSession;
+import org.apache.james.imapserver.ImapSessionState;
class LoginCommand extends NonAuthenticatedStateCommand
{
@@ -31,7 +32,7 @@
if ( session.getImapHost().isHomeServer( session.getCurrentUser() ) ) {
session.okResponse( request.getCommand() );
- session.setState( AUTHENTICATED );
+ session.setState( ImapSessionState.AUTHENTICATED );
}
else {
@@ -51,7 +52,7 @@
session.okResponse( "[REFERRAL "
+ remoteServer + "]" + SP
+ "Your home server is remote, other mailboxes available here" );
- session.setState( AUTHENTICATED );
+ session.setState( ImapSessionState.AUTHENTICATED );
}
else {
1.2 +2 -1 jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/NamespaceCommand.java
Index: NamespaceCommand.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/NamespaceCommand.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- NamespaceCommand.java 15 Jan 2002 08:38:26 -0000 1.1
+++ NamespaceCommand.java 15 Jan 2002 12:14:00 -0000 1.2
@@ -10,6 +10,7 @@
import org.apache.james.imapserver.ImapRequest;
import org.apache.james.imapserver.ImapSession;
+import org.apache.james.imapserver.ImapSessionState;
class NamespaceCommand extends AuthenticatedSelectedStateCommand
{
@@ -18,7 +19,7 @@
String namespaces = session.getImapSystem().getNamespaces( session.getCurrentUser() );
session.untaggedResponse( "NAMESPACE " + namespaces );
getLogger().info( "Provided NAMESPACE: " + namespaces );
- if ( session.getState() == SELECTED ) {
+ if ( session.getState() == ImapSessionState.SELECTED ) {
session.checkSize();
session.checkExpunge();
}
1.2 +4 -2 jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/NonAuthenticatedStateCommand.java
Index: NonAuthenticatedStateCommand.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/NonAuthenticatedStateCommand.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- NonAuthenticatedStateCommand.java 15 Jan 2002 08:38:26 -0000 1.1
+++ NonAuthenticatedStateCommand.java 15 Jan 2002 12:14:00 -0000 1.2
@@ -7,6 +7,8 @@
*/
package org.apache.james.imapserver.commands;
+import org.apache.james.imapserver.ImapSessionState;
+
/**
* A base class for ImapCommands only valid in the NON_AUTHENTICATED state.
*/
@@ -15,8 +17,8 @@
/**
* By default, valid in any state (unless overridden by subclass.
*/
- public boolean validForState( int state )
+ public boolean validForState( ImapSessionState state )
{
- return ( state == NON_AUTHENTICATED );
+ return ( state == ImapSessionState.NON_AUTHENTICATED );
}
}
1.2 +2 -1 jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/NoopCommand.java
Index: NoopCommand.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/NoopCommand.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- NoopCommand.java 15 Jan 2002 08:38:26 -0000 1.1
+++ NoopCommand.java 15 Jan 2002 12:14:00 -0000 1.2
@@ -10,12 +10,13 @@
import org.apache.james.imapserver.ImapRequest;
import org.apache.james.imapserver.ImapSession;
+import org.apache.james.imapserver.ImapSessionState;
class NoopCommand extends CommandTemplate
{
public boolean process( ImapRequest request, ImapSession session )
{
- if ( session.getState() == SELECTED ) {
+ if ( session.getState() == ImapSessionState.SELECTED ) {
session.checkSize();
session.checkExpunge();
}
1.2 +2 -1 jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/RenameCommand.java
Index: RenameCommand.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/RenameCommand.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- RenameCommand.java 15 Jan 2002 08:38:26 -0000 1.1
+++ RenameCommand.java 15 Jan 2002 12:14:00 -0000 1.2
@@ -11,6 +11,7 @@
import org.apache.james.imapserver.ImapRequest;
import org.apache.james.imapserver.ImapSession;
import org.apache.james.imapserver.MailboxException;
+import org.apache.james.imapserver.ImapSessionState;
import java.util.StringTokenizer;
@@ -57,7 +58,7 @@
session.noResponse( command, "You do not have the rights to delete mailbox: " + folder );
return true;
}
- if ( session.getState() == SELECTED ) {
+ if ( session.getState() == ImapSessionState.SELECTED ) {
session.checkSize();
session.checkExpunge();
}
1.2 +4 -3 jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/SelectOrExamineCommand.java
Index: SelectOrExamineCommand.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/SelectOrExamineCommand.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SelectOrExamineCommand.java 15 Jan 2002 08:38:26 -0000 1.1
+++ SelectOrExamineCommand.java 15 Jan 2002 12:14:00 -0000 1.2
@@ -11,6 +11,7 @@
import org.apache.james.imapserver.ImapRequest;
import org.apache.james.imapserver.ImapSession;
import org.apache.james.imapserver.ACLMailbox;
+import org.apache.james.imapserver.ImapSessionState;
import java.util.StringTokenizer;
@@ -25,10 +26,10 @@
String folder;
// selecting a mailbox deselects current mailbox,
// even if this select fails
- if ( session.getState() == SELECTED ) {
+ if ( session.getState() == ImapSessionState.SELECTED ) {
session.getCurrentMailbox().removeMailboxEventListener( session );
session.getImapHost().releaseMailbox( session.getCurrentUser(), session.getCurrentMailbox() );
- session.setState( AUTHENTICATED );
+ session.setState( ImapSessionState.AUTHENTICATED );
session.setCurrentMailbox( null );
session.setCurrentIsReadOnly( false );
}
@@ -68,7 +69,7 @@
// Have mailbox with at least read rights. Server setup.
session.getCurrentMailbox().addMailboxEventListener( session );
session.setCurrentFolder( folder );
- session.setState( SELECTED );
+ session.setState( ImapSessionState.SELECTED );
getLogger().debug( "Current folder for user " + session.getCurrentUser() + " from "
+ session.getRemoteHost() + "(" + session.getRemoteIP() + ") is "
+ session.getCurrentFolder() );
1.2 +4 -2 jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/SelectedStateCommand.java
Index: SelectedStateCommand.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/SelectedStateCommand.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SelectedStateCommand.java 15 Jan 2002 08:38:26 -0000 1.1
+++ SelectedStateCommand.java 15 Jan 2002 12:14:00 -0000 1.2
@@ -7,6 +7,8 @@
*/
package org.apache.james.imapserver.commands;
+import org.apache.james.imapserver.ImapSessionState;
+
/**
* A base class for ImapCommands only valid in the SELECTED state.
*/
@@ -15,8 +17,8 @@
/**
* By default, valid in any state (unless overridden by subclass.
*/
- public boolean validForState( int state )
+ public boolean validForState( ImapSessionState state )
{
- return ( state == SELECTED );
+ return ( state == ImapSessionState.SELECTED );
}
}
1.2 +2 -1 jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/StatusCommand.java
Index: StatusCommand.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/StatusCommand.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- StatusCommand.java 15 Jan 2002 08:38:26 -0000 1.1
+++ StatusCommand.java 15 Jan 2002 12:14:00 -0000 1.2
@@ -11,6 +11,7 @@
import org.apache.james.imapserver.ImapRequest;
import org.apache.james.imapserver.ImapSession;
import org.apache.james.imapserver.MailboxException;
+import org.apache.james.imapserver.ImapSessionState;
import java.util.StringTokenizer;
import java.util.List;
@@ -74,7 +75,7 @@
session.logACE( ace );
return true;
}
- if ( session.getState() == SELECTED ) {
+ if ( session.getState() == ImapSessionState.SELECTED ) {
session.checkSize();
session.checkExpunge();
}
1.2 +2 -1 jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/SubscribeCommand.java
Index: SubscribeCommand.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/SubscribeCommand.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SubscribeCommand.java 15 Jan 2002 08:38:26 -0000 1.1
+++ SubscribeCommand.java 15 Jan 2002 12:14:00 -0000 1.2
@@ -11,6 +11,7 @@
import org.apache.james.imapserver.ImapRequest;
import org.apache.james.imapserver.ImapSession;
import org.apache.james.imapserver.MailboxException;
+import org.apache.james.imapserver.ImapSessionState;
import java.util.StringTokenizer;
@@ -53,7 +54,7 @@
session.logACE( ace );
return true;
}
- if ( session.getState() == SELECTED ) {
+ if ( session.getState() == ImapSessionState.SELECTED ) {
session.checkSize();
session.checkExpunge();
}
1.2 +2 -1 jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/UnsubscribeCommand.java
Index: UnsubscribeCommand.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/imapserver/commands/UnsubscribeCommand.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- UnsubscribeCommand.java 15 Jan 2002 08:38:26 -0000 1.1
+++ UnsubscribeCommand.java 15 Jan 2002 12:14:00 -0000 1.2
@@ -11,6 +11,7 @@
import org.apache.james.imapserver.ImapRequest;
import org.apache.james.imapserver.ImapSession;
import org.apache.james.imapserver.MailboxException;
+import org.apache.james.imapserver.ImapSessionState;
import java.util.StringTokenizer;
@@ -53,7 +54,7 @@
session.logACE( ace );
return true;
}
- if ( session.getState() == SELECTED ) {
+ if ( session.getState() == ImapSessionState.SELECTED ) {
session.checkSize();
session.checkExpunge();
}
1.2 +2 -0 jakarta-james/proposals/imap/java/org/apache/james/util/Assert.java
Index: Assert.java
===================================================================
RCS file: /home/cvs/jakarta-james/proposals/imap/java/org/apache/james/util/Assert.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Assert.java 15 Jan 2002 08:38:27 -0000 1.1
+++ Assert.java 15 Jan 2002 12:14:01 -0000 1.2
@@ -7,6 +7,8 @@
*/
public final class Assert
{
+ public static final boolean ON = true;
+
// Can't instantiate.
private Assert() {};
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>