summaryrefslogtreecommitdiffstats
path: root/pki/base/common/src/com/netscape/cmscore/jobs/CronItem.java
diff options
context:
space:
mode:
Diffstat (limited to 'pki/base/common/src/com/netscape/cmscore/jobs/CronItem.java')
-rw-r--r--pki/base/common/src/com/netscape/cmscore/jobs/CronItem.java168
1 files changed, 0 insertions, 168 deletions
diff --git a/pki/base/common/src/com/netscape/cmscore/jobs/CronItem.java b/pki/base/common/src/com/netscape/cmscore/jobs/CronItem.java
deleted file mode 100644
index 91574c6cc..000000000
--- a/pki/base/common/src/com/netscape/cmscore/jobs/CronItem.java
+++ /dev/null
@@ -1,168 +0,0 @@
-// --- BEGIN COPYRIGHT BLOCK ---
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; version 2 of the License.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this program; if not, write to the Free Software Foundation, Inc.,
-// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-//
-// (C) 2007 Red Hat, Inc.
-// All rights reserved.
-// --- END COPYRIGHT BLOCK ---
-package com.netscape.cmscore.jobs;
-
-import java.util.StringTokenizer;
-import java.util.Vector;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.certsrv.base.EBaseException;
-import com.netscape.certsrv.logging.ILogger;
-
-/**
- * class representing one Job cron item
- * <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.
- * <p>
- * for each of the 5 cron fields, it's represented as a CronItem
- *
- * @author cfu
- * @version $Revision$, $Date$
- */
-public class CronItem {
- protected static final String ALL = "*";
- protected static final String DELIM = ",";
- protected static final String RANGE = "-";
- private ILogger mLogger = CMS.getLogger();
-
- int mMin; // minimum
- int mMax; // maximum
-
- // store all elements in a field.
- // elements can either be numbers or ranges (CronRange)
- protected Vector<CronRange> mElements = new Vector<CronRange>();
-
- public CronItem(int min, int max) {
- mMin = min;
- mMax = max;
- }
-
- /**
- * parses and sets a string cron item
- *
- * @param sItem the string representing an item of a cron string.
- * item can be potentially comma separated with ranges specified
- * with '-'s
- */
- public void set(String sItem) throws EBaseException {
-
- if (sItem.equals(ALL)) {
- // System.out.println("CronItem set(): item is ALL");
- CronRange cr = new CronRange();
-
- cr.setBegin(mMin);
- cr.setEnd(mMax);
- mElements.addElement(cr);
- } else {
- // break comma-separated elements
- StringTokenizer st = new StringTokenizer(sItem, DELIM);
-
- while (st.hasMoreTokens()) {
- String tok = (String) st.nextToken();
- // elements could be ranges (separated by '-')
- int r = tok.indexOf(RANGE);
-
- if (r != -1) {
- // potential range
- String sBegin = tok.substring(0, r);
- int begin = 0;
- int end = 0;
-
- try {
- begin = Integer.parseInt(sBegin);
- } catch (NumberFormatException e) {
- // throw ...
- log(ILogger.LL_FAILURE,
- CMS.getLogMessage("CMSCORE_JOBS_INVALID_TOKEN", tok, e.toString()));
- throw new EBaseException(CMS.getUserMessage("CMS_BASE_INVALID_JOB_CRON"));
- }
- String sEnd = tok.substring(r + 1, tok.length());
-
- try {
- end = Integer.parseInt(sEnd);
- } catch (NumberFormatException e) {
- // throw ...
- log(ILogger.LL_FAILURE,
- CMS.getLogMessage("CMSCORE_JOBS_INVALID_TOKEN", tok, e.toString()));
- throw new EBaseException(CMS.getUserMessage("CMS_BASE_INVALID_JOB_CRON"));
- }
- // got both begin and end for range
- CronRange cr = new CronRange();
-
- cr.setBegin(begin);
- cr.setEnd(end);
- // check range
- if (!cr.isValidRange(mMin, mMax)) {
- // throw...
- log(ILogger.LL_FAILURE,
- CMS.getLogMessage("CMSCORE_JOBS_INVALID_RANGE",
- tok));
- throw new EBaseException(CMS.getUserMessage("CMS_BASE_INVALID_JOB_CRON"));
- }
- // System.out.println("CronItem set(): adding a range");
- mElements.addElement(cr);
- } else {
- // number element, begin and end are the same
- try {
- CronRange cr = new CronRange();
- int num = Integer.parseInt(tok);
-
- cr.setBegin(num);
- cr.setEnd(num);
- // check range
- if (!cr.isValidRange(mMin, mMax)) {
- // throw...
- log(ILogger.LL_FAILURE,
- CMS.getLogMessage("CMSCORE_JOBS_INVALID_MIN_MAX_RANGE", Integer.toString(mMin),
- Integer.toString(mMax)));
- throw new EBaseException(CMS.getUserMessage("CMS_BASE_INVALID_JOB_CRON"));
- }
- // System.out.println("CronItem set(): adding a number");
- mElements.addElement(cr);
- } catch (NumberFormatException e) {
- // throw...
- log(ILogger.LL_FAILURE,
- "invalid item in cron: " + tok);
- throw new EBaseException(CMS.getUserMessage("CMS_BASE_INVALID_JOB_CRON"));
- }
- }
- }
- }
- }
-
- /**
- * get the vector stuffed with elements where each element is
- * represented as CronRange
- *
- * @return a vector of CronRanges
- */
- public Vector<CronRange> getElements() {
- return mElements;
- }
-
- /**
- * logs an entry in the log file.
- */
- protected void log(int level, String msg) {
- if (mLogger == null)
- return;
- mLogger.log(ILogger.EV_SYSTEM, ILogger.S_OTHER,
- level, "jobs/CronItem: " + msg);
- }
-}