@Override public Date getInternalDate() { return message.getInternalDate(); }
@Override public int compare(MailboxMessage o1, MailboxMessage o2) { return (o1.getInternalDate().compareTo(o2.getInternalDate())); }
private static ZonedDateTime getSanitizedInternalDate(MailboxMessage message, ZoneId zoneId) { if (message.getInternalDate() == null) { return ZonedDateTime.now(); } return ZonedDateTime.ofInstant( Instant.ofEpochMilli(message.getInternalDate().getTime()), zoneId); }
private Instant getSentDate(MailboxMessage message) { final String value = getHeaderValue("Date", message); return toISODate(value) .map(ZonedDateTime::toInstant) .orElse(message.getInternalDate().toInstant()); } }
public SimpleMessageMetaData(MailboxMessage message) { this(message.getUid(), message.getModSeq(), message.createFlags(), message.getFullContentOctets(), message.getInternalDate(), message.getMessageId()); }
public UnloadedMessageResult(MailboxMessage message, MailboxException exception) { super(); internalDate = message.getInternalDate(); size = message.getFullContentOctets(); uid = message.getUid(); flags = message.createFlags(); modSeq = message.getModSeq(); mailboxId = message.getMailboxId(); messageId = message.getMessageId(); this.exception = exception; }
private boolean matchesInternalDate(SearchQuery.DateOperator operator, MailboxMessage message) throws UnsupportedSearchException { Date date = operator.getDate(); DateResolution dateResultion = operator.getDateResultion(); Date internalDate = message.getInternalDate(); SearchQuery.DateComparator type = operator.getType(); switch (type) { case ON: return on(internalDate, date, dateResultion); case BEFORE: return before(internalDate, date, dateResultion); case AFTER: return after(internalDate, date, dateResultion); default: throw new UnsupportedSearchException(); } }
private BoundStatement boundWriteStatement(MailboxMessage message, Pair<BlobId, BlobId> pair) { CassandraMessageId messageId = (CassandraMessageId) message.getMessageId(); return insert.bind() .setUUID(MESSAGE_ID, messageId.get()) .setTimestamp(INTERNAL_DATE, message.getInternalDate()) .setInt(BODY_START_OCTET, (int) (message.getHeaderOctets())) .setLong(FULL_CONTENT_OCTETS, message.getFullContentOctets()) .setLong(BODY_OCTECTS, message.getBodyOctets()) .setString(BODY_CONTENT, pair.getRight().asString()) .setString(HEADER_CONTENT, pair.getLeft().asString()) .setLong(TEXTUAL_LINE_COUNT, Optional.ofNullable(message.getTextualLineCount()).orElse(DEFAULT_LONG_VALUE)) .setList(PROPERTIES, buildPropertiesUdt(message)) .setList(ATTACHMENTS, buildAttachmentUdt(message)); }
this.internalDate = original.getInternalDate();
public static Builder fromWithoutAttachments(MailboxMessage original) throws MailboxException { PropertyBuilder propertyBuilder = new PropertyBuilder(original.getProperties()); propertyBuilder.setTextualLineCount(original.getTextualLineCount()); return builder() .bodyStartOctet(Ints.checkedCast(original.getFullContentOctets() - original.getBodyOctets())) .content(copyFullContent(original)) .messageId(original.getMessageId()) .internalDate(original.getInternalDate()) .size(original.getFullContentOctets()) .flags(original.createFlags()) .propertyBuilder(propertyBuilder); }
public ImmutableMailboxMessage from(MailboxId mailboxId, MailboxMessage message) throws MailboxException { try { return new ImmutableMailboxMessage(message.getMessageId(), message.getInternalDate(), IOUtils.toByteArray(message.getBodyContent()), message.getMediaType(), message.getSubType(), message.getBodyOctets(), message.getFullContentOctets(), message.getFullContentOctets() - message.getBodyOctets(), message.getTextualLineCount(), IOUtils.toByteArray(message.getHeaderContent()), ImmutableList.copyOf(message.getProperties()), attachments(message), mailboxId, message.getUid(), message.getModSeq(), message.isAnswered(), message.isDeleted(), message.isDraft(), message.isFlagged(), message.isRecent(), message.isSeen(), message.createFlags().getUserFlags()); } catch (IOException e) { throw new MailboxException("Unable to parse message", e); } }