summaryrefslogtreecommitdiffstats
path: root/pki/base/common/src/com/netscape/cms/jobs/RenewalNotificationJob.java
diff options
context:
space:
mode:
authorAde Lee <alee@redhat.com>2011-12-07 16:58:12 -0500
committerAde Lee <alee@redhat.com>2011-12-07 16:58:12 -0500
commit32150d3ee32f8ac27118af7c792794b538c78a2f (patch)
tree52dd96f664a6fa51be25b28b6f10adc5f2c9f660 /pki/base/common/src/com/netscape/cms/jobs/RenewalNotificationJob.java
parentf05d58a46795553beb8881039cc922974b40db34 (diff)
downloadpki-32150d3ee32f8ac27118af7c792794b538c78a2f.tar.gz
pki-32150d3ee32f8ac27118af7c792794b538c78a2f.tar.xz
pki-32150d3ee32f8ac27118af7c792794b538c78a2f.zip
Formatting
Formatted project according to eclipse project settings
Diffstat (limited to 'pki/base/common/src/com/netscape/cms/jobs/RenewalNotificationJob.java')
-rw-r--r--pki/base/common/src/com/netscape/cms/jobs/RenewalNotificationJob.java480
1 files changed, 248 insertions, 232 deletions
diff --git a/pki/base/common/src/com/netscape/cms/jobs/RenewalNotificationJob.java b/pki/base/common/src/com/netscape/cms/jobs/RenewalNotificationJob.java
index 9b391b515..92c782c9d 100644
--- a/pki/base/common/src/com/netscape/cms/jobs/RenewalNotificationJob.java
+++ b/pki/base/common/src/com/netscape/cms/jobs/RenewalNotificationJob.java
@@ -17,7 +17,6 @@
// --- END COPYRIGHT BLOCK ---
package com.netscape.cms.jobs;
-
import java.io.IOException;
import java.text.DateFormat;
import java.util.Calendar;
@@ -49,12 +48,11 @@ import com.netscape.certsrv.notification.IMailNotification;
import com.netscape.certsrv.request.IRequest;
import com.netscape.certsrv.request.RequestId;
-
/**
- * A job for the Jobs Scheduler. This job checks in the internal ldap
- * db for certs about to expire within the next configurable days and
- * sends email notifications to the appropriate recipients.
- *
+ * A job for the Jobs Scheduler. This job checks in the internal ldap db for
+ * certs about to expire within the next configurable days and sends email
+ * notifications to the appropriate recipients.
+ *
* the $TOKENS that are available for the this jobs's summary outer form are:<br
>
* <UL>
@@ -79,14 +77,13 @@ import com.netscape.certsrv.request.RequestId;
* <LI>$HttpHost
* <LI>$HttpPort
* </UL>
- *
+ *
* @version $Revision$, $Date$
* @see com.netscape.certsrv.jobs.IJob
* @see com.netscape.cms.jobs.AJobBase
*/
-public class RenewalNotificationJob
- extends AJobBase
- implements IJob, Runnable, IExtendedPluginInfo {
+public class RenewalNotificationJob extends AJobBase implements IJob, Runnable,
+ IExtendedPluginInfo {
// config parameters...
public static final String PROP_CRON = "cron";
@@ -97,29 +94,26 @@ public class RenewalNotificationJob
public static final String PROP_PROFILE_ID = "profileId";
/**
- * This job will send notification at this much time before the
- * enpiration date
+ * This job will send notification at this much time before the enpiration
+ * date
*/
- public static final String PROP_NOTIFYTRIGGEROFFSET =
- "notifyTriggerOffset";
+ public static final String PROP_NOTIFYTRIGGEROFFSET = "notifyTriggerOffset";
/**
- * This job will stop sending notification this much time after
- * the expiration date
+ * This job will stop sending notification this much time after the
+ * expiration date
*/
public static final String PROP_NOTIFYENDOFFSET = "notifyEndOffset";
/**
* sender email address as appeared on the notification email
*/
- public static final String PROP_SENDEREMAIL =
- "senderEmail";
+ public static final String PROP_SENDEREMAIL = "senderEmail";
/**
* email subject line as appeared on the notification email
*/
- public static final String PROP_EMAILSUBJECT =
- "emailSubject";
+ public static final String PROP_EMAILSUBJECT = "emailSubject";
/**
* location of the template file used for email notification
@@ -148,55 +142,43 @@ public class RenewalNotificationJob
public static final String PROP_SUMMARY_TEMPLATE = "summary.emailTemplate";
/**
- * location of the template file for each item appeared on the
- * notification summary
+ * location of the template file for each item appeared on the notification
+ * summary
*/
public static final String PROP_SUMMARY_ITEMTEMPLATE = "summary.itemTemplate";
/*
- * Holds configuration parameters accepted by this implementation.
- * This list is passed to the configuration console so configuration
- * for instances of this implementation can be configured through the
- * console.
+ * Holds configuration parameters accepted by this implementation. This list
+ * is passed to the configuration console so configuration for instances of
+ * this implementation can be configured through the console.
*/
- protected static String[] mConfigParams =
- new String[] {
- "enabled",
- PROP_CRON,
- PROP_PROFILE_ID,
- PROP_NOTIFYTRIGGEROFFSET,
- PROP_NOTIFYENDOFFSET,
- PROP_SENDEREMAIL,
- PROP_EMAILSUBJECT,
- PROP_EMAILTEMPLATE,
- "summary.enabled",
- PROP_SUMMARY_RECIPIENTEMAIL,
- PROP_SUMMARY_SENDEREMAIL,
- PROP_SUMMARY_SUBJECT,
- PROP_SUMMARY_ITEMTEMPLATE,
- PROP_SUMMARY_TEMPLATE,
- };
-
+ protected static String[] mConfigParams = new String[] { "enabled",
+ PROP_CRON, PROP_PROFILE_ID, PROP_NOTIFYTRIGGEROFFSET,
+ PROP_NOTIFYENDOFFSET, PROP_SENDEREMAIL, PROP_EMAILSUBJECT,
+ PROP_EMAILTEMPLATE, "summary.enabled", PROP_SUMMARY_RECIPIENTEMAIL,
+ PROP_SUMMARY_SENDEREMAIL, PROP_SUMMARY_SUBJECT,
+ PROP_SUMMARY_ITEMTEMPLATE, PROP_SUMMARY_TEMPLATE, };
+
protected ICertificateRepository mCertDB = null;
protected ICertificateAuthority mCA = null;
protected boolean mSummary = false;
protected String mEmailSender = null;
protected String mEmailSubject = null;
protected String mEmailTemplateName = null;
- protected String mSummaryItemTemplateName = null;
- protected String mSummaryTemplateName = null;
+ protected String mSummaryItemTemplateName = null;
+ protected String mSummaryTemplateName = null;
protected boolean mSummaryHTML = false;
protected boolean mHTML = false;
protected String mHttpHost = null;
protected String mHttpPort = null;
- private int mPreDays = 0;
- private long mPreMS = 0;
- private int mPostDays = 0;
- private long mPostMS = 0;
- private int mMaxNotifyCount = 1;
- private String[] mProfileId = null;
+ private int mPreDays = 0;
+ private long mPreMS = 0;
+ private int mPostDays = 0;
+ private long mPostMS = 0;
+ private int mMaxNotifyCount = 1;
+ private String[] mProfileId = null;
/* Vector of extendedPluginInfo strings */
protected static Vector mExtendedPluginInfo = null;
@@ -207,8 +189,8 @@ public class RenewalNotificationJob
/**
* class constructor
- */
- public RenewalNotificationJob () {
+ */
+ public RenewalNotificationJob() {
}
/**
@@ -216,62 +198,72 @@ public class RenewalNotificationJob
*/
public String[] getExtendedPluginInfo(Locale locale) {
String s[] = {
- IExtendedPluginInfo.HELP_TEXT +
- "; A job that checks for expiring or expired certs" +
- "notifyTriggerOffset before and notifyEndOffset after " +
- "the expiration date",
-
- PROP_PROFILE_ID + ";string;Specify the ID of the profile which "+
- "approved the certificates that are about to expire. For multiple "+
- "profiles, each entry is separated by white space. For example, " +
- "if the administrator just wants to give automated notification " +
- "when the SSL server certificates are about to expire, then "+
- "he should enter \"caServerCert caAgentServerCert\" in the profileId textfield. "+
- "Blank field means all profiles.",
- PROP_NOTIFYTRIGGEROFFSET + ";number,required;How long (in days) before " +
- "certificate expiration will the first notification " +
- "be sent",
- PROP_NOTIFYENDOFFSET + ";number,required;How long (in days) after " +
- "certificate expiration will notifications " +
- "continue to be resent if certificate is not renewed",
- PROP_CRON + ";string,required;Format: minute hour dayOfMonth Mmonth " +
- "dayOfWeek. Use '*' for 'every'. For dayOfWeek, 0 is Sunday",
- PROP_SENDEREMAIL + ";string,required;Specify the address to be used " +
- "as the email's 'sender'. Bounces go to this address.",
+ IExtendedPluginInfo.HELP_TEXT
+ + "; A job that checks for expiring or expired certs"
+ + "notifyTriggerOffset before and notifyEndOffset after "
+ + "the expiration date",
+
+ PROP_PROFILE_ID
+ + ";string;Specify the ID of the profile which "
+ + "approved the certificates that are about to expire. For multiple "
+ + "profiles, each entry is separated by white space. For example, "
+ + "if the administrator just wants to give automated notification "
+ + "when the SSL server certificates are about to expire, then "
+ + "he should enter \"caServerCert caAgentServerCert\" in the profileId textfield. "
+ + "Blank field means all profiles.",
+ PROP_NOTIFYTRIGGEROFFSET
+ + ";number,required;How long (in days) before "
+ + "certificate expiration will the first notification "
+ + "be sent",
+ PROP_NOTIFYENDOFFSET
+ + ";number,required;How long (in days) after "
+ + "certificate expiration will notifications "
+ + "continue to be resent if certificate is not renewed",
+ PROP_CRON
+ + ";string,required;Format: minute hour dayOfMonth Mmonth "
+ + "dayOfWeek. Use '*' for 'every'. For dayOfWeek, 0 is Sunday",
+ PROP_SENDEREMAIL
+ + ";string,required;Specify the address to be used "
+ + "as the email's 'sender'. Bounces go to this address.",
PROP_EMAILSUBJECT + ";string,required;Email subject",
- PROP_EMAILTEMPLATE + ";string,required;Fully qualified pathname of " +
- "template file of email to be sent",
+ PROP_EMAILTEMPLATE
+ + ";string,required;Fully qualified pathname of "
+ + "template file of email to be sent",
"enabled;boolean;Enable this plugin",
"summary.enabled;boolean;Enabled sending of summaries",
- PROP_SUMMARY_SENDEREMAIL + ";string,required;Sender email address of summary",
- PROP_SUMMARY_RECIPIENTEMAIL + ";string,required;Who should receive summaries",
- PROP_SUMMARY_SUBJECT + ";string,required;Subject of summary email",
- PROP_SUMMARY_TEMPLATE + ";string,required;Fully qualified pathname of " +
- "template file of email to be sent",
- PROP_SUMMARY_ITEMTEMPLATE + ";string,required;Fully qualified pathname of " +
- "file with template to be used for each summary item",
- IExtendedPluginInfo.HELP_TOKEN +
- ";configuration-jobrules-renewalnotification",
- };
+ PROP_SUMMARY_SENDEREMAIL
+ + ";string,required;Sender email address of summary",
+ PROP_SUMMARY_RECIPIENTEMAIL
+ + ";string,required;Who should receive summaries",
+ PROP_SUMMARY_SUBJECT
+ + ";string,required;Subject of summary email",
+ PROP_SUMMARY_TEMPLATE
+ + ";string,required;Fully qualified pathname of "
+ + "template file of email to be sent",
+ PROP_SUMMARY_ITEMTEMPLATE
+ + ";string,required;Fully qualified pathname of "
+ + "file with template to be used for each summary item",
+ IExtendedPluginInfo.HELP_TOKEN
+ + ";configuration-jobrules-renewalnotification", };
return s;
}
-
+
/**
* Initialize from the configuration file.
+ *
* @param id String name of this instance
* @param implName string name of this implementation
* @param config configuration store for this instance
* @exception EBaseException
*/
- public void init(ISubsystem owner, String id, String implName, IConfigStore config) throws
- EBaseException {
+ public void init(ISubsystem owner, String id, String implName,
+ IConfigStore config) throws EBaseException {
mConfig = config;
mId = id;
mImplName = implName;
- mCA = (ICertificateAuthority)
- CMS.getSubsystem("ca");
+ mCA = (ICertificateAuthority) CMS.getSubsystem("ca");
if (mCA == null) {
mSummary = false;
return;
@@ -289,19 +281,20 @@ public class RenewalNotificationJob
mJobCron = scheduler.createJobCron(mCron);
}
-
+
/**
- * finds out which cert needs notification and notifies the
- * responsible parties
+ * finds out which cert needs notification and notifies the responsible
+ * parties
*/
public void run() {
// for forming renewal URL at template
mHttpHost = CMS.getEEHost();
mHttpPort = CMS.getEESSLPort();
- // read from the configuration file
+ // read from the configuration file
try {
- mPreDays = mConfig.getInteger(PROP_NOTIFYTRIGGEROFFSET, 30); // in days
+ mPreDays = mConfig.getInteger(PROP_NOTIFYTRIGGEROFFSET, 30); // in
+ // days
mPostDays = mConfig.getInteger(PROP_NOTIFYENDOFFSET, 15); // in days
mEmailSender = mConfig.getString(PROP_SENDEREMAIL);
@@ -313,20 +306,18 @@ public class RenewalNotificationJob
if (sc.getBoolean(PROP_ENABLED, false)) {
mSummary = true;
- mSummaryItemTemplateName =
- mConfig.getString(PROP_SUMMARY_ITEMTEMPLATE);
- mSummarySenderEmail =
- mConfig.getString(PROP_SUMMARY_SENDEREMAIL);
- mSummaryReceiverEmail =
- mConfig.getString(PROP_SUMMARY_RECIPIENTEMAIL);
- mSummaryMailSubject =
- mConfig.getString(PROP_SUMMARY_SUBJECT);
- mSummaryTemplateName =
- mConfig.getString(PROP_SUMMARY_TEMPLATE);
+ mSummaryItemTemplateName = mConfig
+ .getString(PROP_SUMMARY_ITEMTEMPLATE);
+ mSummarySenderEmail = mConfig
+ .getString(PROP_SUMMARY_SENDEREMAIL);
+ mSummaryReceiverEmail = mConfig
+ .getString(PROP_SUMMARY_RECIPIENTEMAIL);
+ mSummaryMailSubject = mConfig.getString(PROP_SUMMARY_SUBJECT);
+ mSummaryTemplateName = mConfig.getString(PROP_SUMMARY_TEMPLATE);
} else {
mSummary = false;
}
-
+
long msperday = 86400 * 1000;
long mspredays = mPreDays;
long mspostdays = mPostDays;
@@ -339,17 +330,15 @@ public class RenewalNotificationJob
String nowString = dateFormat.format(now);
/*
- * look in the internal db for certificateRecords that are
- * 1. within the expiration notification period
- * 2. has not yet been renewed
- * 3. notify - use EmailTemplateProcessor to formulate
- * content, then send
- * if notified successfully, mark "STATUS_SUCCESS",
- * else, if notified unsuccessfully, mark "STATUS_FAILURE".
+ * look in the internal db for certificateRecords that are 1. within
+ * the expiration notification period 2. has not yet been renewed 3.
+ * notify - use EmailTemplateProcessor to formulate content, then
+ * send if notified successfully, mark "STATUS_SUCCESS", else, if
+ * notified unsuccessfully, mark "STATUS_FAILURE".
*/
-
+
/* 1) make target notAfter string */
-
+
Date expiryDate = null;
Date stopDate = null;
@@ -360,13 +349,14 @@ public class RenewalNotificationJob
expiryDate = new Date(expiryMS);
stopDate = new Date(stopMS);
-
+
// All cert records which:
- // 1) expire before the deadline
- // 2) have not already been renewed
- // filter format:
- // (& (notafter<='time')(!(certAutoRenew=DONE))(!certAutoRenew=DISABLED))
-
+ // 1) expire before the deadline
+ // 2) have not already been renewed
+ // filter format:
+ // (&
+ // (notafter<='time')(!(certAutoRenew=DONE))(!certAutoRenew=DISABLED))
+
StringBuffer f = new StringBuffer();
String profileId = "";
try {
@@ -374,40 +364,47 @@ public class RenewalNotificationJob
} catch (EBaseException ee) {
}
- if (profileId != null && profileId.length() > 0) {
+ if (profileId != null && profileId.length() > 0) {
StringTokenizer tokenizer = new StringTokenizer(profileId);
int num = tokenizer.countTokens();
mProfileId = new String[num];
- for (int i=0; i<num; i++)
+ for (int i = 0; i < num; i++)
mProfileId[i] = tokenizer.nextToken();
}
f.append("(&");
if (mProfileId != null) {
if (mProfileId.length == 1)
- f.append("("+ICertRecord.ATTR_META_INFO+ "=" +
- ICertRecord.META_PROFILE_ID +":"+mProfileId[0]+")");
+ f.append("(" + ICertRecord.ATTR_META_INFO + "="
+ + ICertRecord.META_PROFILE_ID + ":" + mProfileId[0]
+ + ")");
else {
f.append("(|");
- for (int i=0; i<mProfileId.length; i++) {
- f.append("("+ICertRecord.ATTR_META_INFO+ "=" +
- ICertRecord.META_PROFILE_ID +":"+mProfileId[i]+")");
+ for (int i = 0; i < mProfileId.length; i++) {
+ f.append("(" + ICertRecord.ATTR_META_INFO + "="
+ + ICertRecord.META_PROFILE_ID + ":"
+ + mProfileId[i] + ")");
}
f.append(")");
}
}
- f.append("(" + ICertRecord.ATTR_X509CERT + ".notAfter" + "<=" + expiryDate.getTime() + ")");
- f.append("(" + ICertRecord.ATTR_X509CERT + ".notAfter" + ">=" + stopDate.getTime() + ")");
- f.append("(!(" + ICertRecord.ATTR_AUTO_RENEW + "=" + ICertRecord.AUTO_RENEWAL_DONE + "))");
- f.append("(!(" + ICertRecord.ATTR_AUTO_RENEW + "=" + ICertRecord.AUTO_RENEWAL_DISABLED + "))");
- f.append("(!(" + ICertRecord.ATTR_CERT_STATUS + "=" + ICertRecord.STATUS_REVOKED + "))");
- f.append("(!(" + ICertRecord.ATTR_CERT_STATUS + "=" + ICertRecord.STATUS_REVOKED_EXPIRED + "))");
+ f.append("(" + ICertRecord.ATTR_X509CERT + ".notAfter" + "<="
+ + expiryDate.getTime() + ")");
+ f.append("(" + ICertRecord.ATTR_X509CERT + ".notAfter" + ">="
+ + stopDate.getTime() + ")");
+ f.append("(!(" + ICertRecord.ATTR_AUTO_RENEW + "="
+ + ICertRecord.AUTO_RENEWAL_DONE + "))");
+ f.append("(!(" + ICertRecord.ATTR_AUTO_RENEW + "="
+ + ICertRecord.AUTO_RENEWAL_DISABLED + "))");
+ f.append("(!(" + ICertRecord.ATTR_CERT_STATUS + "="
+ + ICertRecord.STATUS_REVOKED + "))");
+ f.append("(!(" + ICertRecord.ATTR_CERT_STATUS + "="
+ + ICertRecord.STATUS_REVOKED_EXPIRED + "))");
f.append(")");
String filter = f.toString();
- String emailTemplate =
- getTemplateContent(mEmailTemplateName);
+ String emailTemplate = getTemplateContent(mEmailTemplateName);
mHTML = mMailHTML;
@@ -415,15 +412,16 @@ public class RenewalNotificationJob
String summaryItemTemplate = null;
if (mSummary == true) {
- summaryItemTemplate =
- getTemplateContent(mSummaryItemTemplateName);
+ summaryItemTemplate = getTemplateContent(mSummaryItemTemplateName);
}
ItemCounter ic = new ItemCounter();
- CertRecProcessor cp = new CertRecProcessor(this, emailTemplate, summaryItemTemplate, ic);
- //CertRecordList list = mCertDB.findCertRecordsInList(filter, null, "serialno", 5);
- //list.processCertRecords(0, list.getSize() - 1, cp);
-
+ CertRecProcessor cp = new CertRecProcessor(this, emailTemplate,
+ summaryItemTemplate, ic);
+ // CertRecordList list = mCertDB.findCertRecordsInList(filter,
+ // null, "serialno", 5);
+ // list.processCertRecords(0, list.getSize() - 1, cp);
+
Enumeration en = mCertDB.findCertRecs(filter);
while (en.hasMoreElements()) {
@@ -432,43 +430,50 @@ public class RenewalNotificationJob
try {
cp.process(element);
} catch (Exception e) {
- //Don't abort the entire operation. The error should already be logged
- log(ILogger.LL_FAILURE, CMS.getLogMessage("JOBS_FAILED_PROCESS", e.toString()));
+ // Don't abort the entire operation. The error should
+ // already be logged
+ log(ILogger.LL_FAILURE,
+ CMS.getLogMessage("JOBS_FAILED_PROCESS",
+ e.toString()));
}
}
-
+
// Now send the summary
if (mSummary == true) {
try {
- String summaryTemplate =
- getTemplateContent(mSummaryTemplateName);
+ String summaryTemplate = getTemplateContent(mSummaryTemplateName);
mSummaryHTML = mMailHTML;
- buildContentParams(IEmailFormProcessor.TOKEN_ID,
- mId);
+ buildContentParams(IEmailFormProcessor.TOKEN_ID, mId);
+
+ buildContentParams(
+ IEmailFormProcessor.TOKEN_SUMMARY_ITEM_LIST,
+ ic.mItemListContent);
+ buildContentParams(
+ IEmailFormProcessor.TOKEN_SUMMARY_TOTAL_NUM,
+ String.valueOf(ic.mNumFail + ic.mNumSuccessful));
+ buildContentParams(
+ IEmailFormProcessor.TOKEN_SUMMARY_SUCCESS_NUM,
+ String.valueOf(ic.mNumSuccessful));
+ buildContentParams(
+ IEmailFormProcessor.TOKEN_SUMMARY_FAILURE_NUM,
+ String.valueOf(ic.mNumFail));
- buildContentParams(IEmailFormProcessor.TOKEN_SUMMARY_ITEM_LIST,
- ic.mItemListContent);
- buildContentParams(IEmailFormProcessor.TOKEN_SUMMARY_TOTAL_NUM,
- String.valueOf(ic.mNumFail + ic.mNumSuccessful));
- buildContentParams(IEmailFormProcessor.TOKEN_SUMMARY_SUCCESS_NUM,
- String.valueOf(ic.mNumSuccessful));
- buildContentParams(IEmailFormProcessor.TOKEN_SUMMARY_FAILURE_NUM,
- String.valueOf(ic.mNumFail));
+ buildContentParams(
+ IEmailFormProcessor.TOKEN_EXECUTION_TIME,
+ nowString);
- buildContentParams(IEmailFormProcessor.TOKEN_EXECUTION_TIME,
- nowString);
-
- IEmailFormProcessor summaryEmfp = CMS.getEmailFormProcessor();
+ IEmailFormProcessor summaryEmfp = CMS
+ .getEmailFormProcessor();
- String summaryContent =
- summaryEmfp.getEmailContent(summaryTemplate,
- mContentParams);
+ String summaryContent = summaryEmfp.getEmailContent(
+ summaryTemplate, mContentParams);
if (summaryContent == null) {
- log(ILogger.LL_FAILURE, CMS.getLogMessage("JOBS_SUMMARY_CONTENT_NULL"));
+ log(ILogger.LL_FAILURE,
+ CMS.getLogMessage("JOBS_SUMMARY_CONTENT_NULL"));
mailSummary(" no summaryContent");
} else {
mMailHTML = mSummaryHTML;
@@ -476,93 +481,101 @@ public class RenewalNotificationJob
}
} catch (Exception e) {
// log error
- log(ILogger.LL_FAILURE, CMS.getLogMessage("JOBS_EXCEPTION_IN_RUN", e.toString()));
+ log(ILogger.LL_FAILURE,
+ CMS.getLogMessage("JOBS_EXCEPTION_IN_RUN",
+ e.toString()));
}
}
} catch (EBaseException e) {
// log error
- log(ILogger.LL_FAILURE, CMS.getLogMessage("OPERATION_ERROR", e.toString()));
+ log(ILogger.LL_FAILURE,
+ CMS.getLogMessage("OPERATION_ERROR", e.toString()));
}
} catch (EBaseException ex) {
- log(ILogger.LL_FAILURE, CMS.getLogMessage("Configuration error:", ex.toString()));
+ log(ILogger.LL_FAILURE,
+ CMS.getLogMessage("Configuration error:", ex.toString()));
}
}
private String makeLDAPDateString(Date date) {
-
+
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
- String ldfYear = "" + Integer.toString(calendar.get(Calendar.YEAR) - 1900);
-
+ String ldfYear = ""
+ + Integer.toString(calendar.get(Calendar.YEAR) - 1900);
+
String ldfMonth = getPadded(calendar.get(Calendar.MONTH));
String ldfDate = getPadded(calendar.get(Calendar.DAY_OF_MONTH));
String ldfHours = getPadded(calendar.get(Calendar.HOUR));
String ldfMinutes = getPadded(calendar.get(Calendar.MINUTE));
String ldfSeconds = getPadded(calendar.get(Calendar.SECOND));
-
- return ldfYear + ldfMonth + ldfDate + ldfHours + ldfMinutes + ldfSeconds + "Z";
+
+ return ldfYear + ldfMonth + ldfDate + ldfHours + ldfMinutes
+ + ldfSeconds + "Z";
}
-
+
private String getPadded(int i) {
if (i < 10) {
return "0" + Integer.toString(i);
} else {
- return "" + Integer.toString(i);
+ return "" + Integer.toString(i);
}
}
-
+
/**
* get instance id.
+ *
* @return a String identifier
*/
public String getId() {
return mId;
}
-
+
/**
* set instance id.
+ *
* @param id String id of the instance
*/
public void setId(String id) {
mId = id;
}
-
+
/**
* get cron string associated with this job
+ *
* @return a JobCron object that represents the schedule of this job
*/
public IJobCron getJobCron() {
return mJobCron;
}
-
+
/**
* gets the plugin name of this job.
+ *
* @return a String that is the name of this implementation
*/
public String getImplName() {
return mImplName;
}
-
+
/**
* Gets the configuration substore used by this job
+ *
* @return configuration store
*/
public IConfigStore getConfigStore() {
return mConfig;
}
- protected void mailUser(String subject,
- String msg,
- String sender,
- IRequest req,
- ICertRecord cr)
- throws IOException, ENotificationException, EBaseException {
+ protected void mailUser(String subject, String msg, String sender,
+ IRequest req, ICertRecord cr) throws IOException,
+ ENotificationException, EBaseException {
IMailNotification mn = CMS.getMailNotification();
String rcp = null;
- // boolean sendFailed = false;
+ // boolean sendFailed = false;
Exception sendFailedException = null;
IEmailResolverKeys keys = CMS.getEmailResolverKeys();
@@ -585,20 +598,25 @@ public class RenewalNotificationJob
} catch (Exception e) {
// already logged by the resolver
- // sendFailed = true;
+ // sendFailed = true;
sendFailedException = e;
throw (ENotificationException) sendFailedException;
}
mn.setTo(rcp);
- if (sender != null) mn.setFrom(sender);
- else mn.setFrom("nobody");
+ if (sender != null)
+ mn.setFrom(sender);
+ else
+ mn.setFrom("nobody");
- if (subject != null) mn.setSubject(subject);
- else mn.setFrom("Important message from Certificate Authority");
+ if (subject != null)
+ mn.setSubject(subject);
+ else
+ mn.setFrom("Important message from Certificate Authority");
- if (mHTML == true) mn.setContentType("text/html");
+ if (mHTML == true)
+ mn.setContentType("text/html");
String failedString = null;
@@ -608,10 +626,10 @@ public class RenewalNotificationJob
}
/**
- * Returns a list of configuration parameter names.
- * The list is passed to the configuration console so instances of
- * this implementation can be configured through the console.
- *
+ * Returns a list of configuration parameter names. The list is passed to
+ * the configuration console so instances of this implementation can be
+ * configured through the console.
+ *
* @return String array of configuration parameter names.
*/
public String[] getConfigParams() {
@@ -619,15 +637,14 @@ public class RenewalNotificationJob
}
}
-
class CertRecProcessor implements IElementProcessor {
protected RenewalNotificationJob mJob;
protected String mEmailTemplate;
protected String mSummaryItemTemplate;
protected ItemCounter mIC;
- public CertRecProcessor(RenewalNotificationJob job, String emailTemplate,
- String summaryItemTemplate, ItemCounter ic) {
+ public CertRecProcessor(RenewalNotificationJob job, String emailTemplate,
+ String summaryItemTemplate, ItemCounter ic) {
mJob = job;
mEmailTemplate = emailTemplate;
mSummaryItemTemplate = summaryItemTemplate;
@@ -645,9 +662,10 @@ class CertRecProcessor implements IElementProcessor {
if (cr != null) {
mJob.buildItemParams(cr.getCertificate());
mJob.buildItemParams(IEmailFormProcessor.TOKEN_HTTP_HOST,
- mJob.mHttpHost);
- mJob.buildItemParams(IEmailFormProcessor.TOKEN_HTTP_PORT, mJob.mHttpPort);
-
+ mJob.mHttpHost);
+ mJob.buildItemParams(IEmailFormProcessor.TOKEN_HTTP_PORT,
+ mJob.mHttpPort);
+
MetaInfo metaInfo = null;
metaInfo = (MetaInfo) cr.get(ICertRecord.ATTR_META_INFO);
@@ -656,10 +674,12 @@ class CertRecProcessor implements IElementProcessor {
numFailCounted = true;
if (mJob.mSummary == true)
mJob.buildItemParams(IEmailFormProcessor.TOKEN_STATUS,
- AJobBase.STATUS_FAILURE);
- mJob.log(ILogger.LL_FAILURE,
- CMS.getLogMessage("JOBS_GET_CERT_ERROR",
- cr.getCertificate().getSerialNumber().toString(16)));
+ AJobBase.STATUS_FAILURE);
+ mJob.log(
+ ILogger.LL_FAILURE,
+ CMS.getLogMessage("JOBS_GET_CERT_ERROR", cr
+ .getCertificate().getSerialNumber()
+ .toString(16)));
} else {
ridString = (String) metaInfo.get(ICertRecord.META_REQUEST_ID);
}
@@ -669,54 +689,51 @@ class CertRecProcessor implements IElementProcessor {
if (ridString != null) {
RequestId rid = new RequestId(ridString);
-
+
try {
req = mJob.mCA.getRequestQueue().findRequest(rid);
} catch (Exception e) {
// it is ok not to be able to get the request. The main reason
// to get the request is to retrieve the requestor's email.
// We can retrieve the email from the CertRecord.
- CMS.debug("huh RenewalNotificationJob Exception: "+e.toString());
+ CMS.debug("huh RenewalNotificationJob Exception: "
+ + e.toString());
}
if (req != null)
mJob.buildItemParams(req);
} // ridString != null
- try {
+ try {
// send mail to user
-
+
IEmailFormProcessor emfp = CMS.getEmailFormProcessor();
String message = emfp.getEmailContent(mEmailTemplate,
mJob.mItemParams);
- mJob.mailUser(mJob.mEmailSubject,
- message,
- mJob.mEmailSender,
- req,
- cr);
-
+ mJob.mailUser(mJob.mEmailSubject, message, mJob.mEmailSender, req,
+ cr);
+
mJob.buildItemParams(IEmailFormProcessor.TOKEN_STATUS,
- AJobBase.STATUS_SUCCESS);
-
+ AJobBase.STATUS_SUCCESS);
+
mIC.mNumSuccessful++;
-
+
} catch (Exception e) {
- CMS.debug("RenewalNotificationJob Exception: "+e.toString());
- mJob.buildItemParams(IEmailFormProcessor.TOKEN_STATUS, AJobBase.STATUS_FAILURE);
+ CMS.debug("RenewalNotificationJob Exception: " + e.toString());
+ mJob.buildItemParams(IEmailFormProcessor.TOKEN_STATUS,
+ AJobBase.STATUS_FAILURE);
mJob.log(ILogger.LL_FAILURE, e.toString(), ILogger.L_MULTILINE);
if (numFailCounted == false) {
mIC.mNumFail++;
}
}
-
+
if (mJob.mSummary == true) {
- IEmailFormProcessor summaryItemEmfp =
- CMS.getEmailFormProcessor();
- String c =
- summaryItemEmfp.getEmailContent(mSummaryItemTemplate,
+ IEmailFormProcessor summaryItemEmfp = CMS.getEmailFormProcessor();
+ String c = summaryItemEmfp.getEmailContent(mSummaryItemTemplate,
mJob.mItemParams);
-
+
if (mIC.mItemListContent == null) {
mIC.mItemListContent = c;
} else {
@@ -726,7 +743,6 @@ class CertRecProcessor implements IElementProcessor {
}
}
-
class ItemCounter {
public int mNumSuccessful = 0;
public int mNumFail = 0;