Author: norman
Date: Fri Apr  8 15:46:37 2011
New Revision: 1090305

URL: http://svn.apache.org/viewvc?rev=1090305&view=rev
Log:
StatusCommandParser now works with uppercase and lowercase parameters. See 
IMAP-282

Modified:
    
james/imap/trunk/message/src/main/java/org/apache/james/imap/decode/parser/StatusCommandParser.java

Modified: 
james/imap/trunk/message/src/main/java/org/apache/james/imap/decode/parser/StatusCommandParser.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/message/src/main/java/org/apache/james/imap/decode/parser/StatusCommandParser.java?rev=1090305&r1=1090304&r2=1090305&view=diff
==============================================================================
--- 
james/imap/trunk/message/src/main/java/org/apache/james/imap/decode/parser/StatusCommandParser.java
 (original)
+++ 
james/imap/trunk/message/src/main/java/org/apache/james/imap/decode/parser/StatusCommandParser.java
 Fri Apr  8 15:46:37 2011
@@ -60,22 +60,21 @@ public class StatusCommandParser extends
         return items;
     }
 
-    private void addItem(String nextWord, StatusDataItems items)
-            throws DecodingException {
-
-        if (nextWord.equals(ImapConstants.STATUS_MESSAGES)) {
+    private void addItem(String nextWord, StatusDataItems items) throws 
DecodingException {
+        // All the matching must be done in a case-insensitive fashion.
+        // See rfc3501 9. Formal Syntax and IMAP-282
+        if (nextWord.equalsIgnoreCase(ImapConstants.STATUS_MESSAGES)) {
             items.setMessages(true);
-        } else if (nextWord.equals(ImapConstants.STATUS_RECENT)) {
+        } else if (nextWord.equalsIgnoreCase(ImapConstants.STATUS_RECENT)) {
             items.setRecent(true);
-        } else if (nextWord.equals(ImapConstants.STATUS_UIDNEXT)) {
+        } else if (nextWord.equalsIgnoreCase(ImapConstants.STATUS_UIDNEXT)) {
             items.setUidNext(true);
-        } else if (nextWord.equals(ImapConstants.STATUS_UIDVALIDITY)) {
+        } else if 
(nextWord.equalsIgnoreCase(ImapConstants.STATUS_UIDVALIDITY)) {
             items.setUidValidity(true);
-        } else if (nextWord.equals(ImapConstants.STATUS_UNSEEN)) {
+        } else if (nextWord.equalsIgnoreCase(ImapConstants.STATUS_UNSEEN)) {
             items.setUnseen(true);
         } else {
-            throw new DecodingException(HumanReadableText.ILLEGAL_ARGUMENTS, 
-                    "Unknown status item: '" + nextWord + "'");
+            throw new DecodingException(HumanReadableText.ILLEGAL_ARGUMENTS, 
"Unknown status item: '" + nextWord + "'");
         }
     }
 



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

Reply via email to