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]