Skip to content
Snippets Groups Projects
Commit adaa918b authored by kohleman's avatar kohleman
Browse files

- added Data Set Type to Email

- fixed typo in LogUtils
- changed etc/service.properties property from 'notification-email-from' to 'mail.from'

SVN: 23973
parent f5f2af40
No related branches found
No related tags found
No related merge requests found
...@@ -37,14 +37,14 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample; ...@@ -37,14 +37,14 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample;
*/ */
public class EntityTrackingEmailGenerator implements IEntityTrackingEmailGenerator public class EntityTrackingEmailGenerator implements IEntityTrackingEmailGenerator
{ {
private static final String NOTIFICATION_EMAIL_FROM = "notification-email-from"; private static final String NOTIFICATION_EMAIL_FROM = "mail.from";
private static final String NOTIFICATION_EMAIL_REPLY_TO = "notification-email-reply-to"; private static final String NOTIFICATION_EMAIL_REPLY_TO = "notification-email-reply-to";
private static final String NOTIFICATION_EMAIL_SUBJECT = "notification-email-subject"; private static final String NOTIFICATION_EMAIL_SUBJECT = "notification-email-subject";
private static final String AFFILIATION_NOTIFICATION_EMAIL_CONTACT_SUFFIX = private static final String AFFILIATION_NOTIFICATION_EMAIL_CONTACT_SUFFIX =
"-affiliation-notification-email-contact"; "-affiliation-notification-email-contact";
private final String from; private final String from;
...@@ -62,7 +62,7 @@ public class EntityTrackingEmailGenerator implements IEntityTrackingEmailGenerat ...@@ -62,7 +62,7 @@ public class EntityTrackingEmailGenerator implements IEntityTrackingEmailGenerat
this.template = template; this.template = template;
final Map<String, String> recipientsByAffiliation = final Map<String, String> recipientsByAffiliation =
retrieveRecipientsByAffiliation(properties); retrieveRecipientsByAffiliation(properties);
EntityTrackingEmailDataManager.initialize(recipientsByAffiliation); EntityTrackingEmailDataManager.initialize(recipientsByAffiliation);
} }
...@@ -77,10 +77,10 @@ public class EntityTrackingEmailGenerator implements IEntityTrackingEmailGenerat ...@@ -77,10 +77,10 @@ public class EntityTrackingEmailGenerator implements IEntityTrackingEmailGenerat
if (propertyKey.endsWith(AFFILIATION_NOTIFICATION_EMAIL_CONTACT_SUFFIX)) if (propertyKey.endsWith(AFFILIATION_NOTIFICATION_EMAIL_CONTACT_SUFFIX))
{ {
final String affiliation = final String affiliation =
propertyKey.substring(0, propertyKey.length() propertyKey.substring(0, propertyKey.length()
- AFFILIATION_NOTIFICATION_EMAIL_CONTACT_SUFFIX.length()); - AFFILIATION_NOTIFICATION_EMAIL_CONTACT_SUFFIX.length());
final String affiliationRecipient = final String affiliationRecipient =
PropertyUtils.getMandatoryProperty(properties, propertyKey); PropertyUtils.getMandatoryProperty(properties, propertyKey);
result.put(affiliation, affiliationRecipient); result.put(affiliation, affiliationRecipient);
} }
} }
...@@ -90,7 +90,7 @@ public class EntityTrackingEmailGenerator implements IEntityTrackingEmailGenerat ...@@ -90,7 +90,7 @@ public class EntityTrackingEmailGenerator implements IEntityTrackingEmailGenerat
public List<EmailWithSummary> generateEmails(TrackedEntities trackedEntities) public List<EmailWithSummary> generateEmails(TrackedEntities trackedEntities)
{ {
final Collection<EntityTrackingEmailData> emailDataGroupedByRecipient = final Collection<EntityTrackingEmailData> emailDataGroupedByRecipient =
EntityTrackingEmailDataManager.groupByRecipient(trackedEntities); EntityTrackingEmailDataManager.groupByRecipient(trackedEntities);
final List<EmailWithSummary> results = new ArrayList<EmailWithSummary>(); final List<EmailWithSummary> results = new ArrayList<EmailWithSummary>();
for (EntityTrackingEmailData emailData : emailDataGroupedByRecipient) for (EntityTrackingEmailData emailData : emailDataGroupedByRecipient)
...@@ -129,10 +129,10 @@ public class EntityTrackingEmailGenerator implements IEntityTrackingEmailGenerat ...@@ -129,10 +129,10 @@ public class EntityTrackingEmailGenerator implements IEntityTrackingEmailGenerat
private static final char SUBSECTION_SEPARATOR_CHAR = '-'; private static final char SUBSECTION_SEPARATOR_CHAR = '-';
private static final String SECTION_SEPARATOR_LINE = private static final String SECTION_SEPARATOR_LINE =
createSeparatorLine(SECTION_SEPARATOR_CHAR); createSeparatorLine(SECTION_SEPARATOR_CHAR);
private static final String SUBSECTION_SEPARATOR_LINE = private static final String SUBSECTION_SEPARATOR_LINE =
createSeparatorLine(SUBSECTION_SEPARATOR_CHAR); createSeparatorLine(SUBSECTION_SEPARATOR_CHAR);
private final static String EXTERNAL_SAMPLE_NAME_PROPERTY_CODE = "EXTERNAL_SAMPLE_NAME"; private final static String EXTERNAL_SAMPLE_NAME_PROPERTY_CODE = "EXTERNAL_SAMPLE_NAME";
...@@ -167,8 +167,8 @@ public class EntityTrackingEmailGenerator implements IEntityTrackingEmailGenerat ...@@ -167,8 +167,8 @@ public class EntityTrackingEmailGenerator implements IEntityTrackingEmailGenerat
// append Sequencing sample details // append Sequencing sample details
if (processed) if (processed)
{ {
appendSampleDetails(sb, String appendSampleDetails(sb,
.format("Library processing of sample '%s' was successful.", String.format("Library processing of sample '%s' was successful.",
externalSampleName), sequencingSample); externalSampleName), sequencingSample);
appendln(sb, SUBSECTION_SEPARATOR_LINE); appendln(sb, SUBSECTION_SEPARATOR_LINE);
} else } else
...@@ -220,8 +220,8 @@ public class EntityTrackingEmailGenerator implements IEntityTrackingEmailGenerat ...@@ -220,8 +220,8 @@ public class EntityTrackingEmailGenerator implements IEntityTrackingEmailGenerat
sequencingSamples = flowLaneSample.getParents(); sequencingSamples = flowLaneSample.getParents();
assert sequencingSamples != null; assert sequencingSamples != null;
for (Sample sequencingSample : sequencingSamples) { for (Sample sequencingSample : sequencingSamples)
{
String externalSampleName = getExternalSampleName(sequencingSample); String externalSampleName = getExternalSampleName(sequencingSample);
...@@ -229,23 +229,24 @@ public class EntityTrackingEmailGenerator implements IEntityTrackingEmailGenerat ...@@ -229,23 +229,24 @@ public class EntityTrackingEmailGenerator implements IEntityTrackingEmailGenerat
appendAttribute(sb, String.format( appendAttribute(sb, String.format(
"You can download results for external sample named '%s' at", "You can download results for external sample named '%s' at",
externalSampleName), dataSet.getPermlink()); externalSampleName), dataSet.getPermlink());
// add which Data set type has been added
appendAttribute(sb, "Data Set Type:", dataSet.getDataSetType().toString());
// data set properties // data set properties
appendProperties(sb, dataSet.getProperties()); appendProperties(sb, dataSet.getProperties());
// sequencing sample info // sequencing sample info
appendAttribute(sb, String.format( appendAttribute(sb, String.format(
"Meta data of Sequencing sample '%s' are available here", externalSampleName), "Meta data of Sequencing sample '%s' are available here",
sequencingSample.getPermlink()); externalSampleName), sequencingSample.getPermlink());
} }
} }
private static String getExternalSampleName(Sample sequencingSample) private static String getExternalSampleName(Sample sequencingSample)
{ {
String externalSampleName = String externalSampleName =
tryGetSamplePropertyValue(sequencingSample, EXTERNAL_SAMPLE_NAME_PROPERTY_CODE); tryGetSamplePropertyValue(sequencingSample, EXTERNAL_SAMPLE_NAME_PROPERTY_CODE);
assert externalSampleName != null; assert externalSampleName != null;
return externalSampleName; return externalSampleName;
} }
......
...@@ -39,7 +39,7 @@ public class Parameters ...@@ -39,7 +39,7 @@ public class Parameters
private static final String TRACKING_ADMIN_EMAIL = "tracking-admin-email"; private static final String TRACKING_ADMIN_EMAIL = "tracking-admin-email";
private static final String NOTIFICATION_EMAIL_FROM = "notification-email-from"; private static final String NOTIFICATION_EMAIL_FROM = "mail.from";
private final String openbisUser; private final String openbisUser;
......
...@@ -27,18 +27,18 @@ import ch.systemsx.cisd.common.logging.LogFactory; ...@@ -27,18 +27,18 @@ import ch.systemsx.cisd.common.logging.LogFactory;
*/ */
public class LogUtils public class LogUtils
{ {
private static final Logger notificationLog = private static final Logger notificationLog = LogFactory.getLogger(LogCategory.NOTIFY,
LogFactory.getLogger(LogCategory.NOTIFY, LogUtils.class); LogUtils.class);
private static final Logger operationLog = private static final Logger operationLog = LogFactory.getLogger(LogCategory.OPERATION,
LogFactory.getLogger(LogCategory.OPERATION, LogUtils.class); LogUtils.class);
public static void notify(EnvironmentFailureException ex) public static void notify(EnvironmentFailureException ex)
{ {
String causeMsg = String causeMsg =
(ex.getCause() == null) ? "" : "Error cause: " + ex.getCause().getMessage(); (ex.getCause() == null) ? "" : "Error cause: " + ex.getCause().getMessage();
String fullMsg = String fullMsg =
"An environment exception occured why trying to send emails with changes.\n" "An environment exception occured while trying to send emails with changes.\n"
+ "Check and correct the configuration.\n" + "Error details: " + "Check and correct the configuration.\n" + "Error details: "
+ ex.getMessage() + "\n" + causeMsg; + ex.getMessage() + "\n" + causeMsg;
notify(ex, fullMsg); notify(ex, fullMsg);
......
...@@ -6,21 +6,21 @@ permlink-url = https://<openbis-server-url>:8443/openbis ...@@ -6,21 +6,21 @@ permlink-url = https://<openbis-server-url>:8443/openbis
# SMTP properties. # SMTP properties.
# To test the system and save emails as files instead of sending them, # To test the system and save emails as files instead of sending them,
# set the smtp host to file://path-to-directory # set the smtp host to file://path-to-directory
mail.smtp.host = mail.smtp.host = smtp0.ethz.ch
mail.smtp.user = mail.smtp.user =
mail.smtp.password = mail.smtp.password =
# all emails will be sent from this address # all emails will be sent from this address
notification-email-from = openbis-noreply@bsse.ethz.ch mail.from = openbis-noreply@bsse.ethz.ch
# all emails will have this address in the reply-to field # all emails will have this address in the reply-to field
notification-email-reply-to = <admin@address.ch> notification-email-reply-to = manuel.kohler@bsse.ethz.ch
# subject of all the notification emails # subject of all the notification emails
notification-email-subject = Status report of your sequencing order notification-email-subject = BSSE DSU: Status report of your deep sequencing order
# if the tracking client fails an email will be sent out to these recipients # if the tracking client fails an email will be sent out to these recipients
tracking-admin-email = <admin1@address.ch>, <admin2@address.ch> tracking-admin-email = kohleman@ethz.ch, gpawel@ethz.ch
# Recipients that will receive notifications when entity connected with sequencing sample # Recipients that will receive notifications when entity connected with sequencing sample
# with certain AFFILIATION value. Property key should contain affiliation vocabulary term code # with certain AFFILIATION value. Property key should contain affiliation vocabulary term code
# with '-affiliation-notification-email-contact' suffix, e.g. for 'FMI' affiliation: # with '-affiliation-notification-email-contact' suffix, e.g. for 'FMI' affiliation:
FMI-affiliation-notification-email-contact = <affiliation-responsible@address.ch> FMI-affiliation-notification-email-contact =
openbis-user=kohleman openbis-user=tracker
openbis-password=xxx openbis-password=jadfs8r3jahu12
openbis-server-url = http://localhost:8888/openbis openbis-server-url = http://openbis-dsu.bsse.ethz.ch:8080/openbis/openbis
permlink-url = https://openbis-dsu.bsse.ethz.ch/openbis
mail.smtp.host = file://../targets/playground
mail.smtp.host = file://../targets
mail.smtp.user = mail.smtp.user =
mail.smtp.password = mail.smtp.password =
notification-email-from = openbis-noreply@bsse.ethz.ch
notification-email-reply-to = tomasz.pylak@bsse.ethz.ch
notification-email-subject = Status report of your sequencing order
FMI-affiliation-notification-email-contact = fmi@bsse.ethz.ch FMI-affiliation-notification-email-contact = fmi@bsse.ethz.ch
# all emails will be sent from this address
mail.from = openbis-noreply@bsse.ethz.ch
# all emails will have this address in the reply-to field
notification-email-reply-to = manuel.kohler@bsse.ethz.ch
# subject of all the notification emails
notification-email-subject = BSSE DSU (LOCAL TEST): Status report of your deep sequencing order
# if the tracking client fails an email will be sent out to these recipients
tracking-admin-email = kohleman@ethz.ch, gpawel@ethz.ch
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment