Author: eric
Date: Wed Feb 8 10:41:18 2012
New Revision: 1241857
URL: http://svn.apache.org/viewvc?rev=1241857&view=rev
Log:
Move all CharsetUtil.encodeModifiedUTF7 invocations to ImapResponseComposer,
contributed by Jochen Gazda (IMAP-354)
Modified:
james/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ACLResponseEncoder.java
james/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ImapResponseComposer.java
james/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ListingEncodingUtils.java
james/imap/trunk/message/src/main/java/org/apache/james/imap/encode/base/ImapResponseComposerImpl.java
james/imap/trunk/message/src/main/java/org/apache/james/imap/message/response/ACLResponse.java
james/imap/trunk/message/src/main/java/org/apache/james/imap/message/response/AbstractListingResponse.java
Modified:
james/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ACLResponseEncoder.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ACLResponseEncoder.java?rev=1241857&r1=1241856&r2=1241857&view=diff
==============================================================================
---
james/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ACLResponseEncoder.java
(original)
+++
james/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ACLResponseEncoder.java
Wed Feb 8 10:41:18 2012
@@ -57,7 +57,7 @@ public class ACLResponseEncoder extends
composer.commandName(ImapConstants.ACL_RESPONSE_NAME);
String mailboxName = aclResponse.getMailboxName();
- composer.quote(mailboxName == null ? "" : mailboxName);
+ composer.mailbox(mailboxName == null ? "" : mailboxName);
if (entries != null) {
for (Entry<MailboxACLEntryKey, MailboxACLRights> entry :
entries.entrySet()) {
Modified:
james/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ImapResponseComposer.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ImapResponseComposer.java?rev=1241857&r1=1241856&r2=1241857&view=diff
==============================================================================
---
james/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ImapResponseComposer.java
(original)
+++
james/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ImapResponseComposer.java
Wed Feb 8 10:41:18 2012
@@ -24,6 +24,7 @@ import java.io.IOException;
import javax.mail.Flags;
import org.apache.james.imap.api.ImapCommand;
+import org.apache.james.imap.api.display.CharsetUtil;
import org.apache.james.imap.api.message.IdRange;
import org.apache.james.imap.message.response.Literal;
@@ -48,7 +49,6 @@ public interface ImapResponseComposer {
*/
public ImapResponseComposer flags(Flags flags) throws IOException;
-
/**
* Composes a <code>NIL</code>.
*
@@ -57,7 +57,8 @@ public interface ImapResponseComposer {
public ImapResponseComposer nil() throws IOException;
/**
- * Compose a response which contains the {@link ImapCommand} to which the
response belongs
+ * Compose a response which contains the {@link ImapCommand} to which the
+ * response belongs
*
* @param command
* @param message
@@ -66,7 +67,6 @@ public interface ImapResponseComposer {
*/
public ImapResponseComposer commandResponse(ImapCommand command, String
message) throws IOException;
-
/**
* Writes the message provided to the client, prepended with the request
* tag.
@@ -85,9 +85,8 @@ public interface ImapResponseComposer {
*/
public ImapResponseComposer untaggedResponse(String message) throws
IOException;
-
/**
- * Write a '*'
+ * Write a '*'
*
* @return composer
* @throws IOException
@@ -121,6 +120,17 @@ public interface ImapResponseComposer {
public ImapResponseComposer message(final long number) throws IOException;
/**
+ * First encodes the given {@code mailboxName} using
+ * {@link CharsetUtil#encodeModifiedUTF7(String)} and then quotes the
result
+ * with {@link #quote(String)}.
+ *
+ * @param mailboxName
+ * @return
+ * @throws IOException
+ */
+ public ImapResponseComposer mailbox(final String mailboxName) throws
IOException;
+
+ /**
* Write the given sequence-set
*
* @param ranges
@@ -130,7 +140,8 @@ public interface ImapResponseComposer {
public ImapResponseComposer sequenceSet(final IdRange[] ranges) throws
IOException;
/**
- * Write a CRLF and flush the composer which will write the content of it
to the socket
+ * Write a CRLF and flush the composer which will write the content of it
to
+ * the socket
*
* @return composer
* @throws IOException
@@ -156,8 +167,8 @@ public interface ImapResponseComposer {
public ImapResponseComposer quote(String message) throws IOException;
/**
- * Compose a {@link Literal} and write it to the socket. Everything which
was buffered before will
- * get written too
+ * Compose a {@link Literal} and write it to the socket. Everything which
+ * was buffered before will get written too
*
* @param literal
* @return self
@@ -165,7 +176,6 @@ public interface ImapResponseComposer {
*/
public ImapResponseComposer literal(Literal literal) throws IOException;
-
/**
* Write a '('
*
@@ -206,7 +216,6 @@ public interface ImapResponseComposer {
*/
public ImapResponseComposer quoteUpperCaseAscii(final String message)
throws IOException;
-
/**
* Tell the {@link ImapResponseComposer} to skip the next written space
*
@@ -215,7 +224,6 @@ public interface ImapResponseComposer {
*/
public ImapResponseComposer skipNextSpace() throws IOException;
-
/**
* Writes a continuation response.
*
@@ -223,7 +231,6 @@ public interface ImapResponseComposer {
* message for display, not null
*/
public ImapResponseComposer continuationResponse(String message) throws
IOException;
-
/**
* Write a '}'
Modified:
james/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ListingEncodingUtils.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ListingEncodingUtils.java?rev=1241857&r1=1241856&r2=1241857&view=diff
==============================================================================
---
james/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ListingEncodingUtils.java
(original)
+++
james/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ListingEncodingUtils.java
Wed Feb 8 10:41:18 2012
@@ -55,7 +55,7 @@ public class ListingEncodingUtils {
} else {
composer.quote(Character.toString(hierarchyDelimiter));
}
- composer.quote(name);
+ composer.mailbox(name);
composer.end();
}
Modified:
james/imap/trunk/message/src/main/java/org/apache/james/imap/encode/base/ImapResponseComposerImpl.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/message/src/main/java/org/apache/james/imap/encode/base/ImapResponseComposerImpl.java?rev=1241857&r1=1241856&r2=1241857&view=diff
==============================================================================
---
james/imap/trunk/message/src/main/java/org/apache/james/imap/encode/base/ImapResponseComposerImpl.java
(original)
+++
james/imap/trunk/message/src/main/java/org/apache/james/imap/encode/base/ImapResponseComposerImpl.java
Wed Feb 8 10:41:18 2012
@@ -26,6 +26,7 @@ import javax.mail.Flags;
import org.apache.james.imap.api.ImapCommand;
import org.apache.james.imap.api.ImapConstants;
+import org.apache.james.imap.api.display.CharsetUtil;
import org.apache.james.imap.api.message.IdRange;
import org.apache.james.imap.encode.ImapResponseComposer;
import org.apache.james.imap.encode.ImapResponseWriter;
@@ -278,6 +279,14 @@ public class ImapResponseComposerImpl im
writeASCII(Long.toString(number));
return this;
}
+
+ /**
+ * @see
org.apache.james.imap.encode.ImapResponseComposer#mailbox(java.lang.String)
+ */
+ public ImapResponseComposer mailbox(final String mailboxName) throws
IOException {
+ quote(CharsetUtil.encodeModifiedUTF7(mailboxName));
+ return this;
+ }
/**
* @see
Modified:
james/imap/trunk/message/src/main/java/org/apache/james/imap/message/response/ACLResponse.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/message/src/main/java/org/apache/james/imap/message/response/ACLResponse.java?rev=1241857&r1=1241856&r2=1241857&view=diff
==============================================================================
---
james/imap/trunk/message/src/main/java/org/apache/james/imap/message/response/ACLResponse.java
(original)
+++
james/imap/trunk/message/src/main/java/org/apache/james/imap/message/response/ACLResponse.java
Wed Feb 8 10:41:18 2012
@@ -22,7 +22,6 @@ package org.apache.james.imap.message.re
import java.util.Map.Entry;
import org.apache.james.imap.api.ImapConstants;
-import org.apache.james.imap.api.display.CharsetUtil;
import org.apache.james.imap.api.message.response.ImapResponseMessage;
import org.apache.james.mailbox.MailboxACL;
import org.apache.james.mailbox.MailboxACL.MailboxACLEntryKey;
@@ -39,8 +38,7 @@ public final class ACLResponse implement
public ACLResponse(String mailboxName, MailboxACL acl) {
super();
- //FIXME encodeModifiedUTF7 invocations should probably be moved to
org.apache.james.imap.encode.ImapResponseComposer analogically to
org.apache.james.imap.decode.ImapRequestLineReader.mailbox()
- this.mailboxName = CharsetUtil.encodeModifiedUTF7(mailboxName);
+ this.mailboxName = mailboxName;
this.acl = acl;
}
Modified:
james/imap/trunk/message/src/main/java/org/apache/james/imap/message/response/AbstractListingResponse.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/message/src/main/java/org/apache/james/imap/message/response/AbstractListingResponse.java?rev=1241857&r1=1241856&r2=1241857&view=diff
==============================================================================
---
james/imap/trunk/message/src/main/java/org/apache/james/imap/message/response/AbstractListingResponse.java
(original)
+++
james/imap/trunk/message/src/main/java/org/apache/james/imap/message/response/AbstractListingResponse.java
Wed Feb 8 10:41:18 2012
@@ -19,7 +19,6 @@
package org.apache.james.imap.message.response;
-import org.apache.james.imap.api.display.CharsetUtil;
import org.apache.james.imap.api.process.MailboxType;
/**
@@ -53,7 +52,7 @@ public abstract class AbstractListingRes
this.unmarked = unmarked;
this.children = hasChildren;
this.noChildren = hasNoChildren;
- this.name = CharsetUtil.encodeModifiedUTF7(name);
+ this.name = name;
this.hierarchyDelimiter = hierarchyDelimiter;
this.type = type;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]