summaryrefslogtreecommitdiffstats
path: root/pki/base/common/src/com/netscape/cmscore/jobs/JobCron.java
diff options
context:
space:
mode:
Diffstat (limited to 'pki/base/common/src/com/netscape/cmscore/jobs/JobCron.java')
-rw-r--r--pki/base/common/src/com/netscape/cmscore/jobs/JobCron.java134
1 files changed, 71 insertions, 63 deletions
diff --git a/pki/base/common/src/com/netscape/cmscore/jobs/JobCron.java b/pki/base/common/src/com/netscape/cmscore/jobs/JobCron.java
index 13ef7f25..b721097d 100644
--- a/pki/base/common/src/com/netscape/cmscore/jobs/JobCron.java
+++ b/pki/base/common/src/com/netscape/cmscore/jobs/JobCron.java
@@ -17,7 +17,6 @@
// --- END COPYRIGHT BLOCK ---
package com.netscape.cmscore.jobs;
-
import java.util.Calendar;
import java.util.Enumeration;
import java.util.StringTokenizer;
@@ -28,33 +27,28 @@ import com.netscape.certsrv.base.EBaseException;
import com.netscape.certsrv.jobs.IJobCron;
import com.netscape.certsrv.logging.ILogger;
-
/**
* class representing one Job cron information
- * <p>here, an "item" refers to one of the 5 fields in a cron string;
- * "element" refers to any comma-deliminated element in an
- * "item"...which includes both numbers and '-' separated ranges.
- * A cron string in the configuration takes the following format:
- * <i>minute (0-59),
- * hour (0-23),
- * day of the month (1-31),
- * month of the year (1-12),
- * day of the week (0-6 with 0=Sunday)</i>
* <p>
- * e.g. jobsScheduler.job.rnJob1.cron=30 11,23 * * 1-5
- * In this example, the job "rnJob1" will be executed from Monday
- * through Friday, at 11:30am and 11:30pm.
+ * here, an "item" refers to one of the 5 fields in a cron string; "element"
+ * refers to any comma-deliminated element in an "item"...which includes both
+ * numbers and '-' separated ranges. A cron string in the configuration takes
+ * the following format: <i>minute (0-59), hour (0-23), day of the month (1-31),
+ * month of the year (1-12), day of the week (0-6 with 0=Sunday)</i>
* <p>
- *
+ * e.g. jobsScheduler.job.rnJob1.cron=30 11,23 * * 1-5 In this example, the job
+ * "rnJob1" will be executed from Monday through Friday, at 11:30am and 11:30pm.
+ * <p>
+ *
* @author cfu
* @version $Revision$, $Date$
*/
public class JobCron implements IJobCron {
/**
- * CRON_MINUTE, CRON_HOUR, CRON_DAY_OF_MONTH, CRON_MONTH_OF_YEAR,
- * and CRON_DAY_OF_WEEK are to be used in <b>getItem()</b> to
- * retrieve the corresponding <b>CronItem</b>
+ * CRON_MINUTE, CRON_HOUR, CRON_DAY_OF_MONTH, CRON_MONTH_OF_YEAR, and
+ * CRON_DAY_OF_WEEK are to be used in <b>getItem()</b> to retrieve the
+ * corresponding <b>CronItem</b>
*/
public static final String CRON_MINUTE = "minute";
public static final String CRON_HOUR = "hour";
@@ -71,8 +65,7 @@ public class JobCron implements IJobCron {
CronItem cMOY = null;
CronItem cDOW = null;
- public JobCron(String cronString)
- throws EBaseException {
+ public JobCron(String cronString) throws EBaseException {
mCronString = cronString;
// create all 5 items in the cron
@@ -84,9 +77,8 @@ public class JobCron implements IJobCron {
cronToVals(mCronString);
}
-
- private void cronToVals(String cronString)
- throws EBaseException {
+
+ private void cronToVals(String cronString) throws EBaseException {
StringTokenizer st = new StringTokenizer(cronString);
String sMinute = null;
@@ -101,9 +93,10 @@ public class JobCron implements IJobCron {
cMinute.set(sMinute);
}
} catch (EBaseException e) {
- log(ILogger.LL_FAILURE,
- CMS.getLogMessage("CMSCORE_JOBS_INVALID_MIN", e.toString()));
- throw new EBaseException(CMS.getUserMessage("CMS_BASE_INVALID_JOB_CRON"));
+ log(ILogger.LL_FAILURE,
+ CMS.getLogMessage("CMSCORE_JOBS_INVALID_MIN", e.toString()));
+ throw new EBaseException(
+ CMS.getUserMessage("CMS_BASE_INVALID_JOB_CRON"));
}
try {
@@ -112,13 +105,15 @@ public class JobCron implements IJobCron {
cHour.set(sHour);
}
} catch (EBaseException e) {
- log(ILogger.LL_FAILURE, CMS.getLogMessage("CMSCORE_JOBS_INVALID_HOUR", e.toString()));
- throw new EBaseException(CMS.getUserMessage("CMS_BASE_INVALID_JOB_CRON"));
+ log(ILogger.LL_FAILURE, CMS.getLogMessage(
+ "CMSCORE_JOBS_INVALID_HOUR", e.toString()));
+ throw new EBaseException(
+ CMS.getUserMessage("CMS_BASE_INVALID_JOB_CRON"));
}
if (st.hasMoreTokens()) {
sDayOMonth = st.nextToken();
- // cDOM.set(sDayOMonth);
+ // cDOM.set(sDayOMonth);
}
try {
@@ -127,62 +122,76 @@ public class JobCron implements IJobCron {
cMOY.set(sMonthOYear);
}
} catch (EBaseException e) {
- log(ILogger.LL_FAILURE, CMS.getLogMessage("CMSCORE_JOBS_INVALID_MONTH", e.toString()));
- throw new EBaseException(CMS.getUserMessage("CMS_BASE_INVALID_JOB_CRON"));
+ log(ILogger.LL_FAILURE,
+ CMS.getLogMessage("CMSCORE_JOBS_INVALID_MONTH",
+ e.toString()));
+ throw new EBaseException(
+ CMS.getUserMessage("CMS_BASE_INVALID_JOB_CRON"));
}
if (st.hasMoreTokens()) {
sDayOWeek = st.nextToken();
- // cDOW.set(sDayOWeek);
+ // cDOW.set(sDayOWeek);
}
/**
- * day-of-month or day-of-week, or both?
- * if only one of them is '*', the non '*' one prevails,
- * the '*' one will remain empty (no elements)
+ * day-of-month or day-of-week, or both? if only one of them is '*', the
+ * non '*' one prevails, the '*' one will remain empty (no elements)
*/
// day-of-week
- if ((sDayOMonth!= null) && sDayOMonth.equals(CronItem.ALL) && (sDayOWeek!= null) && !sDayOWeek.equals(CronItem.ALL)) {
+ if ((sDayOMonth != null) && sDayOMonth.equals(CronItem.ALL)
+ && (sDayOWeek != null) && !sDayOWeek.equals(CronItem.ALL)) {
try {
cDOW.set(sDayOWeek);
} catch (EBaseException e) {
- log(ILogger.LL_FAILURE, CMS.getLogMessage("CMSCORE_JOBS_INVALID_DAY_OF_WEEK", e.toString()));
- throw new EBaseException(CMS.getUserMessage("CMS_BASE_INVALID_JOB_CRON"));
+ log(ILogger.LL_FAILURE,
+ CMS.getLogMessage("CMSCORE_JOBS_INVALID_DAY_OF_WEEK",
+ e.toString()));
+ throw new EBaseException(
+ CMS.getUserMessage("CMS_BASE_INVALID_JOB_CRON"));
}
- } else
- if ((sDayOMonth!= null) && !sDayOMonth.equals(CronItem.ALL) && (sDayOWeek!= null) && sDayOWeek.equals(CronItem.ALL)) {
+ } else if ((sDayOMonth != null) && !sDayOMonth.equals(CronItem.ALL)
+ && (sDayOWeek != null) && sDayOWeek.equals(CronItem.ALL)) {
try {
cDOM.set(sDayOMonth);
} catch (EBaseException e) {
- log(ILogger.LL_FAILURE, CMS.getLogMessage("CMSCORE_JOBS_INVALID_DAY_OF_MONTH", e.toString()));
- throw new EBaseException(CMS.getUserMessage("CMS_BASE_INVALID_JOB_CRON"));
+ log(ILogger.LL_FAILURE, CMS.getLogMessage(
+ "CMSCORE_JOBS_INVALID_DAY_OF_MONTH", e.toString()));
+ throw new EBaseException(
+ CMS.getUserMessage("CMS_BASE_INVALID_JOB_CRON"));
}
} else { // if both '*', every day, if neither is '*', do both
try {
- if (sDayOWeek!= null) {
+ if (sDayOWeek != null) {
cDOW.set(sDayOWeek);
}
} catch (EBaseException e) {
- log(ILogger.LL_FAILURE, CMS.getLogMessage("CMSCORE_JOBS_INVALID_DAY_OF_WEEK", e.toString()));
- throw new EBaseException(CMS.getUserMessage("CMS_BASE_INVALID_JOB_CRON"));
+ log(ILogger.LL_FAILURE,
+ CMS.getLogMessage("CMSCORE_JOBS_INVALID_DAY_OF_WEEK",
+ e.toString()));
+ throw new EBaseException(
+ CMS.getUserMessage("CMS_BASE_INVALID_JOB_CRON"));
}
try {
if (sDayOMonth != null) {
cDOM.set(sDayOMonth);
}
} catch (EBaseException e) {
- log(ILogger.LL_FAILURE, CMS.getLogMessage("CMSCORE_JOBS_INVALID_DAY_OF_MONTH", e.toString()));
- throw new EBaseException(CMS.getUserMessage("CMS_BASE_INVALID_JOB_CRON"));
+ log(ILogger.LL_FAILURE, CMS.getLogMessage(
+ "CMSCORE_JOBS_INVALID_DAY_OF_MONTH", e.toString()));
+ throw new EBaseException(
+ CMS.getUserMessage("CMS_BASE_INVALID_JOB_CRON"));
}
}
}
/**
* retrieves the cron item
- * @param item name of the item. must be one of the <b>CRON_*</b>
- * strings defined in this class
- * @return an instance of the CronItem class which represents the
- * requested cron item
+ *
+ * @param item name of the item. must be one of the <b>CRON_*</b> strings
+ * defined in this class
+ * @return an instance of the CronItem class which represents the requested
+ * cron item
*/
public CronItem getItem(String item) {
if (item.equals(CRON_MINUTE)) {
@@ -204,10 +213,11 @@ public class JobCron implements IJobCron {
/**
* Does the element fit any element in the item
+ *
* @param element the element of "now" in cron format
* @param item the item consists of a vector of elements
- * @return boolean (true/false) on whether the element is one of
- * the elements in the item
+ * @return boolean (true/false) on whether the element is one of the
+ * elements in the item
*/
boolean isElement(int element, Vector item) {
// loop through all of the elements of an item
@@ -220,8 +230,8 @@ public class JobCron implements IJobCron {
return true;
}
} else { // is a range
- if ((element >= cElement.getBegin()) &&
- (element <= cElement.getEnd())) {
+ if ((element >= cElement.getBegin())
+ && (element <= cElement.getEnd())) {
return true;
}
}
@@ -231,11 +241,10 @@ public class JobCron implements IJobCron {
}
/**
- * convert the day of the week representation from Calendar to
- * cron
+ * convert the day of the week representation from Calendar to cron
+ *
* @param time the Calendar value represents a moment of time
- * @return an integer value that represents a cron Day-Of-Week
- * element
+ * @return an integer value that represents a cron Day-Of-Week element
*/
public int DOW_cal2cron(Calendar time) {
int calDow = time.get(Calendar.DAY_OF_WEEK);
@@ -280,9 +289,9 @@ public class JobCron implements IJobCron {
/**
* convert the month of year representation from Calendar to cron
+ *
* @param time the Calendar value represents a moment of time
- * @return an integer value that represents a cron Month-Of-Year
- * element
+ * @return an integer value that represents a cron Month-Of-Year element
*/
public int MOY_cal2cron(Calendar time) {
int calMoy = time.get(Calendar.MONTH);
@@ -351,7 +360,6 @@ public class JobCron implements IJobCron {
protected void log(int level, String msg) {
if (mLogger == null)
return;
- mLogger.log(ILogger.EV_SYSTEM, ILogger.S_OTHER,
- level, msg);
+ mLogger.log(ILogger.EV_SYSTEM, ILogger.S_OTHER, level, msg);
}
}