Author: norman
Date: Fri Nov 18 13:12:48 2011
New Revision: 1203635

URL: http://svn.apache.org/viewvc?rev=1203635&view=rev
Log:
CommandHandler.getImplCommands() should use a static Collection. See 
PROTOCOLS-48

Modified:
    
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/CapaCmdHandler.java
    
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/DeleCmdHandler.java
    
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/ListCmdHandler.java
    
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/NoopCmdHandler.java
    
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/PassCmdHandler.java
    
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/QuitCmdHandler.java
    
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/RetrCmdHandler.java
    
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/RsetCmdHandler.java
    
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/StatCmdHandler.java
    
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/StlsCmdHandler.java
    
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/TopCmdHandler.java
    
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/UidlCmdHandler.java
    
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/UnknownCmdHandler.java
    
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/UserCmdHandler.java

Modified: 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/CapaCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/CapaCmdHandler.java?rev=1203635&r1=1203634&r2=1203635&view=diff
==============================================================================
--- 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/CapaCmdHandler.java
 (original)
+++ 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/CapaCmdHandler.java
 Fri Nov 18 13:12:48 2011
@@ -20,7 +20,9 @@
 package org.apache.james.protocols.pop3.core;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 
 
@@ -35,9 +37,10 @@ import org.apache.james.protocols.pop3.P
 /**
  * This handler is used to handle CAPA commands
  */
-public class CapaCmdHandler implements CommandHandler<POP3Session>, 
ExtensibleHandler, CapaCapability {
-    public final static String COMMAND_NAME = "CAPA";
+public class CapaCmdHandler implements CommandHandler<POP3Session>, 
ExtensibleHandler, CapaCapability {    
     private List<CapaCapability> caps;
+    private static final Collection<String> COMMANDS = 
Collections.unmodifiableCollection(Arrays.asList("CAPA"));
+    private static final List<String> CAPS = 
Collections.unmodifiableList(Arrays.asList("PIPELINING"));
 
     /**
      * @see
@@ -82,18 +85,14 @@ public class CapaCmdHandler implements C
      * @see 
org.apache.james.protocols.api.handler.CommandHandler#getImplCommands()
      */
     public Collection<String> getImplCommands() {
-        List<String> commands = new ArrayList<String>();
-        commands.add(COMMAND_NAME);
-        return commands;
+        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;
+       return CAPS;
     }
 
 }

Modified: 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/DeleCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/DeleCmdHandler.java?rev=1203635&r1=1203634&r2=1203635&view=diff
==============================================================================
--- 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/DeleCmdHandler.java
 (original)
+++ 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/DeleCmdHandler.java
 Fri Nov 18 13:12:48 2011
@@ -19,8 +19,9 @@
 
 package org.apache.james.protocols.pop3.core;
 
-import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 
 import org.apache.james.protocols.api.Request;
@@ -34,7 +35,7 @@ import org.apache.james.protocols.pop3.m
  * Handles DELE command
  */
 public class DeleCmdHandler implements CommandHandler<POP3Session> {
-    private final static String COMMAND_NAME = "DELE";
+    private static final Collection<String> COMMANDS = 
Collections.unmodifiableCollection(Arrays.asList("DELE"));
 
     /**
      * Handler method called upon receipt of a DELE command. This command
@@ -80,9 +81,7 @@ public class DeleCmdHandler implements C
      * @see 
org.apache.james.protocols.api.handler.CommandHandler#getImplCommands()
      */
     public Collection<String> getImplCommands() {
-        List<String> commands = new ArrayList<String>();
-        commands.add(COMMAND_NAME);
-        return commands;
+       return COMMANDS;
     }
 
 }

Modified: 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/ListCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/ListCmdHandler.java?rev=1203635&r1=1203634&r2=1203635&view=diff
==============================================================================
--- 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/ListCmdHandler.java
 (original)
+++ 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/ListCmdHandler.java
 Fri Nov 18 13:12:48 2011
@@ -20,7 +20,9 @@
 package org.apache.james.protocols.pop3.core;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 
 import org.apache.james.protocols.api.Request;
@@ -34,6 +36,7 @@ import org.apache.james.protocols.pop3.m
  * Handles LIST command
  */
 public class ListCmdHandler implements CommandHandler<POP3Session> {
+    private static final Collection<String> COMMANDS = 
Collections.unmodifiableCollection(Arrays.asList("LIST"));
 
     /**
      * Handler method called upon receipt of a LIST command. Returns the number
@@ -109,9 +112,7 @@ public class ListCmdHandler implements C
      * @see 
org.apache.james.protocols.api.handler.CommandHandler#getImplCommands()
      */
     public Collection<String> getImplCommands() {
-        List<String> commands = new ArrayList<String>();
-        commands.add("LIST");
-        return commands;
+       return COMMANDS;
     }
 
 }

Modified: 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/NoopCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/NoopCmdHandler.java?rev=1203635&r1=1203634&r2=1203635&view=diff
==============================================================================
--- 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/NoopCmdHandler.java
 (original)
+++ 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/NoopCmdHandler.java
 Fri Nov 18 13:12:48 2011
@@ -19,9 +19,9 @@
 
 package org.apache.james.protocols.pop3.core;
 
-import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
-import java.util.List;
+import java.util.Collections;
 
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
@@ -33,7 +33,7 @@ import org.apache.james.protocols.pop3.P
  * Handles NOOP command
  */
 public class NoopCmdHandler implements CommandHandler<POP3Session> {
-    private final static String COMMAND_NAME = "NOOP";
+    private static final Collection<String> COMMANDS = 
Collections.unmodifiableCollection(Arrays.asList("NOOP"));
 
     /**
      * Handler method called upon receipt of a NOOP command. Like all good
@@ -53,9 +53,7 @@ public class NoopCmdHandler implements C
      * @see 
org.apache.james.protocols.api.handler.CommandHandler#getImplCommands()
      */
     public Collection<String> getImplCommands() {
-        List<String> commands = new ArrayList<String>();
-        commands.add(COMMAND_NAME);
-        return commands;
+       return COMMANDS;
     }
 
 }

Modified: 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/PassCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/PassCmdHandler.java?rev=1203635&r1=1203634&r2=1203635&view=diff
==============================================================================
--- 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/PassCmdHandler.java
 (original)
+++ 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/PassCmdHandler.java
 Fri Nov 18 13:12:48 2011
@@ -21,7 +21,9 @@ package org.apache.james.protocols.pop3.
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 
 
@@ -36,8 +38,8 @@ import org.apache.james.protocols.pop3.m
  * Handles PASS command
  */
 public class PassCmdHandler extends RsetCmdHandler {
+    private static final Collection<String> COMMANDS = 
Collections.unmodifiableCollection(Arrays.asList("PASS"));
 
-    private final static String COMMAND_NAME = "PASS";
     private MailboxFactory mailboxManager;
 
     public void setMailboxFactory(MailboxFactory manager) {
@@ -84,9 +86,7 @@ public class PassCmdHandler extends Rset
      * @see 
org.apache.james.protocols.api.handler.CommandHandler#getImplCommands()
      */
     public Collection<String> getImplCommands() {
-        List<String> commands = new ArrayList<String>();
-        commands.add(COMMAND_NAME);
-        return commands;
+       return COMMANDS;
     }
 
 }

Modified: 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/QuitCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/QuitCmdHandler.java?rev=1203635&r1=1203634&r2=1203635&view=diff
==============================================================================
--- 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/QuitCmdHandler.java
 (original)
+++ 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/QuitCmdHandler.java
 Fri Nov 18 13:12:48 2011
@@ -20,8 +20,9 @@
 package org.apache.james.protocols.pop3.core;
 
 import java.io.IOException;
-import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 
 import org.apache.james.protocols.api.Request;
@@ -35,7 +36,7 @@ import org.apache.james.protocols.pop3.m
  * Handles QUIT command
  */
 public class QuitCmdHandler implements CommandHandler<POP3Session> {
-    private final static String COMMAND_NAME = "QUIT";
+    private static final Collection<String> COMMANDS = 
Collections.unmodifiableCollection(Arrays.asList("QUIT"));
 
     /**
      * Handler method called upon receipt of a QUIT command. This method 
handles
@@ -76,9 +77,7 @@ public class QuitCmdHandler implements C
      * @see 
org.apache.james.protocols.api.handler.CommandHandler#getImplCommands()
      */
     public Collection<String> getImplCommands() {
-        List<String> commands = new ArrayList<String>();
-        commands.add(COMMAND_NAME);
-        return commands;
+       return COMMANDS;
     }
 
 }

Modified: 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/RetrCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/RetrCmdHandler.java?rev=1203635&r1=1203634&r2=1203635&view=diff
==============================================================================
--- 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/RetrCmdHandler.java
 (original)
+++ 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/RetrCmdHandler.java
 Fri Nov 18 13:12:48 2011
@@ -21,8 +21,9 @@ package org.apache.james.protocols.pop3.
 
 import java.io.IOException;
 import java.io.InputStream;
-import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 
 import org.apache.james.protocols.api.Request;
@@ -38,7 +39,7 @@ import org.apache.james.protocols.pop3.m
  */
 public class RetrCmdHandler implements CommandHandler<POP3Session> {
 
-    private final static String COMMAND_NAME = "RETR";
+    private static final Collection<String> COMMANDS = 
Collections.unmodifiableCollection(Arrays.asList("RETR"));
 
     /**
      * Handler method called upon receipt of a RETR command. This command
@@ -96,9 +97,7 @@ public class RetrCmdHandler implements C
      * @see 
org.apache.james.protocols.api.handler.CommandHandler#getImplCommands()
      */
     public Collection<String> getImplCommands() {
-        List<String> commands = new ArrayList<String>();
-        commands.add(COMMAND_NAME);
-        return commands;
+       return COMMANDS;
     }
 
 }

Modified: 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/RsetCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/RsetCmdHandler.java?rev=1203635&r1=1203634&r2=1203635&view=diff
==============================================================================
--- 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/RsetCmdHandler.java
 (original)
+++ 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/RsetCmdHandler.java
 Fri Nov 18 13:12:48 2011
@@ -21,7 +21,9 @@ package org.apache.james.protocols.pop3.
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 
 
@@ -36,7 +38,7 @@ import org.apache.james.protocols.pop3.m
  * Handles RSET command
  */
 public class RsetCmdHandler implements CommandHandler<POP3Session> {
-    private final static String COMMAND_NAME = "RSET";
+    private static final Collection<String> COMMANDS = 
Collections.unmodifiableCollection(Arrays.asList("RSET"));
 
     /**
      * Handler method called upon receipt of a RSET command. Calls stat() to
@@ -77,9 +79,7 @@ public class RsetCmdHandler implements C
      * @see 
org.apache.james.protocols.api.handler.CommandHandler#getImplCommands()
      */
     public Collection<String> getImplCommands() {
-        List<String> commands = new ArrayList<String>();
-        commands.add(COMMAND_NAME);
-        return commands;
+       return COMMANDS;
     }
 
 }

Modified: 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/StatCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/StatCmdHandler.java?rev=1203635&r1=1203634&r2=1203635&view=diff
==============================================================================
--- 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/StatCmdHandler.java
 (original)
+++ 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/StatCmdHandler.java
 Fri Nov 18 13:12:48 2011
@@ -20,7 +20,9 @@
 package org.apache.james.protocols.pop3.core;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 
 import org.apache.james.protocols.api.Request;
@@ -34,7 +36,7 @@ import org.apache.james.protocols.pop3.m
  * Handles STAT command
  */
 public class StatCmdHandler implements CommandHandler<POP3Session> {
-    private final static String COMMAND_NAME = "STAT";
+    private static final Collection<String> COMMANDS = 
Collections.unmodifiableCollection(Arrays.asList("STAT"));
 
     /**
      * Handler method called upon receipt of a STAT command. Returns the number
@@ -73,9 +75,7 @@ public class StatCmdHandler implements C
      * @see 
org.apache.james.protocols.api.handler.CommandHandler#getImplCommands()
      */
     public Collection<String> getImplCommands() {
-        List<String> commands = new ArrayList<String>();
-        commands.add(COMMAND_NAME);
-        return commands;
+       return COMMANDS;
     }
 
 }

Modified: 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/StlsCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/StlsCmdHandler.java?rev=1203635&r1=1203634&r2=1203635&view=diff
==============================================================================
--- 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/StlsCmdHandler.java
 (original)
+++ 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/StlsCmdHandler.java
 Fri Nov 18 13:12:48 2011
@@ -19,8 +19,9 @@
 
 package org.apache.james.protocols.pop3.core;
 
-import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 
 import org.apache.james.protocols.api.Request;
@@ -35,7 +36,8 @@ import org.apache.james.protocols.pop3.S
  * with the STSL command
  */
 public class StlsCmdHandler implements CommandHandler<POP3Session>, 
CapaCapability {
-    public final static String COMMAND_NAME = "STLS";
+    private static final Collection<String> COMMANDS = 
Collections.unmodifiableCollection(Arrays.asList("STLS"));
+    private static final List<String> CAPS = 
Collections.unmodifiableList(Arrays.asList("STLS"));
 
     /**
      * @see 
CommandHandler#onCommand(org.apache.james.protocols.api.ProtocolSession, 
Request)
@@ -57,21 +59,19 @@ public class StlsCmdHandler implements C
     /**
      * @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>();
+    @SuppressWarnings("unchecked")
+       public List<String> getImplementedCapabilities(POP3Session session) {
         if (session.isStartTLSSupported() && session.getHandlerState() == 
POP3Session.AUTHENTICATION_READY) {
-            caps.add(COMMAND_NAME);
-            return caps;
+            return CAPS;
+        } else {
+               return Collections.EMPTY_LIST;
         }
-        return caps;
     }
 
     /**
      * @see 
org.apache.james.protocols.api.handler.CommandHandler#getImplCommands()
      */
     public Collection<String> getImplCommands() {
-        List<String> commands = new ArrayList<String>();
-        commands.add(COMMAND_NAME);
-        return commands;
+       return COMMANDS;
     }
 }

Modified: 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/TopCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/TopCmdHandler.java?rev=1203635&r1=1203634&r2=1203635&view=diff
==============================================================================
--- 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/TopCmdHandler.java
 (original)
+++ 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/TopCmdHandler.java
 Fri Nov 18 13:12:48 2011
@@ -22,8 +22,9 @@ package org.apache.james.protocols.pop3.
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.SequenceInputStream;
-import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 import java.util.NoSuchElementException;
 
@@ -38,7 +39,8 @@ import org.apache.james.protocols.pop3.m
  * Handles TOP command
  */
 public class TopCmdHandler extends RetrCmdHandler implements CapaCapability {
-    private final static String COMMAND_NAME = "TOP";
+    private static final Collection<String> COMMANDS = 
Collections.unmodifiableCollection(Arrays.asList("TOP"));
+    private static final List<String> CAPS = 
Collections.unmodifiableList(Arrays.asList("TOP"));
 
     
     /**
@@ -118,22 +120,20 @@ public class TopCmdHandler extends RetrC
     /**
      * @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>();
+    @SuppressWarnings("unchecked")
+       public List<String> getImplementedCapabilities(POP3Session session) {
         if (session.getHandlerState() == POP3Session.TRANSACTION) {
-            caps.add(COMMAND_NAME);
-            return caps;
+               return CAPS;
+        } else {
+               return Collections.EMPTY_LIST;
         }
-        return caps;
     }
 
     /**
      * @see 
org.apache.james.protocols.api.handler.CommandHandler#getImplCommands()
      */
     public Collection<String> getImplCommands() {
-        List<String> commands = new ArrayList<String>();
-        commands.add(COMMAND_NAME);
-        return commands;
+       return COMMANDS;
     }
 
     /**

Modified: 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/UidlCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/UidlCmdHandler.java?rev=1203635&r1=1203634&r2=1203635&view=diff
==============================================================================
--- 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/UidlCmdHandler.java
 (original)
+++ 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/UidlCmdHandler.java
 Fri Nov 18 13:12:48 2011
@@ -20,8 +20,9 @@
 package org.apache.james.protocols.pop3.core;
 
 import java.io.IOException;
-import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 
 
@@ -36,7 +37,8 @@ import org.apache.james.protocols.pop3.m
  * Handles UIDL command
  */
 public class UidlCmdHandler implements CommandHandler<POP3Session>, 
CapaCapability {
-    private final static String COMMAND_NAME = "UIDL";
+    private static final Collection<String> COMMANDS = 
Collections.unmodifiableCollection(Arrays.asList("UIDL"));
+    private static final List<String> CAPS = 
Collections.unmodifiableList(Arrays.asList("UIDL"));
 
     /**
      * Handler method called upon receipt of a UIDL command. Returns a listing
@@ -99,21 +101,19 @@ public class UidlCmdHandler implements C
     /**
      * @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>();
+    @SuppressWarnings("unchecked")
+       public List<String> getImplementedCapabilities(POP3Session session) {
         if (session.getHandlerState() == POP3Session.TRANSACTION) {
-            caps.add(COMMAND_NAME);
-            return caps;
+               return CAPS;
+        } else {
+               return Collections.EMPTY_LIST;
         }
-        return caps;
     }
 
     /**
      * @see 
org.apache.james.protocols.api.handler.CommandHandler#getImplCommands()
      */
     public Collection<String> getImplCommands() {
-        List<String> commands = new ArrayList<String>();
-        commands.add(COMMAND_NAME);
-        return commands;
+       return COMMANDS;
     }
 }

Modified: 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/UnknownCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/UnknownCmdHandler.java?rev=1203635&r1=1203634&r2=1203635&view=diff
==============================================================================
--- 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/UnknownCmdHandler.java
 (original)
+++ 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/UnknownCmdHandler.java
 Fri Nov 18 13:12:48 2011
@@ -19,9 +19,9 @@
 
 package org.apache.james.protocols.pop3.core;
 
-import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
-import java.util.List;
+import java.util.Collections;
 
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
@@ -38,6 +38,9 @@ public class UnknownCmdHandler implement
      */
     public static final String COMMAND_NAME = "UNKNOWN";
 
+    private static final Collection<String> COMMANDS = 
Collections.unmodifiableCollection(Arrays.asList(COMMAND_NAME));
+
+    
     /**
      * Handler method called upon receipt of an unrecognized command. Returns 
an
      * error response and logs the command.
@@ -50,9 +53,7 @@ public class UnknownCmdHandler implement
      * @see 
org.apache.james.protocols.api.handler.CommandHandler#getImplCommands()
      */
     public Collection<String> getImplCommands() {
-        List<String> commands = new ArrayList<String>();
-        commands.add(COMMAND_NAME);
-        return commands;
+       return COMMANDS;
     }
 
 }

Modified: 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/UserCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/UserCmdHandler.java?rev=1203635&r1=1203634&r2=1203635&view=diff
==============================================================================
--- 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/UserCmdHandler.java
 (original)
+++ 
james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/core/UserCmdHandler.java
 Fri Nov 18 13:12:48 2011
@@ -20,7 +20,9 @@
 package org.apache.james.protocols.pop3.core;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 
 import org.apache.james.protocols.api.Request;
@@ -30,11 +32,13 @@ import org.apache.james.protocols.pop3.P
 import org.apache.james.protocols.pop3.POP3Session;
 
 /**
- * Handles NOOP command
+ * Handles USER command
  */
 public class UserCmdHandler implements CommandHandler<POP3Session>, 
CapaCapability {
 
-    private final static String COMMAND_NAME = "USER";
+    private static final Collection<String> COMMANDS = 
Collections.unmodifiableCollection(Arrays.asList("USER"));
+    private static final List<String> CAPS = 
Collections.unmodifiableList(Arrays.asList("USER"));
+
 
     /**
      * Handler method called upon receipt of a USER command. Reads in the user
@@ -57,17 +61,13 @@ public class UserCmdHandler implements C
      * @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;
+       return CAPS;
     }
 
     /**
      * @see 
org.apache.james.protocols.api.handler.CommandHandler#getImplCommands()
      */
     public Collection<String> getImplCommands() {
-        List<String> commands = new ArrayList<String>();
-        commands.add(COMMAND_NAME);
-        return commands;
+       return COMMANDS;
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to