X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fibex%2Fmail%2FQuery.java;h=d308da81f556a507498f8e984f793c1ee722dfe5;hb=fab67c8262b062c00d179a5f057d4e489e7c4366;hp=8143bbe62aced1009804c4e1ac483e07217388c8;hpb=b2202154c137b4d3d28dcf36a5a7f529bafc82f3;p=org.ibex.mail.git diff --git a/src/org/ibex/mail/Query.java b/src/org/ibex/mail/Query.java index 8143bbe..d308da8 100644 --- a/src/org/ibex/mail/Query.java +++ b/src/org/ibex/mail/Query.java @@ -97,18 +97,21 @@ public class Query { (earliest==null||it.cur().date.after(earliest)); case ARRIVAL: return (latest == null || it.cur().arrival.before(latest)) && (earliest == null || it.cur().arrival.after(earliest)); - case SIZE: return it.cur().size() >= min && it.cur().size() <= max; - case HEADER: return it.cur().headers.gets(key) != null && - ((String)it.cur().headers.gets(key)).toLowerCase().indexOf(text.toLowerCase()) != -1; - case BODY: return it.cur().body.toLowerCase().indexOf(text.toLowerCase()) != -1; - case FULL: return it.cur().body.toLowerCase().indexOf(text.toLowerCase()) != -1 || - it.cur().headers.raw.indexOf(text) != -1; + case HEADER: return it.cur().headers.get(key) != null && + ((String)it.cur().headers.get(key)).toLowerCase().indexOf(text.toLowerCase()) != -1; case DELETED: return it.deleted(); case SEEN: return it.seen(); case FLAGGED: return it.flagged(); case DRAFT: return it.draft(); case ANSWERED: return it.answered(); case RECENT: return it.recent(); + + // FIXME: super inefficient + case BODY: throw new RuntimeException("BODY searches are not supported because they are slow"); + case FULL: throw new RuntimeException("FULL searches are not supported because they are slow"); + case SIZE: throw new RuntimeException("SIZE searches are not supported because Adam is lame"); + //return it.cur().size() >= min && it.cur().size() <= max; + default: throw new Error("this should not happen"); } }