package crmdna.mail2;
import crmdna.client.Client;
import java.util.*;
import java.util.regex.Pattern;
import static crmdna.common.AssertUtils.ensureNoNullElement;
import static crmdna.common.OfyService.ofy;
public class SentMailProp {
public Date sendAttempted;
public Long memberId;
public String email;
public Long mailContentId;
public String from;
public Long sendMS;
// dependents
public String body;
public String subject;
public static void populateDependents(String client, List<SentMailProp> props) {
// do a bulk get and populate subject and body
Client.ensureValid(client);
ensureNoNullElement(props);
Set<Long> mailContentIds = new HashSet<>();
for (SentMailProp sentMailProp : props) {
mailContentIds.add(sentMailProp.mailContentId);
}
Map<Long, MailContentEntity> map =
ofy(client).load().type(MailContentEntity.class).ids(mailContentIds);
for (SentMailProp sentMailProp : props) {
if (map.containsKey(sentMailProp.mailContentId)) {
MailContentEntity mailContentEntity = map.get(sentMailProp.mailContentId);
sentMailProp.subject = mailContentEntity.subject;
sentMailProp.body = mailContentEntity.body;
}
}
}
}