this.textualLineCount = original.getTextualLineCount(); this.mediaType = original.getMediaType(); this.subType = original.getSubType();
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)); }
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); } }