package edu.ucsf.mousedatabase.admin; import java.util.HashSet; import java.util.Set; import org.apache.commons.lang3.StringUtils; import edu.ucsf.mousedatabase.objects.IHolder; public class EmailRecipientManager { public static class EmailRecipient { public String recipients; public String ccs; } private static String toLower(String str) { if (str == null) { return null; } return str.toLowerCase(); } public static EmailRecipient recipientsForRequestorAndHolder(String requestor, IHolder holder) { EmailRecipient rec = new EmailRecipient(); Set<String> recipients = new HashSet<String>(); Set<String> ccs = new HashSet<String>(); recipients.add(toLower(requestor)); ccs.add(toLower(holder.getEmail())); if (holder.getAlternateEmail() != null && !holder.getAlternateEmail().isEmpty()) { ccs.add(toLower(holder.getAlternateEmail())); } ccs.removeAll(recipients); rec.recipients = StringUtils.join(recipients,", "); rec.ccs = StringUtils.join(ccs,", "); return rec; } public static EmailRecipient recipientsForHolder(IHolder holder) { EmailRecipient rec = new EmailRecipient(); Set<String> recipients = new HashSet<String>(); Set<String> ccs = new HashSet<String>(); if (holder.getAlternateEmail() != null && !holder.getAlternateEmail().isEmpty()) { recipients.add(toLower(holder.getAlternateEmail())); ccs.add(toLower(holder.getEmail())); } else { recipients.add(toLower(holder.getEmail())); } rec.recipients = StringUtils.join(recipients,", "); rec.ccs = StringUtils.join(ccs,", "); return rec; } }