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 rd...@apache.org on 2009/04/08 06:10:31 UTC
svn commit: r762739 - in /james/imap/trunk/processor/src:
main/java/org/apache/james/imap/processor/ListProcessor.java
test/java/org/apache/james/imap/processor/ListProcessorTest.java
Author: rdonkin
Date: Tue Apr 7 12:24:18 2009
New Revision: 762739
URL: http://svn.apache.org/viewvc?rev=762739&view=rev
Log:
Process HasChildren HasNoChildren meta data IMAP-73 https://issues.apache.org/jira/browse/IMAP-73
Modified:
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/ListProcessor.java
james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/ListProcessorTest.java
Modified: james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/ListProcessor.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/ListProcessor.java?rev=762739&r1=762738&r2=762739&view=diff
==============================================================================
--- james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/ListProcessor.java (original)
+++ james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/ListProcessor.java Tue Apr 7 12:24:18 2009
@@ -35,6 +35,7 @@
import org.apache.james.imap.mailbox.MailboxManagerProvider;
import org.apache.james.imap.mailbox.MailboxMetaData;
import org.apache.james.imap.mailbox.MailboxQuery;
+import org.apache.james.imap.mailbox.MailboxMetaData.Children;
import org.apache.james.imap.mailbox.util.SimpleMailboxMetaData;
import org.apache.james.imap.message.request.ListRequest;
import org.apache.james.imap.message.response.ListResponse;
@@ -63,9 +64,9 @@
protected ImapResponseMessage createResponse(boolean noInferior,
boolean noSelect, boolean marked, boolean unmarked,
- String hierarchyDelimiter, String mailboxName) {
+ boolean hasChildren, boolean hasNoChildren, String hierarchyDelimiter, String mailboxName) {
return new ListResponse(noInferior, noSelect, marked, unmarked,
- false, false, hierarchyDelimiter, mailboxName);
+ hasChildren, hasNoChildren, hierarchyDelimiter, mailboxName);
}
protected final void doProcess(final String baseReferenceName,
@@ -151,7 +152,10 @@
final String mailboxName = mailboxName(removeUserPrefix, prefixLength,
listResult);
- final boolean noInferior = MailboxMetaData.Children.NO_INFERIORS.equals(listResult.inferiors());
+ final Children inferiors = listResult.inferiors();
+ final boolean noInferior = MailboxMetaData.Children.NO_INFERIORS.equals(inferiors);
+ final boolean hasChildren = MailboxMetaData.Children.HAS_CHILDREN.equals(inferiors);
+ final boolean hasNoChildren = MailboxMetaData.Children.HAS_NO_CHILDREN.equals(inferiors);
boolean noSelect = false;
boolean marked = false;
boolean unmarked = false;
@@ -167,7 +171,7 @@
break;
}
responder.respond(createResponse(noInferior, noSelect, marked,
- unmarked, delimiter, mailboxName));
+ unmarked, hasChildren, hasNoChildren, delimiter, mailboxName));
}
private String mailboxName(final boolean removeUserPrefix,
Modified: james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/ListProcessorTest.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/ListProcessorTest.java?rev=762739&r1=762738&r2=762739&view=diff
==============================================================================
--- james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/ListProcessorTest.java (original)
+++ james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/ListProcessorTest.java Tue Apr 7 12:24:18 2009
@@ -69,51 +69,67 @@
}
ListResponse createResponse(boolean noinferior, boolean noselect,
- boolean marked, boolean unmarked, String hierarchyDelimiter,
- String mailboxName) {
+ boolean marked, boolean unmarked, boolean hasChildren,
+ boolean hasNoChildren, String hierarchyDelimiter, String mailboxName) {
return new ListResponse(noinferior, noselect, marked, unmarked,
- false, false, hierarchyDelimiter, mailboxName);
+ hasChildren, hasNoChildren, hierarchyDelimiter, mailboxName);
}
- void setUpResult(final boolean isNoinferiors, final MailboxMetaData.Selectability selectability,
+ void setUpResult(final MailboxMetaData.Children children, final MailboxMetaData.Selectability selectability,
final String hierarchyDelimiter, final String name) {
checking(new Expectations() {{
- oneOf(result).inferiors();will(returnValue(isNoinferiors?MailboxMetaData.Children.NO_INFERIORS:MailboxMetaData.Children.CHILDREN_ALLOWED_BUT_UNKNOWN));
+ oneOf(result).inferiors();will(returnValue(children));
oneOf(result).getSelectability();will(returnValue(selectability));
oneOf(result).getHierarchyDelimiter();will(returnValue(hierarchyDelimiter));
oneOf(result).getName();will(returnValue(name));
}});
}
+
+ public void testHasChildren() throws Exception {
+ setUpResult(MailboxMetaData.Children.HAS_CHILDREN, MailboxMetaData.Selectability.NONE, ".", "#INBOX");
+ checking(new Expectations() {{
+ oneOf(responder).respond(with(equal(createResponse(false, false, false, false, true, false, ".", "#INBOX"))));
+ }});
+ processor.processResult(responder, false, 0, result);
+ }
+ public void testHasNoChildren() throws Exception {
+ setUpResult(MailboxMetaData.Children.HAS_NO_CHILDREN, MailboxMetaData.Selectability.NONE, ".", "#INBOX");
+ checking(new Expectations() {{
+ oneOf(responder).respond(with(equal(createResponse(false, false, false, false, false, true, ".", "#INBOX"))));
+ }});
+ processor.processResult(responder, false, 0, result);
+ }
+
public void testNoInferiors() throws Exception {
- setUpResult(true, MailboxMetaData.Selectability.NONE, ".", "#INBOX");
+ setUpResult(MailboxMetaData.Children.NO_INFERIORS, MailboxMetaData.Selectability.NONE, ".", "#INBOX");
checking(new Expectations() {{
- oneOf(responder).respond(with(equal(createResponse(true, false, false, false, ".", "#INBOX"))));
+ oneOf(responder).respond(with(equal(createResponse(true, false, false, false, false, false, ".", "#INBOX"))));
}});
processor.processResult(responder, false, 0, result);
}
public void testNoSelect() throws Exception {
- setUpResult(false, MailboxMetaData.Selectability.NOSELECT, ".", "#INBOX");
+ setUpResult(MailboxMetaData.Children.CHILDREN_ALLOWED_BUT_UNKNOWN, MailboxMetaData.Selectability.NOSELECT, ".", "#INBOX");
checking(new Expectations() {{
- oneOf(responder).respond(with(equal(createResponse(false, true, false, false, ".", "#INBOX"))));
+ oneOf(responder).respond(with(equal(createResponse(false, true, false, false, false, false, ".", "#INBOX"))));
}});
processor.processResult(responder, false, 0, result);
}
public void testUnMarked() throws Exception {
- setUpResult(false, MailboxMetaData.Selectability.UNMARKED, ".",
+ setUpResult(MailboxMetaData.Children.CHILDREN_ALLOWED_BUT_UNKNOWN, MailboxMetaData.Selectability.UNMARKED, ".",
"#INBOX");
checking(new Expectations() {{
- oneOf(responder).respond(with(equal(createResponse(false, false, false, true, ".", "#INBOX"))));
+ oneOf(responder).respond(with(equal(createResponse(false, false, false, true, false, false, ".", "#INBOX"))));
}});
processor.processResult(responder, false, 0, result);
}
public void testMarked() throws Exception {
- setUpResult(false, MailboxMetaData.Selectability.MARKED, ".", "#INBOX");
+ setUpResult(MailboxMetaData.Children.CHILDREN_ALLOWED_BUT_UNKNOWN, MailboxMetaData.Selectability.MARKED, ".", "#INBOX");
checking(new Expectations() {{
- oneOf(responder).respond(with(equal(createResponse(false, false, true, false, ".", "#INBOX"))));
+ oneOf(responder).respond(with(equal(createResponse(false, false, true, false, false, false, ".", "#INBOX"))));
}});
processor.processResult(responder, false, 0, result);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org