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: [email protected]
For additional commands, e-mail: [email protected]