org.apache.manifoldcf.crawler.jobs
Class ScheduleManager

java.lang.Object
  extended by org.apache.manifoldcf.core.database.BaseTable
      extended by org.apache.manifoldcf.crawler.jobs.ScheduleManager

public class ScheduleManager
extends BaseTable

This class manages the "schedules" table, which contains the automatic execution schedule for each job. It's separated from the main jobs table because we will need multiple timeslots per job.


Field Summary
static java.lang.String _rcsid
           
static java.lang.String dayOfMonthField
           
static java.lang.String dayOfWeekField
           
static java.lang.String hourOfDayField
           
static java.lang.String minutesOfHourField
           
static java.lang.String monthOfYearField
           
static java.lang.String ordinalField
           
static java.lang.String ownerIDField
           
static java.lang.String timezoneField
           
static java.lang.String windowDurationField
           
static java.lang.String yearField
           
 
Fields inherited from class org.apache.manifoldcf.core.database.BaseTable
dbInterface, tableName
 
Constructor Summary
ScheduleManager(IThreadContext threadContext, IDBInterface database)
          Constructor.
 
Method Summary
 void deinstall()
          Uninstall.
 void deleteRows(java.lang.Long ownerID)
          Delete rows.
static java.lang.String enumeratedValueToString(EnumeratedValues values)
          Go from enumerated value to string.
 void getRows(java.util.Map returnValues, java.lang.String ownerIDList, java.util.ArrayList ownerIDParams)
          Fill in a set of schedules corresponding to a set of owner id's.
 void getRowsAlternate(java.util.Map returnValues, java.lang.String ownerIDList, java.util.ArrayList ownerIDParams)
          Fill in a set of schedules corresponding to a set of owner id's.
 void install(java.lang.String ownerTable, java.lang.String owningTablePrimaryKey)
          Install or upgrade.
static EnumeratedValues stringToEnumeratedValue(java.lang.String value)
          Go from string to enumerated value.
 void writeRows(java.lang.Long ownerID, IJobDescription list)
          Write a schedule list into the database.
 
Methods inherited from class org.apache.manifoldcf.core.database.BaseTable
addTableIndex, analyzeTable, beginTransaction, constructDistinctOnClause, constructOffsetLimitClause, constructRegexpClause, constructSubstringClause, endTransaction, getDatabaseCacheKey, getDBInterface, getMaxInClause, getMaxOrClause, getTableIndexes, getTableName, getTableSchema, getTransactionID, makeTableKey, noteModifications, performAddIndex, performAlter, performCreate, performDelete, performDrop, performInsert, performLock, performModification, performQuery, performQuery, performRemoveIndex, performUpdate, prepareRowForSave, readRow, reindexTable, signalRollback
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_rcsid

public static final java.lang.String _rcsid
See Also:
Constant Field Values

ownerIDField

public static final java.lang.String ownerIDField
See Also:
Constant Field Values

ordinalField

public static final java.lang.String ordinalField
See Also:
Constant Field Values

dayOfWeekField

public static final java.lang.String dayOfWeekField
See Also:
Constant Field Values

dayOfMonthField

public static final java.lang.String dayOfMonthField
See Also:
Constant Field Values

monthOfYearField

public static final java.lang.String monthOfYearField
See Also:
Constant Field Values

yearField

public static final java.lang.String yearField
See Also:
Constant Field Values

hourOfDayField

public static final java.lang.String hourOfDayField
See Also:
Constant Field Values

minutesOfHourField

public static final java.lang.String minutesOfHourField
See Also:
Constant Field Values

timezoneField

public static final java.lang.String timezoneField
See Also:
Constant Field Values

windowDurationField

public static final java.lang.String windowDurationField
See Also:
Constant Field Values
Constructor Detail

ScheduleManager

public ScheduleManager(IThreadContext threadContext,
                       IDBInterface database)
                throws ManifoldCFException
Constructor.

Parameters:
threadContext - is the thread context.
database - is the database instance.
Throws:
ManifoldCFException
Method Detail

install

public void install(java.lang.String ownerTable,
                    java.lang.String owningTablePrimaryKey)
             throws ManifoldCFException
Install or upgrade.

Parameters:
ownerTable - is the name of the table that owns this one.
owningTablePrimaryKey - is the primary key of the owning table.
Throws:
ManifoldCFException

deinstall

public void deinstall()
               throws ManifoldCFException
Uninstall.

Throws:
ManifoldCFException

getRows

public void getRows(java.util.Map returnValues,
                    java.lang.String ownerIDList,
                    java.util.ArrayList ownerIDParams)
             throws ManifoldCFException
Fill in a set of schedules corresponding to a set of owner id's.

Parameters:
returnValues - is a map keyed by ownerID, with value of JobDescription.
ownerIDList - is the list of owner id's.
ownerIDParams - is the corresponding set of owner id parameters.
Throws:
ManifoldCFException

getRowsAlternate

public void getRowsAlternate(java.util.Map returnValues,
                             java.lang.String ownerIDList,
                             java.util.ArrayList ownerIDParams)
                      throws ManifoldCFException
Fill in a set of schedules corresponding to a set of owner id's.

Parameters:
returnValues - is a map keyed by ownerID, with a value that is an ArrayList of ScheduleRecord objects.
ownerIDList - is the list of owner id's.
ownerIDParams - is the corresponding set of owner id parameters.
Throws:
ManifoldCFException

writeRows

public void writeRows(java.lang.Long ownerID,
                      IJobDescription list)
               throws ManifoldCFException
Write a schedule list into the database.

Parameters:
ownerID - is the owning identifier.
list - is the job description that is the source of the schedule.
Throws:
ManifoldCFException

deleteRows

public void deleteRows(java.lang.Long ownerID)
                throws ManifoldCFException
Delete rows.

Parameters:
ownerID - is the owner whose rows to delete.
Throws:
ManifoldCFException

stringToEnumeratedValue

public static EnumeratedValues stringToEnumeratedValue(java.lang.String value)
                                                throws ManifoldCFException
Go from string to enumerated value.

Parameters:
value - is the input.
Returns:
the enumerated value.
Throws:
ManifoldCFException

enumeratedValueToString

public static java.lang.String enumeratedValueToString(EnumeratedValues values)
Go from enumerated value to string.

Parameters:
values - is the enumerated value.
Returns:
the string value.