From 20a0ee0b938c86ac84066567dcf606a77233ad7d Mon Sep 17 00:00:00 2001
From: buczekp <buczekp>
Date: Thu, 7 Jul 2011 13:37:29 +0000
Subject: [PATCH] [LMS-2301] improved error handling and null recipient email
 (e.g. 'test' user doesn't have email)

SVN: 22050
---
 .../jython/JythonBasedReportingPlugin.java        |  3 +--
 .../server/plugins/jython/MailService.java        | 15 +++++++--------
 2 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/jython/JythonBasedReportingPlugin.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/jython/JythonBasedReportingPlugin.java
index 336e458e294..33c3a2ab458 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/jython/JythonBasedReportingPlugin.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/jython/JythonBasedReportingPlugin.java
@@ -22,7 +22,6 @@ import java.util.Properties;
 
 import org.apache.log4j.Logger;
 
-import ch.systemsx.cisd.common.evaluator.EvaluatorException;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
 import ch.systemsx.cisd.common.logging.LogCategory;
 import ch.systemsx.cisd.common.logging.LogFactory;
@@ -109,7 +108,7 @@ public class JythonBasedReportingPlugin extends AbstractTableModelReportingPlugi
                 operationLog.info("Reporting done");
                 JythonBasedPluginUtils.closeContent(iDataSets);
             }
-        } catch (EvaluatorException ex)
+        } catch (RuntimeException ex)
         {
             notifyLog.error(ex.getMessage());
             throw new UserFailureException("Chosen plugin failed to create a report.");
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/jython/MailService.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/jython/MailService.java
index 1a5cd6cc4f3..d4f9ebbaba7 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/jython/MailService.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/jython/MailService.java
@@ -45,16 +45,15 @@ public class MailService implements IMailService
 
     private final String defaultBodyText;
 
-    public MailService(IMailClient mailClient, String recipientAddress)
+    public MailService(IMailClient mailClient, String recipientAddressOrNull)
     {
-        this(mailClient, recipientAddress, DEFAULT_SUBJECT, DEFAULT_BODY_TEXT);
+        this(mailClient, recipientAddressOrNull, DEFAULT_SUBJECT, DEFAULT_BODY_TEXT);
     }
 
-    public MailService(IMailClient mailClient, String recipientAddress, String defaultSubject,
-            String defaultBodyText)
+    public MailService(IMailClient mailClient, String recipientAddressOrNull,
+            String defaultSubject, String defaultBodyText)
     {
-        assert recipientAddress != null;
-        this.senderService = createEmailSenderService(mailClient, recipientAddress);
+        this.senderService = createEmailSenderService(mailClient, recipientAddressOrNull);
         this.defaultSubject = defaultSubject;
         this.defaultBodyText = defaultBodyText;
     }
@@ -65,9 +64,9 @@ public class MailService implements IMailService
     }
 
     static IEmailSenderService createEmailSenderService(final IMailClient mailClient,
-            final String recipientAddress)
+            final String recipientAddressOrNull)
     {
-        final EMailAddress recipient = new EMailAddress(recipientAddress);
+        final EMailAddress recipient = new EMailAddress(recipientAddressOrNull);
         return new IEmailSenderService()
             {
 
-- 
GitLab