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: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to