Author: sshyrkov
Date: Tue Sep 25 20:18:52 2007
New Revision: 18654

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18654&repname=
=3Djahia
Log:
Check, if the mail service activated, before preparing any data for e-mail =
sending

Modified:
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/mail/Mail=
Service.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/mail/Mail=
ServiceImpl.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/workflow/=
ActivationJob.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/workflow/nstep/NSt=
epWorkflow.java

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/mai=
l/MailService.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/mail/MailService.java&rev=3D18654&=
repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/mail/Mail=
Service.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/mail/Mail=
Service.java Tue Sep 25 20:18:52 2007
@@ -106,4 +106,12 @@
      */
     public abstract boolean sendTemplateMessage(MimeMessagePreparator mime=
MessagePreparator);
 =

+    /**
+     * Returnes <code>true</code> if the mail service is enabled and setti=
ngs
+     * are valid.
+     * =

+     * @return <code>true</code> if the mail service is enabled and settin=
gs
+     *         are valid
+     */
+    public abstract boolean isEnabled();
 }

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/mai=
l/MailServiceImpl.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/mail/MailServiceImpl.java&rev=3D18=
654&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/mail/Mail=
ServiceImpl.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/mail/Mail=
ServiceImpl.java Tue Sep 25 20:18:52 2007
@@ -17,6 +17,7 @@
  */
 package org.jahia.services.mail;
 =

+import org.apache.commons.lang.StringUtils;
 import org.jahia.bin.JahiaInterface;
 import org.springframework.mail.javamail.JavaMailSender;
 import org.springframework.mail.javamail.JavaMailSenderImpl;
@@ -58,6 +59,8 @@
                             " build " + JahiaInterface.BUILD_NUMBER;
 =

     private JavaMailSender javaMailSender;
+    =

+    private boolean isServiceEnabled;
 =

     public MailServiceImpl() {
     }
@@ -68,24 +71,17 @@
      */
     public void start() {
         logger.debug("Start Mail Service");
-        this.to =3D settingsBean.mail_administrator;
-        if (this.to =3D=3D null) {
-            this.to =3D null;
-        }
-        this.from =3D settingsBean.mail_from;
-        if (this.from =3D=3D null) {
-            this.from =3D null;
-        }
-        this.mailhost =3D settingsBean.mail_server;
-        if (this.mailhost.equals("") || to.equals("") || from.equals("")) {
-            logger.warn("Mail settings not valid, ignoring...");
-            return;
-        }
-        if (this.mailhost =3D=3D null || to =3D=3D null || from =3D=3D nul=
l) {
+        to =3D settingsBean.mail_administrator;
+        from =3D settingsBean.mail_from;
+        mailhost =3D settingsBean.mail_server;
+
+        isServiceEnabled =3D StringUtils.isNotBlank(mailhost) && StringUti=
ls.isNotBlank(to) && StringUtils.isNotBlank(from);
+
+        if (!isServiceEnabled) {
             logger.warn("Mail settings not valid, ignoring...");
             return;
         }
-
+                =

         JavaMailSenderImpl sender =3D new JavaMailSenderImpl();
         sender.setHost(mailhost);
         javaMailSender =3D sender;
@@ -119,6 +115,9 @@
 =

     public boolean sendMessage(String from, String to, String cc, String b=
cc,
                                String subject, String mailhost, String mes=
sage) {
+        if (!mailSettingsValid()) {
+            return false;
+        }
         try {
             if (to =3D=3D null) {
                 to =3D defaultRecipient();
@@ -127,11 +126,10 @@
                 from =3D defaultSender();
             }
 =

-            if (!mailSettingsValid()) {
-                return false;
+            if (logger.isDebugEnabled()) {
+                logger.debug("Send mail using settings mailhost=3D[" + mai=
lhost +
+                             "] to=3D[" + to + "] from=3D[" + from + "]");
             }
-            logger.debug("Send mail using settings mailhost=3D[" + mailhos=
t +
-                         "] to=3D[" + to + "] from=3D[" + from + "]");
             Properties props =3D System.getProperties();
             props.put("mail.smtp.host", mailhost);
             // we are listing all properties here for reference for future
@@ -218,17 +216,11 @@
     }
 =

     private boolean mailSettingsValid() {
-        if (mailhost =3D=3D null ||
-                to =3D=3D null ||
-                from =3D=3D null ||
-                "".equals(mailhost) ||
-                "".equals(to) ||
-                "".equals(from)) {
-            logger.debug("Mail settings not valid, ignoring...");
-            return false;
-        } else {
-            return true;
-        }
+        return isServiceEnabled;
     }
 =

+    public boolean isEnabled() {
+        return isServiceEnabled;
+    }
+    =

 }

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/wor=
kflow/ActivationJob.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/workflow/ActivationJob.java&rev=3D=
18654&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/workflow/=
ActivationJob.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/workflow/=
ActivationJob.java Tue Sep 25 20:18:52 2007
@@ -42,8 +42,6 @@
 import org.jahia.services.mail.GroovyMimeMessagePreparator;
 import org.jahia.services.mail.MailService;
 import org.jahia.services.pages.ContentPage;
-import org.jahia.services.pages.JahiaPage;
-import org.jahia.services.pages.PageLoadFlags;
 import org.jahia.services.scheduler.BackgroundJob;
 import org.jahia.services.usermanager.JahiaUser;
 import org.jahia.services.version.*;
@@ -150,6 +148,8 @@
         }
 =

         final int mode =3D service.getInheritedMode(object);
+        boolean isMailServiceEnabled =3D ServicesRegistry.getInstance()
+                .getMailService().isEnabled();
 =

         try {
             ContentObject contentObject =3D (ContentObject) ContentObject.=
getInstance(key, true);
@@ -218,7 +218,9 @@
                     logger.error("Cannot change Jahia Page staging status"=
, je);
                 }
 =

-                updateUserNotifData(pageNotifData, object, jParams, userNo=
tifData, action, additionalKey);
+                if (isMailServiceEnabled) {
+                    updateUserNotifData(pageNotifData, object, jParams, us=
erNotifData, action, additionalKey);
+                }
             } else if (mode =3D=3D WorkflowService.EXTERNAL) {
                 WorkflowHelperEntry helperEntry =3D workflowHelper.getEntr=
y(key);
                 if (helperEntry !=3D null) {
@@ -285,7 +287,7 @@
                             parentPage =3D ContentPage.getPage(pageID, fal=
se, true);
                         }
                     }
-                    if (pageID > 0) {
+                    if (pageID > 0 && isMailServiceEnabled) {
                         PageNotifData pageNotifData =3D new PageNotifData(
                                 jParams.getSiteURL(jParams.getSite(), page=
ID, false, false, true), comment,
                                 parentPage, languageCodes, false, res.getE=
rrors(),
@@ -304,7 +306,7 @@
         return externalWorkflow;
     }
 =

-    protected static void updateUserNotifData(PageNotifData pageNotifData,=
 ContentObject object, ProcessingContext jParams, Map userNotifData, String=
 action, String additionalKey) {
+    private static void updateUserNotifData(PageNotifData pageNotifData, C=
ontentObject object, ProcessingContext jParams, Map userNotifData, String a=
ction, String additionalKey) {
         Set recipients;
         if (pageNotifData !=3D null) {
             // new system, per user messaging
@@ -340,14 +342,15 @@
 =

 =

     public static void sendMail(ProcessingContext jParams, String comment,=
 Map userNotifData) throws JahiaException {
-        if (!LicenseActionChecker.isAuthorizedByLicense("org.jahia.actions=
.sites.*.engines.workflow.MailNotifications", 0))
+        MailService mailService =3D ServicesRegistry.getInstance().getMail=
Service();
+
+        if (!LicenseActionChecker.isAuthorizedByLicense("org.jahia.actions=
.sites.*.engines.workflow.MailNotifications", 0)
+                || !mailService.isEnabled())
         {
             return;
         }
         Iterator userIter =3D userNotifData.keySet().iterator();
 =

-        MailService mailService =3D ServicesRegistry.getInstance().getMail=
Service();
-
         GroovyScriptEngine groovyScriptEngine =3D (GroovyScriptEngine) Spr=
ingContextSingleton.getInstance().getContext().getBean("groovyScriptEngine"=
);
         GroovyMimeMessagePreparator workflowMimePreparator =3D new GroovyM=
imeMessagePreparator();
         workflowMimePreparator.setGroovyScriptEngine(groovyScriptEngine);
@@ -452,32 +455,9 @@
             adminMessageMimePreparator.setTemplatePath(jParams.settings().=
getWorkflowMaxNotificationReachedTemplate());
             mailService.sendTemplateMessage(adminMessageMimePreparator);
         }
-
-    }
-
-    protected String getRecipientsString(ContentObject contentObject, int =
siteID, int access) {
-
-        Set recipientList =3D getRecipients(contentObject, siteID, access);
-        Iterator recipientIter =3D recipientList.iterator();
-        StringBuffer emailListBuf =3D new StringBuffer();
-        while (recipientIter.hasNext()) {
-            String email =3D (String) recipientIter.next();
-            if (email !=3D null && !"".equals(email)) {
-                /** todo : @localhost address generates problems with Wind=
ows */
-                if (email.indexOf("@localhost") !=3D -1) {
-                    continue;
-                }
-                if (emailListBuf.length() > 0) {
-                    emailListBuf.append(",");
-                }
-                emailListBuf.append(email);
-            }
-        }
-        logger.debug("Using email recipient list :" + emailListBuf);
-        return emailListBuf.toString();
     }
 =

-    protected static Set getRecipients(ContentObject contentObject, int si=
teID, int access) {
+    private static Set getRecipients(ContentObject contentObject, int site=
ID, int access) {
         Set result =3D new HashSet();
         result.add(ServicesRegistry.getInstance().getMailService().default=
Recipient());
         // StringBuffer emailListBuf =3D new StringBuffer ();

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/workflow/nst=
ep/NStepWorkflow.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/workflow/nstep/NStepWorkflow.java&rev=3D186=
54&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/workflow/nstep/NSt=
epWorkflow.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/workflow/nstep/NSt=
epWorkflow.java Tue Sep 25 20:18:52 2007
@@ -694,6 +694,9 @@
      */
     public void sendResults(ProcessingContext processingContext, Activatio=
nTestResults activationTestResults, Map userNotifData) {
         final MailService mailService =3D ServicesRegistry.getInstance().g=
etMailService();
+        if (!mailService.isEnabled()) {
+            return;
+        }
         GroovyScriptEngine groovyScriptEngine =3D (GroovyScriptEngine) Spr=
ingContextSingleton.getInstance().getContext().getBean("groovyScriptEngine"=
);
         GroovyMimeMessagePreparator messageMimePreparator =3D new GroovyMi=
meMessagePreparator();
         messageMimePreparator.setGroovyScriptEngine(groovyScriptEngine);
@@ -1066,6 +1069,9 @@
     private void addActionToMailQueue(ProcessingContext jParams, String ac=
tionName, String objectKey, String languageCode,
                                       String comment, boolean startStep, b=
oolean finished, WorkflowInstance workflow, Map userNotifData)
             throws JahiaException, ClassNotFoundException {
+        if (!ServicesRegistry.getInstance().getMailService().isEnabled()) {
+            return;
+        }
         ResourceBundle mailResourceBundle =3D ResourceBundle.getBundle("ns=
tep-workflowResources", LanguageCodeConverters.languageCodeToLocale(languag=
eCode));
         String unTrimmedActionName =3D untrimActionName(actionName);
         final WorkflowService workflowService =3D ServicesRegistry.getInst=
ance().getWorkflowService();
@@ -1146,8 +1152,11 @@
     }
 =

     private void sendMails(JahiaGroup group, MailInfo mailBody, Processing=
Context processingContext, Map userNotifData, ContentObject contentObjectIn=
stance) {
-        Set users =3D group.getRecursiveUserMembers();
         final MailService mailService =3D ServicesRegistry.getInstance().g=
etMailService();
+        if (!mailService.isEnabled()) {
+            return;
+        }
+        Set users =3D group.getRecursiveUserMembers();
         if (users.size() > processingContext.settings().getWorkflowMaxNoti=
ficationEmails()) {
             GroovyScriptEngine groovyScriptEngine =3D (GroovyScriptEngine)=
 SpringContextSingleton.getInstance().getContext().getBean("groovyScriptEng=
ine");
             GroovyMimeMessagePreparator adminMessageMimePreparator =3D new=
 GroovyMimeMessagePreparator();

_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list

Reply via email to