summaryrefslogtreecommitdiffstats
path: root/pki/base/common/src/com/netscape/cms/jobs/RequestInQueueJob.java
diff options
context:
space:
mode:
Diffstat (limited to 'pki/base/common/src/com/netscape/cms/jobs/RequestInQueueJob.java')
-rw-r--r--pki/base/common/src/com/netscape/cms/jobs/RequestInQueueJob.java122
1 files changed, 52 insertions, 70 deletions
diff --git a/pki/base/common/src/com/netscape/cms/jobs/RequestInQueueJob.java b/pki/base/common/src/com/netscape/cms/jobs/RequestInQueueJob.java
index 07a35a9d..f68d554b 100644
--- a/pki/base/common/src/com/netscape/cms/jobs/RequestInQueueJob.java
+++ b/pki/base/common/src/com/netscape/cms/jobs/RequestInQueueJob.java
@@ -17,7 +17,6 @@
// --- END COPYRIGHT BLOCK ---
package com.netscape.cms.jobs;
-
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
@@ -37,85 +36,75 @@ import com.netscape.certsrv.request.IRequestQueue;
import com.netscape.certsrv.request.RequestId;
import com.netscape.certsrv.request.RequestStatus;
-
/**
- * A job for the Jobs Scheduler. This job checks in the internal ldap
- * db for requests currently in the request queue and send a summary
- * report to the administrator
+ * A job for the Jobs Scheduler. This job checks in the internal ldap db for
+ * requests currently in the request queue and send a summary report to the
+ * administrator
* <p>
* the $TOKENS that are available for the this jobs's summary outer form are:<br>
* <UL>
- * $InstanceID
- * $SummaryTotalNum
- * $ExecutionTime
+ * $InstanceID $SummaryTotalNum $ExecutionTime
* </UL>
- *
+ *
* @version $Revision$, $Date$
* @see com.netscape.certsrv.jobs.IJob
* @see com.netscape.cms.jobs.AJobBase
*/
-public class RequestInQueueJob extends AJobBase
- implements IJob, Runnable, IExtendedPluginInfo {
+public class RequestInQueueJob extends AJobBase implements IJob, Runnable,
+ IExtendedPluginInfo {
protected static final String PROP_SUBSYSTEM_ID = "subsystemId";
IAuthority mSub = null;
IRequestQueue mReqQ = null;
private boolean mSummary = false;
- /* 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",
- "cron",
- "subsystemId",
- "summary.enabled",
- "summary.emailSubject",
- "summary.emailTemplate",
- "summary.senderEmail",
- "summary.recipientEmail"
- };
+ protected static String[] mConfigParams = new String[] { "enabled", "cron",
+ "subsystemId", "summary.enabled", "summary.emailSubject",
+ "summary.emailTemplate", "summary.senderEmail",
+ "summary.recipientEmail" };
/**
* holds help text for this plugin
*/
public String[] getExtendedPluginInfo(Locale locale) {
String s[] = {
- IExtendedPluginInfo.HELP_TEXT +
- "; A job that checks for enrollment requests in the " +
- "queue, and reports to recipientEmail",
- "cron;string;Format: minute hour dayOfMonth month " +
- "dayOfWeek. Use '*' for 'every'. For dayOfWeek, 0 is Sunday",
- "summary.senderEmail;string;Specify the address to be used " +
- "as the email's 'sender'. Bounces go to this address.",
+ IExtendedPluginInfo.HELP_TEXT
+ + "; A job that checks for enrollment requests in the "
+ + "queue, and reports to recipientEmail",
+ "cron;string;Format: minute hour dayOfMonth month "
+ + "dayOfWeek. Use '*' for 'every'. For dayOfWeek, 0 is Sunday",
+ "summary.senderEmail;string;Specify the address to be used "
+ + "as the email's 'sender'. Bounces go to this address.",
"summary.recipientEmail;string;Who should receive summaries",
"enabled;boolean;Enable this plugin",
- "summary.enabled;boolean;Enable the summary. You must enabled " +
- "this for the job to work.",
+ "summary.enabled;boolean;Enable the summary. You must enabled "
+ + "this for the job to work.",
"summary.emailSubject;string;Subject of summary email",
- "summary.emailTemplate;string;Fully qualified pathname of " +
- "template file of email to be sent",
- "subsystemId;choice(ca,ra);The type of subsystem this job is " +
- "for",
- IExtendedPluginInfo.HELP_TOKEN +
- ";configuration-jobrules-requestinqueuejob",
- };
+ "summary.emailTemplate;string;Fully qualified pathname of "
+ + "template file of email to be sent",
+ "subsystemId;choice(ca,ra);The type of subsystem this job is "
+ + "for",
+ IExtendedPluginInfo.HELP_TOKEN
+ + ";configuration-jobrules-requestinqueuejob", };
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;
@@ -123,8 +112,7 @@ public class RequestInQueueJob extends AJobBase
// read from the configuration file
String sub = mConfig.getString(PROP_SUBSYSTEM_ID);
- mSub = (IAuthority)
- CMS.getSubsystem(sub);
+ mSub = (IAuthority) CMS.getSubsystem(sub);
if (mSub == null) {
// take this as disable
mSummary = false;
@@ -137,7 +125,7 @@ public class RequestInQueueJob extends AJobBase
if (mCron == null) {
return;
}
-
+
// parse cron string into a JobCron class
IJobsScheduler scheduler = (IJobsScheduler) owner;
@@ -150,7 +138,7 @@ public class RequestInQueueJob extends AJobBase
mSummary = true;
mSummaryMailSubject = sc.getString(PROP_EMAIL_SUBJECT);
mMailForm = sc.getString(PROP_EMAIL_TEMPLATE);
- // mItemForm = sc.getString(PROP_ITEM_TEMPLATE);
+ // mItemForm = sc.getString(PROP_ITEM_TEMPLATE);
mSummarySenderEmail = sc.getString(PROP_SENDER_EMAIL);
mSummaryReceiverEmail = sc.getString(PROP_RECEIVER_EMAIL);
} else {
@@ -162,7 +150,8 @@ public class RequestInQueueJob extends AJobBase
* summarize the queue status and mail it
*/
public void run() {
- if (mSummary == false) return;
+ if (mSummary == false)
+ return;
Date date = CMS.getCurrentDate();
long now = date.getTime();
@@ -170,25 +159,20 @@ public class RequestInQueueJob extends AJobBase
String nowString = dateFormat.format(date);
int count = 0;
- IRequestList list =
- mReqQ.listRequestsByStatus(RequestStatus.PENDING);
+ IRequestList list = mReqQ.listRequestsByStatus(RequestStatus.PENDING);
while (list != null && list.hasMoreElements()) {
RequestId rid = list.nextRequestId();
- /* This is way too slow
- // get request from request id
- IRequest req = null;
- try {
- req = mReqQ.findRequest(rid);
- } catch (EBaseException e) {
- System.out.println(e.toString());
- }
+ /*
+ * This is way too slow // get request from request id IRequest req
+ * = null; try { req = mReqQ.findRequest(rid); } catch
+ * (EBaseException e) { System.out.println(e.toString()); }
*/
count++;
}
- // if (count == 0) return;
+ // if (count == 0) return;
String contentForm = null;
@@ -196,23 +180,21 @@ public class RequestInQueueJob extends AJobBase
buildContentParams(IEmailFormProcessor.TOKEN_ID, mId);
buildContentParams(IEmailFormProcessor.TOKEN_SUMMARY_TOTAL_NUM,
- String.valueOf(count));
- buildContentParams(IEmailFormProcessor.TOKEN_EXECUTION_TIME,
- nowString);
+ String.valueOf(count));
+ buildContentParams(IEmailFormProcessor.TOKEN_EXECUTION_TIME, nowString);
IEmailFormProcessor emailFormProcessor = CMS.getEmailFormProcessor();
- String mailContent =
- emailFormProcessor.getEmailContent(contentForm,
+ String mailContent = emailFormProcessor.getEmailContent(contentForm,
mContentParams);
mailSummary(mailContent);
}
/**
- * 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() {