throws JobExecutionException
{
JobDataMap dataMap = context.getJobDetail().getJobDataMap();
setJobDataMap( dataMap );
TaskQueue taskQueue = (TaskQueue) dataMap.get( TASK_QUEUE );
String queuePolicy = dataMap.get( TASK_QUEUE_POLICY ).toString();
RepositoryTask task = new DataRefreshTask();
task.setJobName( context.getJobDetail().getName() );
try
{
if ( taskQueue.getQueueSnapshot().size() == 0 )
{
taskQueue.put( task );
}
else
{
if ( RepositoryTask.QUEUE_POLICY_WAIT.equals( queuePolicy ) )
{
taskQueue.put( task );
}
else if ( RepositoryTask.QUEUE_POLICY_SKIP.equals( queuePolicy ) )
{
// do not queue anymore, policy is to skip
}