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