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 no...@apache.org on 2010/04/04 19:41:47 UTC
svn commit: r930723 - in
/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server:
./ core/ mina/
Author: norman
Date: Sun Apr 4 17:41:47 2010
New Revision: 930723
URL: http://svn.apache.org/viewvc?rev=930723&view=rev
Log:
Just format classes.. no code changes
Modified:
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/POP3Request.java
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/CapaCapability.java
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/CapaCmdHandler.java
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/CoreCmdHandlerLoader.java
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/ListCmdHandler.java
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/POP3CommandDispatcherLineHandler.java
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/PassCmdHandler.java
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/QuitCmdHandler.java
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/RetrCmdHandler.java
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/RsetCmdHandler.java
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/StatCmdHandler.java
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/TopCmdHandler.java
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/UidlCmdHandler.java
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/UnknownCmdHandler.java
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/UserCmdHandler.java
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/WelcomeMessageHandler.java
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/mina/AsyncPOP3Server.java
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/mina/POP3SessionImpl.java
Modified: james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/POP3Request.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/POP3Request.java?rev=930723&r1=930722&r2=930723&view=diff
==============================================================================
--- james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/POP3Request.java (original)
+++ james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/POP3Request.java Sun Apr 4 17:41:47 2010
@@ -27,7 +27,7 @@ import org.apache.james.protocols.api.Ba
*/
public class POP3Request extends BaseRequest{
-
+
public POP3Request(final String command, final String argument) {
super(command,argument);
Modified: james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/CapaCapability.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/CapaCapability.java?rev=930723&r1=930722&r2=930723&view=diff
==============================================================================
--- james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/CapaCapability.java (original)
+++ james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/CapaCapability.java Sun Apr 4 17:41:47 2010
@@ -17,7 +17,6 @@
* under the License. *
****************************************************************/
-
package org.apache.james.pop3server.core;
import java.util.List;
@@ -25,17 +24,19 @@ import java.util.List;
import org.apache.james.pop3server.POP3Session;
/**
- * A handler which support the POP3 Extension Mechanism should implement this interface
+ * A handler which support the POP3 Extension Mechanism should implement this
+ * interface
+ *
*
- *
*/
public interface CapaCapability {
- /**
- * Return a List of responses which should get returned when a client issue the CAPA command
- *
- * @param session
- * @return list
- */
- public List<String> getImplementedCapabilities(POP3Session session);
+ /**
+ * Return a List of responses which should get returned when a client issue
+ * the CAPA command
+ *
+ * @param session
+ * @return list
+ */
+ public List<String> getImplementedCapabilities(POP3Session session);
}
Modified: james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/CapaCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/CapaCmdHandler.java?rev=930723&r1=930722&r2=930723&view=diff
==============================================================================
--- james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/CapaCmdHandler.java (original)
+++ james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/CapaCmdHandler.java Sun Apr 4 17:41:47 2010
@@ -17,7 +17,6 @@
* under the License. *
****************************************************************/
-
package org.apache.james.pop3server.core;
import java.util.ArrayList;
@@ -34,38 +33,36 @@ import org.apache.james.protocols.api.Wi
/**
* This handler is used to handle CAPA commands
- *
+ *
*/
-public class CapaCmdHandler implements CommandHandler<POP3Session>, ExtensibleHandler, CapaCapability{
- public final static String COMMAND_NAME = "CAPA";
- private List<CapaCapability> caps;
-
-
+public class CapaCmdHandler implements CommandHandler<POP3Session>, ExtensibleHandler, CapaCapability {
+ public final static String COMMAND_NAME = "CAPA";
+ private List<CapaCapability> caps;
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.james.protocols.api.CommandHandler#onCommand(org.apache.james
+ * .protocols.api.ProtocolSession, org.apache.james.protocols.api.Request)
+ */
+ public Response onCommand(POP3Session session, Request request) {
+ POP3Response response = new POP3Response(POP3Response.OK_RESPONSE, "Capability list follows");
+ for (int i = 0; i < caps.size(); i++) {
+ List<String> cList = caps.get(i).getImplementedCapabilities(session);
+ for (int a = 0; a < cList.size(); a++) {
+ response.appendLine(cList.get(a));
+ }
+ }
+ response.appendLine(".");
+ return response;
+ }
-
- /*
- * (non-Javadoc)
- * @see org.apache.james.protocols.api.CommandHandler#onCommand(org.apache.james.protocols.api.ProtocolSession, org.apache.james.protocols.api.Request)
- */
- public Response onCommand(POP3Session session, Request request) {
- POP3Response response = new POP3Response(POP3Response.OK_RESPONSE,"Capability list follows");
-
- for (int i = 0; i < caps.size(); i++) {
- List<String> cList = caps.get(i).getImplementedCapabilities(session);
- for (int a = 0; a < cList.size(); a++) {
- response.appendLine(cList.get(a));
- }
- }
- response.appendLine(".");
- return response;
- }
-
-
- /**
- * @see org.apache.james.api.protocol.ExtensibleHandler#getMarkerInterfaces()
- */
- @SuppressWarnings("unchecked")
+ /**
+ * @see org.apache.james.api.protocol.ExtensibleHandler#getMarkerInterfaces()
+ */
+ @SuppressWarnings("unchecked")
public List<Class<?>> getMarkerInterfaces() {
List<Class<?>> mList = new ArrayList();
mList.add(CapaCapability.class);
@@ -73,11 +70,11 @@ public class CapaCmdHandler implements C
}
/**
- * @see org.apache.james.api.protocol.ExtensibleHandler#wireExtensions(java.lang.Class, java.util.List)
+ * @see org.apache.james.api.protocol.ExtensibleHandler#wireExtensions(java.lang.Class,
+ * java.util.List)
*/
@SuppressWarnings("unchecked")
- public void wireExtensions(Class interfaceName, List extension)
- throws WiringException {
+ public void wireExtensions(Class interfaceName, List extension) throws WiringException {
if (interfaceName.equals(CapaCapability.class)) {
caps = extension;
}
@@ -92,14 +89,13 @@ public class CapaCmdHandler implements C
return commands;
}
-
/**
* @see org.apache.james.pop3server.core.CapaCapability#getImplementedCapabilities(org.apache.james.pop3server.POP3Session)
*/
- public List<String> getImplementedCapabilities(POP3Session session) {
- List<String> cList = new ArrayList<String>();
- cList.add("PIPELINING");
- return cList;
- }
+ public List<String> getImplementedCapabilities(POP3Session session) {
+ List<String> cList = new ArrayList<String>();
+ cList.add("PIPELINING");
+ return cList;
+ }
}
Modified: james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/CoreCmdHandlerLoader.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/CoreCmdHandlerLoader.java?rev=930723&r1=930722&r2=930723&view=diff
==============================================================================
--- james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/CoreCmdHandlerLoader.java (original)
+++ james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/CoreCmdHandlerLoader.java Sun Apr 4 17:41:47 2010
@@ -61,7 +61,6 @@ public class CoreCmdHandlerLoader implem
commands.add(STATCMDHANDLER);
commands.add(QUITCMDHANDLER);
commands.add(UNKOWNCMDHANDLER);
-
}
/*
Modified: james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/ListCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/ListCmdHandler.java?rev=930723&r1=930722&r2=930723&view=diff
==============================================================================
--- james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/ListCmdHandler.java (original)
+++ james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/ListCmdHandler.java Sun Apr 4 17:41:47 2010
@@ -17,8 +17,6 @@
* under the License. *
****************************************************************/
-
-
package org.apache.james.pop3server.core;
import java.util.ArrayList;
@@ -41,18 +39,17 @@ import org.apache.james.protocols.api.Re
import org.apache.james.protocols.api.Response;
/**
- * Handles LIST command
- */
+ * Handles LIST command
+ */
public class ListCmdHandler implements CommandHandler<POP3Session> {
-
/**
- * Handler method called upon receipt of a LIST command.
- * Returns the number of messages in the mailbox and its
- * aggregate size, or optionally, the number and size of
- * a single message.
- *
- * @param argument the first argument parsed by the parseCommand method
+ * Handler method called upon receipt of a LIST command. Returns the number
+ * of messages in the mailbox and its aggregate size, or optionally, the
+ * number and size of a single message.
+ *
+ * @param argument
+ * the first argument parsed by the parseCommand method
*/
public Response onCommand(POP3Session session, Request request) {
@@ -64,45 +61,36 @@ public class ListCmdHandler implements C
MailboxSession mailboxSession = (MailboxSession) session.getState().get(POP3Session.MAILBOX_SESSION);
if (session.getHandlerState() == POP3Session.TRANSACTION) {
if (parameters == null) {
-
try {
long size = 0;
int count = 0;
- List<MessageResult> validResults = new ArrayList<MessageResult>();
+ List<MessageResult> validResults = new ArrayList<MessageResult>();
if (uidList.isEmpty() == false) {
- Iterator<MessageResult> results;
- if (uidList.size() > 1) {
- results = session.getUserMailbox().getMessages(MessageRange.range(uidList.get(0), uidList.get(uidList.size() -1)), new FetchGroupImpl(FetchGroup.MINIMAL), mailboxSession);
- } else {
- results = session.getUserMailbox().getMessages(MessageRange.one(uidList.get(0)), new FetchGroupImpl(FetchGroup.MINIMAL), mailboxSession);
- }
-
- while (results.hasNext()) {
- MessageResult result = results.next();
- if (deletedUidList.contains(result.getUid()) == false) {
- size += result.getSize();
- count++;
- validResults.add(result);
- }
- }
+ Iterator<MessageResult> results;
+ if (uidList.size() > 1) {
+ results = session.getUserMailbox().getMessages(MessageRange.range(uidList.get(0), uidList.get(uidList.size() - 1)), new FetchGroupImpl(FetchGroup.MINIMAL), mailboxSession);
+ } else {
+ results = session.getUserMailbox().getMessages(MessageRange.one(uidList.get(0)), new FetchGroupImpl(FetchGroup.MINIMAL), mailboxSession);
+ }
+
+ while (results.hasNext()) {
+ MessageResult result = results.next();
+ if (deletedUidList.contains(result.getUid()) == false) {
+ size += result.getSize();
+ count++;
+ validResults.add(result);
+ }
+ }
}
- StringBuilder responseBuffer =
- new StringBuilder(32)
- .append(count)
- .append(" ")
- .append(size);
+ StringBuilder responseBuffer = new StringBuilder(32).append(count).append(" ").append(size);
response = new POP3Response(POP3Response.OK_RESPONSE, responseBuffer.toString());
count = 0;
- for (int i = 0 ; i < validResults.size(); i++) {
- responseBuffer =
- new StringBuilder(16)
- .append(i +1 )
- .append(" ")
- .append(validResults.get(i).getSize());
+ for (int i = 0; i < validResults.size(); i++) {
+ responseBuffer = new StringBuilder(16).append(i + 1).append(" ").append(validResults.get(i).getSize());
response.appendLine(responseBuffer.toString());
-
+
}
response.appendLine(".");
} catch (MailboxException me) {
@@ -112,36 +100,21 @@ public class ListCmdHandler implements C
int num = 0;
try {
num = Integer.parseInt(parameters);
- Long uid = uidList.get(num -1);
+ Long uid = uidList.get(num - 1);
if (deletedUidList.contains(uid) != false) {
- Iterator<MessageResult> results = session.getUserMailbox().getMessages(MessageRange.one(uid), new FetchGroupImpl(FetchGroup.MINIMAL), mailboxSession);
+ Iterator<MessageResult> results = session.getUserMailbox().getMessages(MessageRange.one(uid), new FetchGroupImpl(FetchGroup.MINIMAL), mailboxSession);
- StringBuilder responseBuffer =
- new StringBuilder(64)
- .append(num)
- .append(" ")
- .append(results.next().getSize());
+ StringBuilder responseBuffer = new StringBuilder(64).append(num).append(" ").append(results.next().getSize());
response = new POP3Response(POP3Response.OK_RESPONSE, responseBuffer.toString());
} else {
- StringBuilder responseBuffer =
- new StringBuilder(64)
- .append("Message (")
- .append(num)
- .append(") already deleted.");
+ StringBuilder responseBuffer = new StringBuilder(64).append("Message (").append(num).append(") already deleted.");
response = new POP3Response(POP3Response.ERR_RESPONSE, responseBuffer.toString());
}
} catch (IndexOutOfBoundsException npe) {
- StringBuilder responseBuffer =
- new StringBuilder(64)
- .append("Message (")
- .append(num)
- .append(") does not exist.");
+ StringBuilder responseBuffer = new StringBuilder(64).append("Message (").append(num).append(") does not exist.");
response = new POP3Response(POP3Response.ERR_RESPONSE, responseBuffer.toString());
} catch (NumberFormatException nfe) {
- StringBuilder responseBuffer =
- new StringBuilder(64)
- .append(parameters)
- .append(" is not a valid number");
+ StringBuilder responseBuffer = new StringBuilder(64).append(parameters).append(" is not a valid number");
response = new POP3Response(POP3Response.ERR_RESPONSE, responseBuffer.toString());
} catch (MessagingException me) {
response = new POP3Response(POP3Response.ERR_RESPONSE);
@@ -153,6 +126,10 @@ public class ListCmdHandler implements C
return response;
}
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.protocols.api.CommandHandler#getImplCommands()
+ */
public Collection<String> getImplCommands() {
List<String> commands = new ArrayList<String>();
commands.add("LIST");
Modified: james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/POP3CommandDispatcherLineHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/POP3CommandDispatcherLineHandler.java?rev=930723&r1=930722&r2=930723&view=diff
==============================================================================
--- james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/POP3CommandDispatcherLineHandler.java (original)
+++ james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/POP3CommandDispatcherLineHandler.java Sun Apr 4 17:41:47 2010
@@ -31,22 +31,19 @@ import org.apache.james.protocols.api.Ab
import org.apache.james.protocols.api.CommandHandler;
/**
- * Dispatch
- * @author norman
- *
+ * Dispatch POP3 {@link CommandHandler}
+ *
+ *
*/
-public class POP3CommandDispatcherLineHandler extends
- AbstractCommandDispatcher<POP3Session> {
+public class POP3CommandDispatcherLineHandler extends AbstractCommandDispatcher<POP3Session> {
private final static String[] mandatoryCommands = { "USER", "PASS", "LIST" };
private final CommandHandler<POP3Session> unknownHandler = new UnknownCmdHandler();
- private MailboxManager manager;
-
+ private MailboxManager manager;
- @Resource(name="mailboxmanager")
+ @Resource(name = "mailboxmanager")
public void setMailboxManager(MailboxManager manager) {
- this.manager = manager;
+ this.manager = manager;
}
-
/**
* @see org.apache.james.api.protocol.AbstractCommandDispatcher#getMandatoryCommands()
@@ -69,21 +66,19 @@ public class POP3CommandDispatcherLineHa
return UnknownCmdHandler.COMMAND_NAME;
}
- @Override
- public void onLine(POP3Session session, byte[] line) {
- MailboxSession mSession = (MailboxSession) session.getState().get(POP3Session.MAILBOX_SESSION);
-
- // notify the mailboxmanager about the start of the processing
- manager.startProcessingRequest(mSession);
-
- // do the processing
- super.onLine(session, line);
-
- // notify the mailboxmanager about the end of the processing
- manager.endProcessingRequest(mSession);
-
- }
-
-
+ @Override
+ public void onLine(POP3Session session, byte[] line) {
+ MailboxSession mSession = (MailboxSession) session.getState().get(POP3Session.MAILBOX_SESSION);
+
+ // notify the mailboxmanager about the start of the processing
+ manager.startProcessingRequest(mSession);
+
+ // do the processing
+ super.onLine(session, line);
+
+ // notify the mailboxmanager about the end of the processing
+ manager.endProcessingRequest(mSession);
+
+ }
}
Modified: james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/PassCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/PassCmdHandler.java?rev=930723&r1=930722&r2=930723&view=diff
==============================================================================
--- james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/PassCmdHandler.java (original)
+++ james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/PassCmdHandler.java Sun Apr 4 17:41:47 2010
@@ -17,8 +17,6 @@
* under the License. *
****************************************************************/
-
-
package org.apache.james.pop3server.core;
import java.util.ArrayList;
@@ -39,77 +37,72 @@ import org.apache.james.protocols.api.Re
import org.apache.james.util.POP3BeforeSMTPHelper;
/**
- * Handles PASS command
- */
+ * Handles PASS command
+ */
public class PassCmdHandler extends RsetCmdHandler {
- private final static String COMMAND_NAME ="PASS";
- private MailboxManager mailboxManager;
+ private final static String COMMAND_NAME = "PASS";
+ private MailboxManager mailboxManager;
+ @Resource(name = "mailboxmanager")
+ public void setMailboxManager(MailboxManager manager) {
+ this.mailboxManager = manager;
+ }
- @Resource(name="mailboxmanager")
- public void setMailboxManager(MailboxManager manager) {
- this.mailboxManager = manager;
- }
-
- /**
- * Handler method called upon receipt of a PASS command.
- * Reads in and validates the password.
- *
- */
+ /**
+ * Handler method called upon receipt of a PASS command. Reads in and
+ * validates the password.
+ *
+ */
public Response onCommand(POP3Session session, Request request) {
- String parameters = request.getArgument();
+ String parameters = request.getArgument();
POP3Response response = null;
if (session.getHandlerState() == POP3Session.AUTHENTICATION_USERSET && parameters != null) {
String passArg = parameters;
- try {
- MailboxSession mSession = mailboxManager.login(session.getUser(), passArg, session.getLogger());
- StringBuffer sb = new StringBuffer();
- sb.append(mailboxManager.getUserNameSpacePrefix());
- sb.append(mailboxManager.getDelimiter());
- sb.append(session.getUser());
- sb.append(mailboxManager.getDelimiter());
- sb.append("INBOX");;
- String mailboxName = sb.toString();
-
- // check if mailbox exists.. if not just create it
- if (mailboxManager.mailboxExists(mailboxName, mSession) == false) {
- mailboxManager.createMailbox(mailboxName, mSession);
- }
- Mailbox mailbox = mailboxManager.getMailbox(mailboxName, mSession);
-
- session.getState().put(POP3Session.MAILBOX_SESSION, mSession);
- session.setUserMailbox(mailbox);
- stat(session);
-
- // Store the ipAddress to use it later for pop before smtp
- POP3BeforeSMTPHelper.addIPAddress(session.getRemoteIPAddress());
-
- StringBuilder responseBuffer =
- new StringBuilder(64)
- .append("Welcome ")
- .append(session.getUser());
- response = new POP3Response(POP3Response.OK_RESPONSE,responseBuffer.toString());
- session.setHandlerState(POP3Session.TRANSACTION);
- } catch (BadCredentialsException e) {
-
- response = new POP3Response(POP3Response.ERR_RESPONSE, "Authentication failed.");
- session.setHandlerState(POP3Session.AUTHENTICATION_READY);
- } catch (MailboxException e) {
- session.getLogger().error("Unexpected error accessing mailbox for "+session.getUser(),e);
- response = new POP3Response(POP3Response.ERR_RESPONSE,"Unexpected error accessing mailbox");
- session.setHandlerState(POP3Session.AUTHENTICATION_READY);
+ try {
+ MailboxSession mSession = mailboxManager.login(session.getUser(), passArg, session.getLogger());
+ StringBuffer sb = new StringBuffer();
+ sb.append(mailboxManager.getUserNameSpacePrefix());
+ sb.append(mailboxManager.getDelimiter());
+ sb.append(session.getUser());
+ sb.append(mailboxManager.getDelimiter());
+ sb.append("INBOX");
+ ;
+ String mailboxName = sb.toString();
+
+ // check if mailbox exists.. if not just create it
+ if (mailboxManager.mailboxExists(mailboxName, mSession) == false) {
+ mailboxManager.createMailbox(mailboxName, mSession);
}
- } else {
- response = new POP3Response(POP3Response.ERR_RESPONSE, "Authentication failed.");
+ Mailbox mailbox = mailboxManager.getMailbox(mailboxName, mSession);
+
+ session.getState().put(POP3Session.MAILBOX_SESSION, mSession);
+ session.setUserMailbox(mailbox);
+ stat(session);
+
+ // Store the ipAddress to use it later for pop before smtp
+ POP3BeforeSMTPHelper.addIPAddress(session.getRemoteIPAddress());
+
+ StringBuilder responseBuffer = new StringBuilder(64).append("Welcome ").append(session.getUser());
+ response = new POP3Response(POP3Response.OK_RESPONSE, responseBuffer.toString());
+ session.setHandlerState(POP3Session.TRANSACTION);
+ } catch (BadCredentialsException e) {
+ response = new POP3Response(POP3Response.ERR_RESPONSE, "Authentication failed.");
+ session.setHandlerState(POP3Session.AUTHENTICATION_READY);
+ } catch (MailboxException e) {
+ session.getLogger().error("Unexpected error accessing mailbox for " + session.getUser(), e);
+ response = new POP3Response(POP3Response.ERR_RESPONSE, "Unexpected error accessing mailbox");
session.setHandlerState(POP3Session.AUTHENTICATION_READY);
}
-
- return response;
- }
+ } else {
+ response = new POP3Response(POP3Response.ERR_RESPONSE, "Authentication failed.");
-
+ session.setHandlerState(POP3Session.AUTHENTICATION_READY);
+ }
+
+ return response;
+ }
/**
* @see org.apache.james.api.protocol.CommonCommandHandler#getImplCommands()
@@ -120,5 +113,4 @@ public class PassCmdHandler extends Rset
return commands;
}
-
}
Modified: james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/QuitCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/QuitCmdHandler.java?rev=930723&r1=930722&r2=930723&view=diff
==============================================================================
--- james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/QuitCmdHandler.java (original)
+++ james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/QuitCmdHandler.java Sun Apr 4 17:41:47 2010
@@ -17,8 +17,6 @@
* under the License. *
****************************************************************/
-
-
package org.apache.james.pop3server.core;
import java.util.ArrayList;
@@ -40,65 +38,63 @@ import org.apache.james.protocols.api.Re
import org.apache.james.protocols.api.Response;
/**
- * Handles QUIT command
- */
+ * Handles QUIT command
+ */
public class QuitCmdHandler implements CommandHandler<POP3Session> {
- private final static String COMMAND_NAME = "QUIT";
- protected MailboxManager mailboxManager;
+ private final static String COMMAND_NAME = "QUIT";
+ protected MailboxManager mailboxManager;
- @Resource(name="mailboxmanager")
- public void setMailboxManager(MailboxManager manager) {
- this.mailboxManager = manager;
- }
-
- /**
- * Handler method called upon receipt of a QUIT command.
- * This method handles cleanup of the POP3Handler state.
- *
- */
+ @Resource(name = "mailboxmanager")
+ public void setMailboxManager(MailboxManager manager) {
+ this.mailboxManager = manager;
+ }
+
+ /**
+ * Handler method called upon receipt of a QUIT command. This method handles
+ * cleanup of the POP3Handler state.
+ *
+ */
@SuppressWarnings("unchecked")
public Response onCommand(POP3Session session, Request request) {
POP3Response response = null;
- if (session.getHandlerState() == POP3Session.AUTHENTICATION_READY || session.getHandlerState() == POP3Session.AUTHENTICATION_USERSET) {
- response = new POP3Response(POP3Response.OK_RESPONSE,"Apache James POP3 Server signing off.");
+ if (session.getHandlerState() == POP3Session.AUTHENTICATION_READY || session.getHandlerState() == POP3Session.AUTHENTICATION_USERSET) {
+ response = new POP3Response(POP3Response.OK_RESPONSE, "Apache James POP3 Server signing off.");
response.setEndSession(true);
return response;
}
MailboxSession mailboxSession = (MailboxSession) session.getState().get(POP3Session.MAILBOX_SESSION);
- List<Long> toBeRemoved = (List<Long>) session.getState().get(POP3Session.DELETED_UID_LIST);
+ List<Long> toBeRemoved = (List<Long>) session.getState().get(POP3Session.DELETED_UID_LIST);
try {
Mailbox mailbox = session.getUserMailbox();
-
- for (int i = 0; i < toBeRemoved.size(); i++) {
- MessageRange range = MessageRange.one(toBeRemoved.get(i));
- mailbox.setFlags(new Flags(Flags.Flag.DELETED), true, false, range, mailboxSession);
- mailbox.expunge(range, mailboxSession);
- }
- response = new POP3Response(POP3Response.OK_RESPONSE ,"Apache James POP3 Server signing off.");
+
+ for (int i = 0; i < toBeRemoved.size(); i++) {
+ MessageRange range = MessageRange.one(toBeRemoved.get(i));
+ mailbox.setFlags(new Flags(Flags.Flag.DELETED), true, false, range, mailboxSession);
+ mailbox.expunge(range, mailboxSession);
+ }
+ response = new POP3Response(POP3Response.OK_RESPONSE, "Apache James POP3 Server signing off.");
} catch (Exception ex) {
- response = new POP3Response(POP3Response.ERR_RESPONSE,"Some deleted messages were not removed");
- session.getLogger().error("Some deleted messages were not removed",ex);
+ response = new POP3Response(POP3Response.ERR_RESPONSE, "Some deleted messages were not removed");
+ session.getLogger().error("Some deleted messages were not removed", ex);
}
response.setEndSession(true);
try {
- mailboxManager.logout(mailboxSession, false);
- } catch (MailboxException e) {
- // nothing todo on logout
- }
-
- return response;
+ mailboxManager.logout(mailboxSession, false);
+ } catch (MailboxException e) {
+ // nothing todo on logout
+ }
+
+ return response;
}
-
-
- /**
- * @see org.apache.james.api.protocol.CommonCommandHandler#getImplCommands()
- */
+
+ /**
+ * @see org.apache.james.api.protocol.CommonCommandHandler#getImplCommands()
+ */
public Collection<String> getImplCommands() {
List<String> commands = new ArrayList<String>();
commands.add(COMMAND_NAME);
return commands;
}
-
}
Modified: james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/RetrCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/RetrCmdHandler.java?rev=930723&r1=930722&r2=930723&view=diff
==============================================================================
--- james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/RetrCmdHandler.java (original)
+++ james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/RetrCmdHandler.java Sun Apr 4 17:41:47 2010
@@ -17,8 +17,6 @@
* under the License. *
****************************************************************/
-
-
package org.apache.james.pop3server.core;
import java.io.IOException;
@@ -44,19 +42,17 @@ import org.apache.james.protocols.api.Re
import org.apache.james.socket.MessageStream;
/**
- * Handles RETR command
- */
+ * Handles RETR command
+ */
public class RetrCmdHandler implements CommandHandler<POP3Session> {
- private final static String COMMAND_NAME = "RETR";
-
+ private final static String COMMAND_NAME = "RETR";
/**
- * Handler method called upon receipt of a RETR command.
- * This command retrieves a particular mail message from the
- * mailbox.
- *
- */
+ * Handler method called upon receipt of a RETR command. This command
+ * retrieves a particular mail message from the mailbox.
+ *
+ */
public Response onCommand(POP3Session session, Request request) {
POP3Response response = null;
String parameters = request.getArgument();
@@ -69,59 +65,54 @@ public class RetrCmdHandler implements C
return response;
}
try {
- List<Long> uidList = (List<Long>) session.getState().get(POP3Session.UID_LIST);
+ List<Long> uidList = (List<Long>) session.getState().get(POP3Session.UID_LIST);
List<Long> deletedUidList = (List<Long>) session.getState().get(POP3Session.DELETED_UID_LIST);
MailboxSession mailboxSession = (MailboxSession) session.getState().get(POP3Session.MAILBOX_SESSION);
- Long uid = uidList.get(num -1);
+ Long uid = uidList.get(num - 1);
if (deletedUidList.contains(uid) == false) {
- Iterator<MessageResult> results = session.getUserMailbox().getMessages(MessageRange.one(uid), new FetchGroupImpl(FetchGroup.FULL_CONTENT), mailboxSession);
+ Iterator<MessageResult> results = session.getUserMailbox().getMessages(MessageRange.one(uid), new FetchGroupImpl(FetchGroup.FULL_CONTENT), mailboxSession);
MessageStream stream = new MessageStream();
OutputStream out = stream.getOutputStream();
out.write((POP3Response.OK_RESPONSE + " Message follows\r\n").getBytes());
- //response = new POP3Response(POP3Response.OK_RESPONSE, "Message follows");
+ // response = new POP3Response(POP3Response.OK_RESPONSE,
+ // "Message follows");
try {
- MessageResult result = results.next();
- result.getFullContent().writeTo(Channels.newChannel(out));
-
+ MessageResult result = results.next();
+ result.getFullContent().writeTo(Channels.newChannel(out));
+
} finally {
out.write((".\r\n").getBytes());
out.flush();
}
-
+
session.writeStream(stream.getInputStream());
-
- return null;
+
+ return null;
} else {
-
- StringBuilder responseBuffer =
- new StringBuilder(64)
- .append("Message (")
- .append(num)
- .append(") already deleted.");
- response = new POP3Response(POP3Response.ERR_RESPONSE,responseBuffer.toString());
+
+ StringBuilder responseBuffer = new StringBuilder(64).append("Message (").append(num).append(") already deleted.");
+ response = new POP3Response(POP3Response.ERR_RESPONSE, responseBuffer.toString());
}
} catch (IOException ioe) {
- response = new POP3Response(POP3Response.ERR_RESPONSE,"Error while retrieving message.");
+ response = new POP3Response(POP3Response.ERR_RESPONSE, "Error while retrieving message.");
} catch (MessagingException me) {
- response = new POP3Response(POP3Response.ERR_RESPONSE,"Error while retrieving message.");
+ response = new POP3Response(POP3Response.ERR_RESPONSE, "Error while retrieving message.");
} catch (IndexOutOfBoundsException iob) {
- StringBuilder responseBuffer =
- new StringBuilder(64)
- .append("Message (")
- .append(num)
- .append(") does not exist.");
- response = new POP3Response(POP3Response.ERR_RESPONSE,responseBuffer.toString());
+ StringBuilder responseBuffer = new StringBuilder(64).append("Message (").append(num).append(") does not exist.");
+ response = new POP3Response(POP3Response.ERR_RESPONSE, responseBuffer.toString());
}
} else {
response = new POP3Response(POP3Response.ERR_RESPONSE);
}
return response;
}
- /*
- * (non-Javadoc)
- * @see org.apache.james.api.protocol.CommonCommandHandler#getImplCommands()
- */
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.apache.james.api.protocol.CommonCommandHandler#getImplCommands()
+ */
public Collection<String> getImplCommands() {
List<String> commands = new ArrayList<String>();
commands.add(COMMAND_NAME);
Modified: james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/RsetCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/RsetCmdHandler.java?rev=930723&r1=930722&r2=930723&view=diff
==============================================================================
--- james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/RsetCmdHandler.java (original)
+++ james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/RsetCmdHandler.java Sun Apr 4 17:41:47 2010
@@ -17,8 +17,6 @@
* under the License. *
****************************************************************/
-
-
package org.apache.james.pop3server.core;
import java.util.ArrayList;
@@ -39,19 +37,17 @@ import org.apache.james.protocols.api.Co
import org.apache.james.protocols.api.Request;
import org.apache.james.protocols.api.Response;
-
/**
- * Handles RSET command
- */
+ * Handles RSET command
+ */
public class RsetCmdHandler implements CommandHandler<POP3Session> {
- private final static String COMMAND_NAME = "RSET";
-
-
- /**
- * Handler method called upon receipt of a RSET command.
- * Calls stat() to reset the mailbox.
- *
- */
+ private final static String COMMAND_NAME = "RSET";
+
+ /**
+ * Handler method called upon receipt of a RSET command. Calls stat() to
+ * reset the mailbox.
+ *
+ */
public Response onCommand(POP3Session session, Request request) {
POP3Response response = null;
if (session.getHandlerState() == POP3Session.TRANSACTION) {
@@ -60,36 +56,33 @@ public class RsetCmdHandler implements C
} else {
response = new POP3Response(POP3Response.ERR_RESPONSE);
}
- return response;
+ return response;
}
-
-
/**
- * Implements a "stat". If the handler is currently in
- * a transaction state, this amounts to a rollback of the
- * mailbox contents to the beginning of the transaction.
- * This method is also called when first entering the
- * transaction state to initialize the handler copies of the
- * user inbox.
- *
+ * Implements a "stat". If the handler is currently in a transaction state,
+ * this amounts to a rollback of the mailbox contents to the beginning of
+ * the transaction. This method is also called when first entering the
+ * transaction state to initialize the handler copies of the user inbox.
+ *
*/
protected void stat(POP3Session session) {
try {
MailboxSession mailboxSession = (MailboxSession) session.getState().get(POP3Session.MAILBOX_SESSION);
List<Long> uids = new ArrayList<Long>();
- Iterator<MessageResult> it = session.getUserMailbox().getMessages(MessageRange.all(), new FetchGroupImpl(FetchGroup.MINIMAL), mailboxSession);
+ Iterator<MessageResult> it = session.getUserMailbox().getMessages(MessageRange.all(), new FetchGroupImpl(FetchGroup.MINIMAL), mailboxSession);
while (it.hasNext()) {
- uids.add(it.next().getUid());
+ uids.add(it.next().getUid());
}
session.getState().put(POP3Session.UID_LIST, uids);
session.getState().put(POP3Session.DELETED_UID_LIST, new ArrayList<Long>());
- } catch(MessagingException e) {
- // In the event of an exception being thrown there may or may not be anything in userMailbox
+ } catch (MessagingException e) {
+ // In the event of an exception being thrown there may or may not be
+ // anything in userMailbox
session.getLogger().error("Unable to STAT mail box ", e);
}
-
+
}
/**
@@ -100,5 +93,5 @@ public class RsetCmdHandler implements C
commands.add(COMMAND_NAME);
return commands;
}
-
+
}
Modified: james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/StatCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/StatCmdHandler.java?rev=930723&r1=930722&r2=930723&view=diff
==============================================================================
--- james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/StatCmdHandler.java (original)
+++ james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/StatCmdHandler.java Sun Apr 4 17:41:47 2010
@@ -17,8 +17,6 @@
* under the License. *
****************************************************************/
-
-
package org.apache.james.pop3server.core;
import java.util.ArrayList;
@@ -40,30 +38,28 @@ import org.apache.james.protocols.api.Re
import org.apache.james.protocols.api.Response;
/**
- * Handles STAT command
- */
+ * Handles STAT command
+ */
public class StatCmdHandler implements CommandHandler<POP3Session> {
- private final static String COMMAND_NAME = "STAT";
+ private final static String COMMAND_NAME = "STAT";
- /**
- * Handler method called upon receipt of a STAT command.
- * Returns the number of messages in the mailbox and its
- * aggregate size.
- *
- */
+ /**
+ * Handler method called upon receipt of a STAT command. Returns the number
+ * of messages in the mailbox and its aggregate size.
+ *
+ */
public Response onCommand(POP3Session session, Request request) {
POP3Response response = null;
if (session.getHandlerState() == POP3Session.TRANSACTION) {
-
+
try {
- List<Long> uidList = (List<Long>) session.getState().get(POP3Session.UID_LIST);
+ List<Long> uidList = (List<Long>) session.getState().get(POP3Session.UID_LIST);
List<Long> deletedUidList = (List<Long>) session.getState().get(POP3Session.DELETED_UID_LIST);
long size = 0;
int count = 0;
if (uidList.isEmpty() == false) {
MailboxSession mailboxSession = (MailboxSession) session.getState().get(POP3Session.MAILBOX_SESSION);
- Iterator<MessageResult> results = session.getUserMailbox().getMessages(MessageRange.range(uidList.get(0), uidList.get(uidList.size() -1)), new FetchGroupImpl(FetchGroup.MINIMAL), mailboxSession);
-
+ Iterator<MessageResult> results = session.getUserMailbox().getMessages(MessageRange.range(uidList.get(0), uidList.get(uidList.size() - 1)), new FetchGroupImpl(FetchGroup.MINIMAL), mailboxSession);
List<MessageResult> validResults = new ArrayList<MessageResult>();
while (results.hasNext()) {
@@ -75,12 +71,8 @@ public class StatCmdHandler implements C
}
}
}
- StringBuilder responseBuffer =
- new StringBuilder(32)
- .append(count)
- .append(" ")
- .append(size);
- response = new POP3Response(POP3Response.OK_RESPONSE,responseBuffer.toString());
+ StringBuilder responseBuffer = new StringBuilder(32).append(count).append(" ").append(size);
+ response = new POP3Response(POP3Response.OK_RESPONSE, responseBuffer.toString());
} catch (MessagingException me) {
response = new POP3Response(POP3Response.ERR_RESPONSE);
}
@@ -90,8 +82,6 @@ public class StatCmdHandler implements C
return response;
}
-
-
/**
* @see org.apache.james.api.protocol.CommonCommandHandler#getImplCommands()
*/
Modified: james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/TopCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/TopCmdHandler.java?rev=930723&r1=930722&r2=930723&view=diff
==============================================================================
--- james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/TopCmdHandler.java (original)
+++ james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/TopCmdHandler.java Sun Apr 4 17:41:47 2010
@@ -17,8 +17,6 @@
* under the License. *
****************************************************************/
-
-
package org.apache.james.pop3server.core;
import java.io.FilterOutputStream;
@@ -46,21 +44,19 @@ import org.apache.james.protocols.api.Re
import org.apache.james.socket.MessageStream;
/**
- * Handles TOP command
- */
+ * Handles TOP command
+ */
public class TopCmdHandler extends RetrCmdHandler implements CapaCapability {
- private final static String COMMAND_NAME = "TOP";
-
+ private final static String COMMAND_NAME = "TOP";
- /**
- * Handler method called upon receipt of a TOP command.
- * This command retrieves the top N lines of a specified
- * message in the mailbox.
- *
- * The expected command format is
- * TOP [mail message number] [number of lines to return]
- *
- */
+ /**
+ * Handler method called upon receipt of a TOP command. This command
+ * retrieves the top N lines of a specified message in the mailbox.
+ *
+ * The expected command format is TOP [mail message number] [number of lines
+ * to return]
+ *
+ */
@SuppressWarnings("unchecked")
@Override
public Response onCommand(POP3Session session, Request request) {
@@ -70,13 +66,13 @@ public class TopCmdHandler extends RetrC
response = new POP3Response(POP3Response.ERR_RESPONSE, "Usage: TOP [mail number] [Line number]");
return response;
}
-
+
String argument = "";
String argument1 = "";
int pos = parameters.indexOf(" ");
if (pos > 0) {
- argument = parameters.substring(0,pos);
- argument1 = parameters.substring(pos+1);
+ argument = parameters.substring(0, pos);
+ argument1 = parameters.substring(pos + 1);
}
if (session.getHandlerState() == POP3Session.TRANSACTION) {
@@ -90,53 +86,50 @@ public class TopCmdHandler extends RetrC
return response;
}
try {
- List<Long> uidList = (List<Long>) session.getState().get(POP3Session.UID_LIST);
+ List<Long> uidList = (List<Long>) session.getState().get(POP3Session.UID_LIST);
List<Long> deletedUidList = (List<Long>) session.getState().get(POP3Session.DELETED_UID_LIST);
MailboxSession mailboxSession = (MailboxSession) session.getState().get(POP3Session.MAILBOX_SESSION);
- Long uid = uidList.get(num -1);
+ Long uid = uidList.get(num - 1);
if (deletedUidList.contains(uid) == false) {
- FetchGroupImpl fetchGroup = new FetchGroupImpl(FetchGroup.BODY_CONTENT);
- fetchGroup.or(FetchGroup.HEADERS);
- Iterator<MessageResult> results = session.getUserMailbox().getMessages(MessageRange.one(uid), fetchGroup, mailboxSession);
- MessageStream stream = new MessageStream();
+ FetchGroupImpl fetchGroup = new FetchGroupImpl(FetchGroup.BODY_CONTENT);
+ fetchGroup.or(FetchGroup.HEADERS);
+ Iterator<MessageResult> results = session.getUserMailbox().getMessages(MessageRange.one(uid), fetchGroup, mailboxSession);
+ MessageStream stream = new MessageStream();
OutputStream out = stream.getOutputStream();
out.write((POP3Response.OK_RESPONSE + " Message follows\r\n").getBytes());
- //response = new POP3Response(POP3Response.OK_RESPONSE, "Message follows");
+ // response = new POP3Response(POP3Response.OK_RESPONSE,
+ // "Message follows");
try {
- MessageResult result = results.next();
-
- WritableByteChannel outChannel = Channels.newChannel(out);
-
- // write headers
- Iterator<Header> headers = result.headers();
- while (headers.hasNext()) {
- headers.next().writeTo(outChannel);
-
- // we need to write out the CRLF after each header
+ MessageResult result = results.next();
+
+ WritableByteChannel outChannel = Channels.newChannel(out);
+
+ // write headers
+ Iterator<Header> headers = result.headers();
+ while (headers.hasNext()) {
+ headers.next().writeTo(outChannel);
+
+ // we need to write out the CRLF after each header
out.write("\r\n".getBytes());
- }
- // headers and body are seperated by a CRLF
- out.write("\r\n".getBytes());
-
- // write body
- result.getBody().writeTo(Channels.newChannel(new CountingBodyOutputStream(out, lines)));
-
+ }
+ // headers and body are seperated by a CRLF
+ out.write("\r\n".getBytes());
+
+ // write body
+ result.getBody().writeTo(Channels.newChannel(new CountingBodyOutputStream(out, lines)));
+
} finally {
out.write((".\r\n").getBytes());
out.flush();
}
session.writeStream(stream.getInputStream());
-
- return null;
+
+ return null;
} else {
- StringBuilder responseBuffer =
- new StringBuilder(64)
- .append("Message (")
- .append(num)
- .append(") already deleted.");
+ StringBuilder responseBuffer = new StringBuilder(64).append("Message (").append(num).append(") already deleted.");
response = new POP3Response(POP3Response.ERR_RESPONSE, responseBuffer.toString());
}
} catch (IOException ioe) {
@@ -144,39 +137,31 @@ public class TopCmdHandler extends RetrC
} catch (MessagingException me) {
response = new POP3Response(POP3Response.ERR_RESPONSE, "Error while retrieving message.");
} catch (IndexOutOfBoundsException iob) {
- StringBuilder exceptionBuffer =
- new StringBuilder(64)
- .append("Message (")
- .append(num)
- .append(") does not exist.");
+ StringBuilder exceptionBuffer = new StringBuilder(64).append("Message (").append(num).append(") does not exist.");
response = new POP3Response(POP3Response.ERR_RESPONSE, exceptionBuffer.toString());
}
} else {
response = new POP3Response(POP3Response.ERR_RESPONSE);
}
- return response;
-
- }
-
+ return response;
-
-
+ }
- /**
+ /**
* @see org.apache.james.pop3server.core.CapaCapability#getImplementedCapabilities(org.apache.james.pop3server.POP3Session)
*/
- public List<String> getImplementedCapabilities(POP3Session session) {
- List<String> caps = new ArrayList<String>();
- if (session.getHandlerState() == POP3Session.TRANSACTION) {
- caps.add(COMMAND_NAME);
- return caps;
- }
- return caps;
- }
-
- /**
- * @see org.apache.james.api.protocol.CommonCommandHandler#getImplCommands()
- */
+ public List<String> getImplementedCapabilities(POP3Session session) {
+ List<String> caps = new ArrayList<String>();
+ if (session.getHandlerState() == POP3Session.TRANSACTION) {
+ caps.add(COMMAND_NAME);
+ return caps;
+ }
+ return caps;
+ }
+
+ /**
+ * @see org.apache.james.api.protocol.CommonCommandHandler#getImplCommands()
+ */
public Collection<String> getImplCommands() {
List<String> commands = new ArrayList<String>();
commands.add(COMMAND_NAME);
@@ -184,59 +169,62 @@ public class TopCmdHandler extends RetrC
}
/**
- * This OutputStream implementation can be used to limit the body lines which will be written
- * to the wrapped OutputStream
+ * This OutputStream implementation can be used to limit the body lines
+ * which will be written to the wrapped OutputStream
+ *
*
*
- *
*/
private final class CountingBodyOutputStream extends FilterOutputStream {
- private int count = 0;
- private int limit = -1;
- private char lastChar;
-
- /**
- *
- * @param out OutputStream to write to
- * @param limit the lines to write to the outputstream. -1 is used for no limits
- */
- public CountingBodyOutputStream(OutputStream out, int limit) {
- super(out);
- this.limit = limit;
- }
-
- @Override
- public void write(byte[] b, int off, int len) throws IOException {
- for (int i = off ; i < len; i++) {
- write(b[i]);
- }
- }
-
- @Override
- public void write(byte[] b) throws IOException {
- for (int i = 0 ; i < b.length; i++) {
- write(b[i]);
- }
- }
- @Override
- public void write(int b) throws IOException {
-
- if (limit != -1) {
- if (count <= limit) {
- super.write(b);
- }
- } else {
- super.write(b);
- }
-
-
- if (lastChar == '\r' && b == '\n') {
- count++;
- }
- lastChar = (char) b;
-
- }
-
+ private int count = 0;
+ private int limit = -1;
+ private char lastChar;
+
+ /**
+ *
+ * @param out
+ * OutputStream to write to
+ * @param limit
+ * the lines to write to the outputstream. -1 is used for no
+ * limits
+ */
+ public CountingBodyOutputStream(OutputStream out, int limit) {
+ super(out);
+ this.limit = limit;
+ }
+
+ @Override
+ public void write(byte[] b, int off, int len) throws IOException {
+ for (int i = off; i < len; i++) {
+ write(b[i]);
+ }
+ }
+
+ @Override
+ public void write(byte[] b) throws IOException {
+ for (int i = 0; i < b.length; i++) {
+ write(b[i]);
+ }
+ }
+
+ @Override
+ public void write(int b) throws IOException {
+
+ if (limit != -1) {
+ if (count <= limit) {
+ super.write(b);
+ }
+ } else {
+ super.write(b);
+ }
+
+ if (lastChar == '\r' && b == '\n') {
+ count++;
+ }
+ lastChar = (char) b;
+
+ }
+
}
}
Modified: james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/UidlCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/UidlCmdHandler.java?rev=930723&r1=930722&r2=930723&view=diff
==============================================================================
--- james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/UidlCmdHandler.java (original)
+++ james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/UidlCmdHandler.java Sun Apr 4 17:41:47 2010
@@ -17,8 +17,6 @@
* under the License. *
****************************************************************/
-
-
package org.apache.james.pop3server.core;
import java.util.ArrayList;
@@ -32,72 +30,53 @@ import org.apache.james.protocols.api.Re
import org.apache.james.protocols.api.Response;
/**
- * Handles UIDL command
- */
+ * Handles UIDL command
+ */
public class UidlCmdHandler implements CommandHandler<POP3Session>, CapaCapability {
- private final static String COMMAND_NAME = "UIDL";
+ private final static String COMMAND_NAME = "UIDL";
- /**
- * Handler method called upon receipt of a UIDL command.
- * Returns a listing of message ids to the client.
- *
- */
+ /**
+ * Handler method called upon receipt of a UIDL command. Returns a listing
+ * of message ids to the client.
+ *
+ */
public Response onCommand(POP3Session session, Request request) {
POP3Response response = null;
String parameters = request.getArgument();
if (session.getHandlerState() == POP3Session.TRANSACTION) {
List<Long> uidList = (List<Long>) session.getState().get(POP3Session.UID_LIST);
List<Long> deletedUidList = (List<Long>) session.getState().get(POP3Session.DELETED_UID_LIST);
-
+
if (parameters == null) {
- response = new POP3Response(POP3Response.OK_RESPONSE,"unique-id listing follows");
+ response = new POP3Response(POP3Response.OK_RESPONSE, "unique-id listing follows");
for (int i = 0; i < uidList.size(); i++) {
- Long uid = uidList.get(i);
+ Long uid = uidList.get(i);
if (deletedUidList.contains(uid) == false) {
- StringBuilder responseBuffer =
- new StringBuilder(64)
- .append(i + 1 )
- .append(" ")
- .append(uid);
- response.appendLine(responseBuffer.toString());
+ StringBuilder responseBuffer = new StringBuilder(64).append(i + 1).append(" ").append(uid);
+ response.appendLine(responseBuffer.toString());
}
}
-
+
response.appendLine(".");
} else {
int num = 0;
try {
num = Integer.parseInt(parameters);
- Long uid = uidList.get(num -1);
+ Long uid = uidList.get(num - 1);
if (deletedUidList.contains(uid) == false) {
-
- StringBuilder responseBuffer =
- new StringBuilder(64)
- .append(num)
- .append(" ")
- .append(uid.hashCode());
+
+ StringBuilder responseBuffer = new StringBuilder(64).append(num).append(" ").append(uid.hashCode());
response = new POP3Response(POP3Response.OK_RESPONSE, responseBuffer.toString());
} else {
- StringBuilder responseBuffer =
- new StringBuilder(64)
- .append("Message (")
- .append(num)
- .append(") already deleted.");
+ StringBuilder responseBuffer = new StringBuilder(64).append("Message (").append(num).append(") already deleted.");
response = new POP3Response(POP3Response.ERR_RESPONSE, responseBuffer.toString());
}
} catch (IndexOutOfBoundsException npe) {
- StringBuilder responseBuffer =
- new StringBuilder(64)
- .append("Message (")
- .append(num)
- .append(") does not exist.");
+ StringBuilder responseBuffer = new StringBuilder(64).append("Message (").append(num).append(") does not exist.");
response = new POP3Response(POP3Response.ERR_RESPONSE, responseBuffer.toString());
} catch (NumberFormatException nfe) {
- StringBuilder responseBuffer =
- new StringBuilder(64)
- .append(parameters)
- .append(" is not a valid number");
+ StringBuilder responseBuffer = new StringBuilder(64).append(parameters).append(" is not a valid number");
response = new POP3Response(POP3Response.ERR_RESPONSE, responseBuffer.toString());
}
}
@@ -107,24 +86,23 @@ public class UidlCmdHandler implements C
return response;
}
-
-
- /**
+ /**
* @see org.apache.james.pop3server.core.CapaCapability#getImplementedCapabilities(org.apache.james.pop3server.POP3Session)
*/
- public List<String> getImplementedCapabilities(POP3Session session) {
- List<String> caps = new ArrayList<String>();
- if (session.getHandlerState() == POP3Session.TRANSACTION) {
- caps.add(COMMAND_NAME);
- return caps;
- }
- return caps;
- }
-
- /**
- * (non-Javadoc)
- * @see org.apache.james.api.protocol.CommonCommandHandler#getImplCommands()
- */
+ public List<String> getImplementedCapabilities(POP3Session session) {
+ List<String> caps = new ArrayList<String>();
+ if (session.getHandlerState() == POP3Session.TRANSACTION) {
+ caps.add(COMMAND_NAME);
+ return caps;
+ }
+ return caps;
+ }
+
+ /**
+ * (non-Javadoc)
+ *
+ * @see org.apache.james.api.protocol.CommonCommandHandler#getImplCommands()
+ */
public Collection<String> getImplCommands() {
List<String> commands = new ArrayList<String>();
commands.add(COMMAND_NAME);
Modified: james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/UnknownCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/UnknownCmdHandler.java?rev=930723&r1=930722&r2=930723&view=diff
==============================================================================
--- james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/UnknownCmdHandler.java (original)
+++ james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/UnknownCmdHandler.java Sun Apr 4 17:41:47 2010
@@ -17,8 +17,6 @@
* under the License. *
****************************************************************/
-
-
package org.apache.james.pop3server.core;
import java.util.ArrayList;
@@ -31,30 +29,27 @@ import org.apache.james.protocols.api.Co
import org.apache.james.protocols.api.Request;
import org.apache.james.protocols.api.Response;
-
/**
- * Default command handler for handling unknown commands
- */
+ * Default command handler for handling unknown commands
+ */
public class UnknownCmdHandler implements CommandHandler<POP3Session> {
/**
* The name of the command handled by the command handler
*/
public static final String COMMAND_NAME = "UNKNOWN";
-
/**
- * Handler method called upon receipt of an unrecognized command.
- * Returns an error response and logs the command.
- *
+ * Handler method called upon receipt of an unrecognized command. Returns an
+ * error response and logs the command.
+ *
*/
public Response onCommand(POP3Session session, Request request) {
return new POP3Response(POP3Response.ERR_RESPONSE);
}
-
- /**
- * @see org.apache.james.api.protocol.CommonCommandHandler#getImplCommands()
- */
+ /**
+ * @see org.apache.james.api.protocol.CommonCommandHandler#getImplCommands()
+ */
public Collection<String> getImplCommands() {
List<String> commands = new ArrayList<String>();
commands.add(COMMAND_NAME);
Modified: james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/UserCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/UserCmdHandler.java?rev=930723&r1=930722&r2=930723&view=diff
==============================================================================
--- james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/UserCmdHandler.java (original)
+++ james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/UserCmdHandler.java Sun Apr 4 17:41:47 2010
@@ -17,8 +17,6 @@
* under the License. *
****************************************************************/
-
-
package org.apache.james.pop3server.core;
import java.util.ArrayList;
@@ -32,18 +30,17 @@ import org.apache.james.protocols.api.Re
import org.apache.james.protocols.api.Response;
/**
- * Handles NOOP command
- */
+ * Handles NOOP command
+ */
public class UserCmdHandler implements CommandHandler<POP3Session>, CapaCapability {
- private final static String COMMAND_NAME = "USER";
-
+ private final static String COMMAND_NAME = "USER";
- /**
- * Handler method called upon receipt of a USER command.
- * Reads in the user id.
- *
- */
+ /**
+ * Handler method called upon receipt of a USER command. Reads in the user
+ * id.
+ *
+ */
public Response onCommand(POP3Session session, Request request) {
POP3Response response = null;
String parameters = request.getArgument();
@@ -54,23 +51,21 @@ public class UserCmdHandler implements C
} else {
response = new POP3Response(POP3Response.ERR_RESPONSE);
}
- return response;
+ return response;
}
-
-
/**
* @see org.apache.james.pop3server.core.CapaCapability#getImplementedCapabilities(org.apache.james.pop3server.POP3Session)
*/
- public List<String> getImplementedCapabilities(POP3Session session) {
- List<String> caps = new ArrayList<String>();
- caps.add(COMMAND_NAME);
- return caps;
- }
-
- /**
- * @see org.apache.james.api.protocol.CommonCommandHandler#getImplCommands()
- */
+ public List<String> getImplementedCapabilities(POP3Session session) {
+ List<String> caps = new ArrayList<String>();
+ caps.add(COMMAND_NAME);
+ return caps;
+ }
+
+ /**
+ * @see org.apache.james.api.protocol.CommonCommandHandler#getImplCommands()
+ */
public Collection<String> getImplCommands() {
List<String> commands = new ArrayList<String>();
commands.add(COMMAND_NAME);
Modified: james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/WelcomeMessageHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/WelcomeMessageHandler.java?rev=930723&r1=930722&r2=930723&view=diff
==============================================================================
--- james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/WelcomeMessageHandler.java (original)
+++ james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/WelcomeMessageHandler.java Sun Apr 4 17:41:47 2010
@@ -17,7 +17,6 @@
* under the License. *
****************************************************************/
-
package org.apache.james.pop3server.core;
import org.apache.james.Constants;
@@ -25,10 +24,9 @@ import org.apache.james.pop3server.POP3R
import org.apache.james.pop3server.POP3Session;
import org.apache.james.protocols.api.ConnectHandler;
-public class WelcomeMessageHandler implements ConnectHandler<POP3Session>{
+public class WelcomeMessageHandler implements ConnectHandler<POP3Session> {
/** POP3 Server identification string used in POP3 headers */
- private static final String softwaretype = "JAMES POP3 Server "
- + Constants.SOFTWARE_VERSION;
+ private static final String softwaretype = "JAMES POP3 Server " + Constants.SOFTWARE_VERSION;
/**
* @see org.apache.james.pop3server.ConnectHandler#onConnect(org.apache.james.pop3server.POP3Session)
@@ -37,11 +35,8 @@ public class WelcomeMessageHandler imple
StringBuilder responseBuffer = new StringBuilder();
// Initially greet the connector
- // Format is: Sat, 24 Jan 1998 13:16:09 -0500
- responseBuffer.append(session.getConfigurationData().getHelloName())
- .append(" POP3 server (")
- .append(softwaretype)
- .append(") ready ");
+ // Format is: Sat, 24 Jan 1998 13:16:09 -0500
+ responseBuffer.append(session.getConfigurationData().getHelloName()).append(" POP3 server (").append(softwaretype).append(") ready ");
POP3Response response = new POP3Response(POP3Response.OK_RESPONSE, responseBuffer.toString());
session.writeResponse(response);
}
Modified: james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/mina/AsyncPOP3Server.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/mina/AsyncPOP3Server.java?rev=930723&r1=930722&r2=930723&view=diff
==============================================================================
--- james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/mina/AsyncPOP3Server.java (original)
+++ james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/mina/AsyncPOP3Server.java Sun Apr 4 17:41:47 2010
@@ -17,7 +17,6 @@
* under the License. *
****************************************************************/
-
package org.apache.james.pop3server.mina;
import org.apache.commons.configuration.ConfigurationException;
@@ -33,47 +32,42 @@ import org.apache.mina.core.service.IoHa
/**
* Async implementation of a POP3Server
*
- *
+ *
*/
-public class AsyncPOP3Server extends AbstractAsyncServer implements POP3ServerMBean{
+public class AsyncPOP3Server extends AbstractAsyncServer implements POP3ServerMBean {
/**
- * The number of bytes to read before resetting
- * the connection timeout timer. Defaults to
- * 20 KB.
+ * The number of bytes to read before resetting the connection timeout
+ * timer. Defaults to 20 KB.
*/
private int lengthReset = 20 * 1024;
-
+
/**
* The configuration data to be passed to the handler
*/
- private POP3HandlerConfigurationData theConfigData
- = new POP3HandlerConfigurationDataImpl();
+ private POP3HandlerConfigurationData theConfigData = new POP3HandlerConfigurationDataImpl();
- private ProtocolHandlerChain handlerChain;
+ private ProtocolHandlerChain handlerChain;
+ public void setProtocolHandlerChain(ProtocolHandlerChain handlerChain) {
+ this.handlerChain = handlerChain;
+ }
- public void setProtocolHandlerChain(ProtocolHandlerChain handlerChain) {
- this.handlerChain = handlerChain;
- }
-
- @Override
- protected IoHandler createIoHandler() {
- return new POP3IoHandler(handlerChain, theConfigData, getLogger(), getSslContextFactory());
- }
-
+ @Override
+ protected IoHandler createIoHandler() {
+ return new POP3IoHandler(handlerChain, theConfigData, getLogger(), getSslContextFactory());
+ }
- @Override
- protected int getDefaultPort() {
- return 110;
- }
+ @Override
+ protected int getDefaultPort() {
+ return 110;
+ }
- @Override
- protected String getServiceType() {
+ @Override
+ protected String getServiceType() {
return "POP3 Service";
- }
+ }
-
@Override
protected void doConfigure(final HierarchicalConfiguration configuration) throws ConfigurationException {
super.doConfigure(configuration);
@@ -83,13 +77,13 @@ public class AsyncPOP3Server extends Abs
getLogger().info("The idle timeout will be reset every " + lengthReset + " bytes.");
}
}
-
+
/**
* @see org.apache.james.socket.mina.AbstractAsyncServer#createIoFilterChainBuilder()
*/
protected DefaultIoFilterChainBuilder createIoFilterChainBuilder() {
DefaultIoFilterChainBuilder builder = super.createIoFilterChainBuilder();
-
+
// response and validation filter to the chain
builder.addLast("pop3ResponseFilter", new POP3ResponseFilter());
return builder;
@@ -118,34 +112,33 @@ public class AsyncPOP3Server extends Abs
return AsyncPOP3Server.this.lengthReset;
}
-
/**
* @see org.apache.james.pop3server.POP3HandlerConfigurationData#isStartTLSSupported()
*/
- public boolean isStartTLSSupported() {
- return AsyncPOP3Server.this.isStartTLSSupported();
- }
+ public boolean isStartTLSSupported() {
+ return AsyncPOP3Server.this.isStartTLSSupported();
+ }
}
-
+
/*
* (non-Javadoc)
+ *
* @see org.apache.james.pop3server.POP3ServerMBean#getNetworkInterface()
*/
- public String getNetworkInterface() {
- return "unkown";
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.james.pop3server.POP3ServerMBean#getSocketType()
- */
- public String getSocketType() {
- if (isSSLSocket()) {
- return "secure";
- }
- return "plain";
- }
-
+ public String getNetworkInterface() {
+ return "unkown";
+ }
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.apache.james.pop3server.POP3ServerMBean#getSocketType()
+ */
+ public String getSocketType() {
+ if (isSSLSocket()) {
+ return "secure";
+ }
+ return "plain";
+ }
}
Modified: james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/mina/POP3SessionImpl.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/mina/POP3SessionImpl.java?rev=930723&r1=930722&r2=930723&view=diff
==============================================================================
--- james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/mina/POP3SessionImpl.java (original)
+++ james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/mina/POP3SessionImpl.java Sun Apr 4 17:41:47 2010
@@ -20,7 +20,6 @@
package org.apache.james.pop3server.mina;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import javax.net.ssl.SSLContext;
@@ -29,83 +28,97 @@ import org.apache.commons.logging.Log;
import org.apache.james.imap.mailbox.Mailbox;
import org.apache.james.pop3server.POP3HandlerConfigurationData;
import org.apache.james.pop3server.POP3Session;
-import org.apache.james.services.MailRepository;
import org.apache.james.socket.mina.AbstractMINASession;
-import org.apache.mailet.Mail;
import org.apache.mina.core.session.IoSession;
-public class POP3SessionImpl extends AbstractMINASession implements POP3Session{
+/**
+ * {@link POP3Session} implementation which use MINA
+ *
+ *
+ */
+public class POP3SessionImpl extends AbstractMINASession implements POP3Session {
public final static String POP3SESSION = "POP3SESSION";
- private POP3HandlerConfigurationData configData;
+ private POP3HandlerConfigurationData configData;
- private Map<String, Object> state = new HashMap<String, Object>();
+ private Map<String, Object> state = new HashMap<String, Object>();
- private int handlerState;
+ private int handlerState;
- private Mailbox mailbox;
-
- public POP3SessionImpl(POP3HandlerConfigurationData configData, Log logger, IoSession session, SSLContext context) {
- super(logger, session, context);
-
- this.configData = configData;
- }
-
- public POP3SessionImpl(POP3HandlerConfigurationData configData, Log logger, IoSession session) {
- this(configData, logger, session, null);
- }
-
-
- /*
- * (non-Javadoc)
- * @see org.apache.james.pop3server.POP3Session#getConfigurationData()
- */
- public POP3HandlerConfigurationData getConfigurationData() {
- return configData;
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.james.pop3server.POP3Session#getHandlerState()
- */
- public int getHandlerState() {
- return handlerState;
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.james.api.protocol.TLSSupportedSession#getState()
- */
- public Map<String, Object> getState() {
- return state;
- }
-
-
- /*
- * (non-Javadoc)
- * @see org.apache.james.pop3server.POP3Session#setHandlerState(int)
- */
- public void setHandlerState(int handlerState) {
- this.handlerState = handlerState;
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.james.api.protocol.TLSSupportedSession#resetState()
- */
- public void resetState() {
- state.clear();
-
- setHandlerState(AUTHENTICATION_READY);
- }
-
- public Mailbox getUserMailbox() {
- return mailbox;
- }
-
- public void setUserMailbox(Mailbox mailbox) {
- this.mailbox = mailbox;
- }
+ private Mailbox mailbox;
+
+ public POP3SessionImpl(POP3HandlerConfigurationData configData, Log logger, IoSession session, SSLContext context) {
+ super(logger, session, context);
+
+ this.configData = configData;
+ }
+
+ public POP3SessionImpl(POP3HandlerConfigurationData configData, Log logger, IoSession session) {
+ this(configData, logger, session, null);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.apache.james.pop3server.POP3Session#getConfigurationData()
+ */
+ public POP3HandlerConfigurationData getConfigurationData() {
+ return configData;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.apache.james.pop3server.POP3Session#getHandlerState()
+ */
+ public int getHandlerState() {
+ return handlerState;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.apache.james.api.protocol.TLSSupportedSession#getState()
+ */
+ public Map<String, Object> getState() {
+ return state;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.apache.james.pop3server.POP3Session#setHandlerState(int)
+ */
+ public void setHandlerState(int handlerState) {
+ this.handlerState = handlerState;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.apache.james.api.protocol.TLSSupportedSession#resetState()
+ */
+ public void resetState() {
+ state.clear();
+
+ setHandlerState(AUTHENTICATION_READY);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.pop3server.POP3Session#getUserMailbox()
+ */
+ public Mailbox getUserMailbox() {
+ return mailbox;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.pop3server.POP3Session#setUserMailbox(org.apache.james.imap.mailbox.Mailbox)
+ */
+ public void setUserMailbox(Mailbox mailbox) {
+ this.mailbox = mailbox;
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org