/* * (non-Javadoc) * * @see * org.opengeoportal.harvester.api.service.IngestService#saveAndSchedule * (org.opengeoportal.harvester.api.domain.Ingest, java.lang.Long, * org.opengeoportal.harvester.api.domain.InstanceType) */ @Override @Transactional public Ingest saveAndSchedule( Ingest ingest, Long customRepositoryId, InstanceType typeOfInstance) { ingest.setScheduled(true); Ingest savedIngest = save(ingest, customRepositoryId, typeOfInstance); scheduler.scheduleIngest(savedIngest); return savedIngest; }
/* * (non-Javadoc) * * @see * org.opengeoportal.harvester.api.service.IngestService#saveAndSchedule * (org.opengeoportal.harvester.api.domain.Ingest) */ @Override @Transactional public Ingest saveAndSchedule(Ingest ingest) { ingest.setScheduled(true); Ingest savedIngest; if (ingest instanceof IngestOGP) { savedIngest = saveAndUpdateServerQuery(ingest); } else { savedIngest = save(ingest); } scheduler.scheduleIngest(savedIngest); return savedIngest; }
/* * (non-Javadoc) * * @see * org.opengeoportal.harvester.api.service.IngestService#unscheduleByRepository * (Long repositoryId) */ @Override @Transactional public int unscheduleByRepository(Long repositoryId) { List<Ingest> scheduledIngests = ingestRepository.findByRepositoryIdAndScheduledTrue(repositoryId); for (Ingest ingest : scheduledIngests) { try { scheduler.unschedule(ingest); } catch (SchedulerException e) { if (logger.isWarnEnabled()) { logger.warn("Cannot unschedule ingest with id " + ingest.getId(), e); } } } return ingestRepository.setScheduledForRepositoryId(repositoryId); }
@Override @Transactional public boolean interruptIngest(Long id) { if (logger.isInfoEnabled()) { logger.info("Interrupting ingest with id " + id); } boolean interrupted = true; Ingest ingest = findById(id); if (ingest != null) { try { interrupted = scheduler.interrupt(ingest); } catch (SchedulerException se) { if (logger.isErrorEnabled()) { logger.error("Cannot interrupt inget id = " + id); } } } return interrupted; }
/* * (non-Javadoc) * * @see * org.opengeoportal.harvester.api.service.IngestService#unscheduleIngest * (java.lang.Long) */ @Override @Transactional public boolean unscheduleIngest(Long id) { boolean unscheduled = false; Ingest ingest = findById(id); if (ingest != null) { try { unscheduled = scheduler.unschedule(ingest); ingest.setScheduled(false); ingest = save(ingest); unscheduled = true; } catch (SchedulerException e) { if (logger.isErrorEnabled()) { logger.error("Cannot unschedule ingest id = " + ingest.getId()); } } } else { unscheduled = true; } return unscheduled; }
/* * (non-Javadoc) * * @see org.opengeoportal.harvester.api.service.IngestService# * getCurrentlyExecutingJobs() */ @Override @Transactional public SortedSet<Long> getCurrentlyExecutingJobs() { return scheduler.getCurrentlyExecutingJobs(); }
/* * (non-Javadoc) * * @see * org.opengeoportal.harvester.api.service.IngestService#getNextRun(org. * opengeoportal.harvester.api.domain.Ingest) */ @Override @Transactional public Date getNextRun(Ingest ingest) { Date nextRun = scheduler.getNextRun(ingest); return nextRun; }