You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2011/05/30 07:57:23 UTC
svn commit: r1128999 -
/james/imap/trunk/message/src/main/java/org/apache/james/imap/decode/parser/SearchCommandParser.java
Author: norman
Date: Mon May 30 05:57:23 2011
New Revision: 1128999
URL: http://svn.apache.org/viewvc?rev=1128999&view=rev
Log:
Make sure ESEARCH options get parsed in the right way. See IMAP-308
Modified:
james/imap/trunk/message/src/main/java/org/apache/james/imap/decode/parser/SearchCommandParser.java
Modified: james/imap/trunk/message/src/main/java/org/apache/james/imap/decode/parser/SearchCommandParser.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/message/src/main/java/org/apache/james/imap/decode/parser/SearchCommandParser.java?rev=1128999&r1=1128998&r2=1128999&view=diff
==============================================================================
--- james/imap/trunk/message/src/main/java/org/apache/james/imap/decode/parser/SearchCommandParser.java (original)
+++ james/imap/trunk/message/src/main/java/org/apache/james/imap/decode/parser/SearchCommandParser.java Mon May 30 05:57:23 2011
@@ -896,9 +896,12 @@ public class SearchCommandParser extends
}
}
+ /**
+ * Parse the {@link SearchResultOption}'s which are used for ESEARCH
+ */
private List<SearchResultOption> parseOptions(ImapRequestLineReader reader) throws DecodingException {
List<SearchResultOption> options = new ArrayList<SearchResultOption>();
- nextIs(reader, '(', '(');
+ reader.consumeChar('(');
reader.nextWordChar();
int cap = consumeAndCap(reader);
@@ -909,7 +912,7 @@ public class SearchCommandParser extends
nextIsL(reader);
nextIsL(reader);
options.add(SearchResultOption.ALL);
-
+ break;
case 'C':
nextIsO(reader);
nextIsU(reader);
@@ -925,12 +928,13 @@ public class SearchCommandParser extends
options.add(SearchResultOption.MAX);
break;
case 'I':
- nextIsM(reader);
+ nextIsN(reader);
options.add(SearchResultOption.MIN);
break;
default:
throw new DecodingException(HumanReadableText.ILLEGAL_ARGUMENTS, "Unknown search key");
}
+ break;
default:
throw new DecodingException(HumanReadableText.ILLEGAL_ARGUMENTS, "Unknown search key");
}
@@ -973,7 +977,10 @@ public class SearchCommandParser extends
nextIsU(request);
nextIsR(request);
nextIsN(request);
+ request.nextWordChar();
options = parseOptions(request);
+ break;
+
default:
throw new DecodingException(HumanReadableText.ILLEGAL_ARGUMENTS, "Unknown search key");
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org