Author: norman
Date: Sun Jan  1 12:21:48 2012
New Revision: 1226244

URL: http://svn.apache.org/viewvc?rev=1226244&view=rev
Log:
Add getCharset() and getLineDelimiters() to ProtocolSession. See PROTOCOLS-78

Modified:
    
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSession.java
    
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSessionImpl.java
    
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/CommandDispatcher.java

Modified: 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSession.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSession.java?rev=1226244&r1=1226243&r2=1226244&view=diff
==============================================================================
--- 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSession.java
 (original)
+++ 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSession.java
 Sun Jan  1 12:21:48 2012
@@ -20,6 +20,7 @@
 package org.apache.james.protocols.api;
 
 import java.net.InetSocketAddress;
+import java.nio.charset.Charset;
 import java.util.Map;
 
 import org.apache.james.protocols.api.logger.Logger;
@@ -158,5 +159,19 @@ public interface ProtocolSession {
      * @return config
      */
     ProtocolConfiguration getConfiguration();
+    
+    /**
+     * Return the {@link Charset} which is used by the {@link ProtocolSession}
+     * 
+     * @return charset
+     */
+    Charset getCharset();
+    
+    /**
+     * Return the line delimiter which is used
+     * 
+     * @return delimiter
+     */
+    String getLineDelimiter();
 
 }

Modified: 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSessionImpl.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSessionImpl.java?rev=1226244&r1=1226243&r2=1226244&view=diff
==============================================================================
--- 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSessionImpl.java
 (original)
+++ 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSessionImpl.java
 Sun Jan  1 12:21:48 2012
@@ -20,6 +20,7 @@
 package org.apache.james.protocols.api;
 
 import java.net.InetSocketAddress;
+import java.nio.charset.Charset;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -41,7 +42,9 @@ public class ProtocolSessionImpl impleme
     private final Map<String, Object> sessionState;
     private String user;
     protected final ProtocolConfiguration config;
-
+    private final static Charset CHARSET = Charset.forName("US-ASCII");
+    private final static String DELIMITER = "\r\n";
+    
     public ProtocolSessionImpl(Logger logger, ProtocolTransport transport, 
ProtocolConfiguration config) {
         this.transport = transport;
         this.pLog = new ProtocolSessionLogger(transport.getId(), logger);
@@ -198,4 +201,18 @@ public class ProtocolSessionImpl impleme
         }
     }
 
+    /**
+     * Returns a Charset for US-ASCII
+     */
+    public Charset getCharset() {
+        return CHARSET;
+    }
+
+    /**
+     * Returns "\r\n";
+     */
+    public String getLineDelimiter() {
+        return DELIMITER;
+    }
+
 }

Modified: 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/CommandDispatcher.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/CommandDispatcher.java?rev=1226244&r1=1226243&r2=1226244&view=diff
==============================================================================
--- 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/CommandDispatcher.java
 (original)
+++ 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/CommandDispatcher.java
 Sun Jan  1 12:21:48 2012
@@ -211,7 +211,8 @@ public class CommandDispatcher<Session e
             line = new byte[buffer.remaining()];
             buffer.get(line);
         }
-        String cmdString = new String(line, getLineDecodingCharset()).trim();
+        // This should be changed once we move to java6
+        String cmdString = new String(line, 
session.getCharset().name()).trim();
         int spaceIndex = cmdString.indexOf(" ");
         if (spaceIndex > 0) {
             curCommandName = cmdString.substring(0, spaceIndex);
@@ -229,12 +230,7 @@ public class CommandDispatcher<Session e
         return request;
 
     }
-    
-    
-    protected String getLineDecodingCharset() {
-        return "US-ASCII";
-    }
-
+   
     /**
      * @see 
org.apache.james.protocols.api.handler.ExtensibleHandler#getMarkerInterfaces()
      */



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to