if (mailboxPath.getUser() != null) {
SingleColumnValueFilter userFilter = new SingleColumnValueFilter(MAILBOX_CF, MAILBOX_USER, CompareOp.EQUAL, Bytes.toBytes(mailboxPath.getUser()));
filters.addFilter(userFilter);
}
SubstringComparator pathComparator;
String mboxName = mailboxPath.getName();
/*
* TODO: use a RegExFiler
*/
if (mboxName.length() >= 1) {
if (mboxName.charAt(mboxName.length() - 1) == '%') {
mboxName = mboxName.substring(0, mboxName.length() - 1);
}
}
if (mboxName.length() >= 1) {
if (mboxName.charAt(0) == '%') {
mboxName = mboxName.substring(1);
}
}
pathComparator = new SubstringComparator(mboxName);
SingleColumnValueFilter nameFilter = new SingleColumnValueFilter(MAILBOX_CF, MAILBOX_NAME, CompareOp.EQUAL, pathComparator);
filters.addFilter(nameFilter);
SingleColumnValueFilter namespaceFilter = new SingleColumnValueFilter(MAILBOX_CF, MAILBOX_NAMESPACE, CompareOp.EQUAL, Bytes.toBytes(mailboxPath.getNamespace()));
filters.addFilter(namespaceFilter);