/** * Defines filter for SUBJECT field. * * @param subject The SUBJECT. * @return this */ public EmailFilter subject(final String subject) { final SearchTerm subjectTerm = new SubjectTerm(subject); concat(subjectTerm); return this; }
/** * Set filter on subject. * * @param subject * messages will be filtered on subject * @param notTerm * negate condition */ public void setSubjectTerm( String subject, boolean notTerm ) { if ( !Utils.isEmpty( subject ) ) { if ( notTerm ) { addSearchTerm( new NotTerm( new SubjectTerm( subject ) ) ); } else { addSearchTerm( new SubjectTerm( subject ) ); } } }
@Test void testAndOrNot() { final EmailFilter emailFilter = filter() .from(FROM) .to(TO) .or() .not() .subject(SUBJECT) .from(FROM_2); final SearchTerm expected = new OrTerm( new OrTerm( new AndTerm( new FromStringTerm(FROM), new RecipientStringTerm(Message.RecipientType.TO, TO) ), new NotTerm( new SubjectTerm(SUBJECT) ) ), new FromStringTerm(FROM_2) ); assertEquals(expected, emailFilter.searchTerm); }
@Test void testAndOrNotAlt() { final EmailFilter emailFilter = filter() .or( filter().and( filter().from(FROM), filter().to(TO) ), filter().not(filter().subject(SUBJECT)), filter().from(FROM_2) ); final SearchTerm expected = new OrTerm( new SearchTerm[]{ new AndTerm( new FromStringTerm(FROM), new RecipientStringTerm(Message.RecipientType.TO, TO) ), new NotTerm( new SubjectTerm(SUBJECT) ), new FromStringTerm(FROM_2) } ); assertEquals(expected, emailFilter.searchTerm); }
@Override public SearchTerm build() { return new OrTerm(new SubjectTerm(getParameters().get(0)),new SubjectTerm(getParameters().get(1))); } }; }
public SearchTermBuilder subject(Op op, String pattern) { SearchTerm st = new SubjectTerm(pattern); addTerm(op, st); return this; }
@Override public SearchTerm build() { return new SubjectTerm(getParameters().get(0)); } };
/** * Defines filter for SUBJECT field. * * @param subject The SUBJECT. * @return this */ public EmailFilter subject(final String subject) { final SearchTerm subjectTerm = new SubjectTerm(subject); concat(subjectTerm); return this; }
SearchTerm subjectTerm = new SubjectTerm(entry.getValue()); searchTermsList.add(subjectTerm); } catch (Exception e) {
Folder mailFolder = store.getFolder(folder); mailFolder.open(Folder.READ_WRITE); SearchTerm st = new AndTerm(new SubjectTerm(subject), new BodyTerm(subject)); Message[] messages = mailFolder.search(st); for (Message message : messages) {
@Override public SearchTerm build() { String query = getParameters().get(0); SearchTerm[] terms = { new RecipientStringTerm(Message.RecipientType.TO, query), new RecipientStringTerm(Message.RecipientType.CC, query), new RecipientStringTerm(Message.RecipientType.BCC, query), new FromStringTerm(query), new SubjectTerm(query), new BodyTerm(query) }; return new OrTerm(terms); } };
if (mailFolder.isOpen() && subject != null) { final Message[] mailMessages = mailFolder.getMessages(); final SearchTerm searchTerm = new SubjectTerm(subject); final SearchTerm deleteTerm = new HeaderTerm(MTM_HEADER_KEY, m_headerValue);
SearchTerm subjectTerm = new SubjectTerm(searchString); SearchTerm fromTerm = new FromStringTerm(searchString); SearchTerm bodyTerm = new BodyTerm(searchString);
/** * MNT-12773 * @throws AddressException */ public void testSearchTerms() throws AddressException { List<AlfrescoImapFolder> mf = imapService.listMailboxes(user, IMAP_ROOT+"/"+TEST_IMAP_FOLDER_NAME+"/_*", false); ArrayList<Long> res = new ArrayList<Long>(); SearchTerm st = null; st = new SentDateTerm(ComparisonTerm.LT, new Date()); extractSearchTermResultsToList(mf, st, res); assertEquals("Size of mails isn't correct. Search by sent date", 3, res.size()); res.clear(); st = new SubjectTerm("For Test"); extractSearchTermResultsToList(mf, st, res); assertEquals("Size of mails isn't correct. Search by subject", 1, res.size()); res.clear(); st = new FromTerm(new InternetAddress("admin@alfresco.com")); extractSearchTermResultsToList(mf, st, res); assertEquals("Size of mails isn't correct. Search by \"From\" term", 1, res.size()); res.clear(); st = new AndTerm(st, new SubjectTerm("For Test")); extractSearchTermResultsToList(mf, st, res); assertEquals("Size of mails isn't correct. Search by \"From\" and \"Subject\" terms", 1, res.size()); }
SubjectTerm st = new SubjectTerm(pattern);
seekStrategy = new SubjectTerm(value); LOG.debug("Fetching emails with a subject of \"" + value + "\""); break;
/** * Reads the latest email with the given subject from the email inbox. * * @param subject * the email subject * @return the email body or null if no email was found * @throws Exception */ public String readLatestEmailWithSubject(String subject) throws Exception { Store store = mailSession.getStore(); store.connect(); Folder folder = store.getFolder(MAIL_INBOX); folder.open(Folder.READ_WRITE); Message[] messages = null; messages = folder.search(new SubjectTerm(subject)); String body = null; if (messages.length > 0) { Message latest = messages[0]; for (Message m : messages) { if (latest.getSentDate().compareTo(m.getSentDate()) < 0) { latest = m; } } body = (String) latest.getContent(); } folder.close(false); store.close(); return body; }