From fdcf4b42099311f03608de4727f07aa79a167e0a Mon Sep 17 00:00:00 2001 From: buczekp <buczekp> Date: Tue, 24 Nov 2009 14:27:31 +0000 Subject: [PATCH] [LMS-1264] added email template usage SVN: 13498 --- .../etc/tracking-email.template | 7 ++++ .../EntityTrackingEmailGenerator.java | 37 ++++++++----------- 2 files changed, 23 insertions(+), 21 deletions(-) create mode 100644 deep_sequencing_unit/etc/tracking-email.template diff --git a/deep_sequencing_unit/etc/tracking-email.template b/deep_sequencing_unit/etc/tracking-email.template new file mode 100644 index 00000000000..03a1ff45caa --- /dev/null +++ b/deep_sequencing_unit/etc/tracking-email.template @@ -0,0 +1,7 @@ +This is an automatically generated email notification from openBIS about creation of +samples and data sets for which you are a contact person/principal investigator/affiliation contact. + +{generated-content} + +Kind regards, +CISD Team \ No newline at end of file diff --git a/deep_sequencing_unit/source/java/ch/ethz/bsse/cisd/dsu/tracking/EntityTrackingEmailGenerator.java b/deep_sequencing_unit/source/java/ch/ethz/bsse/cisd/dsu/tracking/EntityTrackingEmailGenerator.java index edb58ccfcc2..24c0846ab87 100644 --- a/deep_sequencing_unit/source/java/ch/ethz/bsse/cisd/dsu/tracking/EntityTrackingEmailGenerator.java +++ b/deep_sequencing_unit/source/java/ch/ethz/bsse/cisd/dsu/tracking/EntityTrackingEmailGenerator.java @@ -41,30 +41,23 @@ public class EntityTrackingEmailGenerator implements IEntityTrackingEmailGenerat private static final String NOTIFICATION_EMAIL_SUBJECT = "notification-email-subject"; - private static final String NOTIFICATION_EMAIL_BEGINNING = "notification-email-beginning"; - - private static final String NOTIFICATION_EMAIL_ENDING = "notification-email-ending"; - private static final String AFFILIATION_NOTIFICATION_EMAIL_CONTACT_SUFFIX = "-affiliation-notification-email-contact"; - private final String subject; - private final String from; private final String replyTo; - private final String beginning; + private final String subject; - private final String ending; + private final String template; - public EntityTrackingEmailGenerator(Properties properties) + public EntityTrackingEmailGenerator(Properties properties, String template) { - subject = PropertyUtils.getMandatoryProperty(properties, NOTIFICATION_EMAIL_SUBJECT); - from = PropertyUtils.getMandatoryProperty(properties, NOTIFICATION_EMAIL_FROM); - replyTo = PropertyUtils.getMandatoryProperty(properties, NOTIFICATION_EMAIL_REPLY_TO); - beginning = PropertyUtils.getMandatoryProperty(properties, NOTIFICATION_EMAIL_BEGINNING); - ending = PropertyUtils.getMandatoryProperty(properties, NOTIFICATION_EMAIL_ENDING); + this.from = PropertyUtils.getMandatoryProperty(properties, NOTIFICATION_EMAIL_FROM); + this.replyTo = PropertyUtils.getMandatoryProperty(properties, NOTIFICATION_EMAIL_REPLY_TO); + this.subject = PropertyUtils.getMandatoryProperty(properties, NOTIFICATION_EMAIL_SUBJECT); + this.template = template; final Map<String, String> recipientsByAffiliation = retrieveRecipientsByAffiliation(properties); @@ -108,7 +101,7 @@ public class EntityTrackingEmailGenerator implements IEntityTrackingEmailGenerat private Email createEmail(EntityTrackingEmailData emailData) { - String content = EmailContentGenerator.generate(emailData, beginning, ending); + String content = EmailContentGenerator.fillTemplateWithData(template, emailData); String recipient = emailData.getRecipient(); return new Email(subject, content, replyTo, from, recipient); } @@ -136,16 +129,18 @@ public class EntityTrackingEmailGenerator implements IEntityTrackingEmailGenerat private static final String PERMLINK_LABEL = "Permlink"; - public static String generate(EntityTrackingEmailData emailData, String beginning, - String ending) + private static final String GENARATED_CONTENT_TARGET = "{generated-content}"; + + public static String fillTemplateWithData(String template, EntityTrackingEmailData emailData) + { + return template.replace(GENARATED_CONTENT_TARGET, generateContent(emailData)); + } + + private static String generateContent(EntityTrackingEmailData emailData) { StringBuilder sb = new StringBuilder(); - appendln(sb, beginning); - appendNewline(sb); appendSequencingSamplesData(sb, emailData.getSequencingSamplesData()); appendDataSetsData(sb, emailData.getDataSets()); - appendNewline(sb); - appendln(sb, ending); return sb.toString(); } -- GitLab