/** * Commits the edited scheduled job to the scheduler.<p> */ @Override public void actionCommit() { List<Throwable> errors = new ArrayList<Throwable>(); try { // schedule the edited job OpenCms.getScheduleManager().scheduleJob(getCms(), m_jobInfo); // update the XML configuration OpenCms.writeConfiguration(CmsSystemConfiguration.class); // refresh the list Map<?, ?> objects = (Map<?, ?>)getSettings().getListObject(); if (objects != null) { objects.remove(CmsSchedulerList.class.getName()); } } catch (Throwable t) { errors.add(t); } // set the list of errors to display when saving failed setCommitErrors(errors); }
/** * @see org.opencms.workplace.list.A_CmsListDialog#fillDetails(java.lang.String) */ @Override protected void fillDetails(String detailId) { // get all scheduled jobs from manager Iterator<CmsListItem> i = getList().getAllContent().iterator(); while (i.hasNext()) { CmsListItem item = i.next(); CmsScheduledJobInfo job = OpenCms.getScheduleManager().getJob(item.getId()); if (detailId.equals(LIST_DETAIL_CONTEXTINFO)) { // job details: context info item.set(LIST_DETAIL_CONTEXTINFO, job.getContextInfo()); } else if (detailId.equals(LIST_DETAIL_PARAMETER)) { // job details: parameter StringBuffer params = new StringBuffer(32); Iterator<String> paramIt = job.getParameters().keySet().iterator(); while (paramIt.hasNext()) { String param = paramIt.next(); String value = job.getParameters().get(param); params.append(param).append("="); params.append(value).append("<br>"); } item.set(LIST_DETAIL_PARAMETER, params); } else { continue; } } }
/** * Generates the schedule manager.<p> */ public void addScheduleManager() { m_scheduleManager = new CmsScheduleManager(m_configuredJobs); }
CmsScheduledJobInfo job = (CmsScheduledJobInfo)OpenCms.getScheduleManager().getJob(jobId).clone(); job.setActive(true); try { OpenCms.getScheduleManager().scheduleJob(getCms(), job); CmsScheduledJobInfo job = (CmsScheduledJobInfo)OpenCms.getScheduleManager().getJob(jobId).clone(); job.setActive(false); try { OpenCms.getScheduleManager().scheduleJob(getCms(), job); OpenCms.getScheduleManager().unscheduleJob(getCms(), jobId); String jobId = getSelectedItem().getId(); CmsScheduleManager scheduler = OpenCms.getScheduleManager(); scheduler.executeDirectly(jobId); } else { throwListUnsupportedActionException();
CmsListItem listItem = itItems.next(); try { OpenCms.getScheduleManager().unscheduleJob(getCms(), listItem.getId()); removedItems.add(listItem.getId()); } catch (CmsException e) { CmsScheduledJobInfo job = (CmsScheduledJobInfo)OpenCms.getScheduleManager().getJob( listItem.getId()).clone(); job.setActive(activate); OpenCms.getScheduleManager().scheduleJob(getCms(), job); } catch (CmsException e) { throw new CmsRuntimeException(
Iterator<CmsScheduledJobInfo> iter = OpenCms.getScheduleManager().getJobs().iterator(); while (iter.hasNext()) { CmsScheduledJobInfo jobInfo = iter.next(); OpenCms.getScheduleManager().unscheduleJob(cms, jobId);
/** * @see org.opencms.workplace.list.A_CmsListDialog#getListItems() */ @Override protected List<CmsListItem> getListItems() { List<CmsListItem> items = new ArrayList<CmsListItem>(); // get all scheduled jobs from manager Iterator<CmsScheduledJobInfo> i = OpenCms.getScheduleManager().getJobs().iterator(); while (i.hasNext()) { CmsScheduledJobInfo job = i.next(); CmsListItem item = getList().newItem(job.getId()); // set the contents of the columns item.set(LIST_COLUMN_NAME, job.getJobName()); item.set(LIST_COLUMN_CLASS, job.getClassName()); item.set(LIST_COLUMN_LASTEXE, job.getExecutionTimePrevious()); item.set(LIST_COLUMN_NEXTEXE, job.getExecutionTimeNext()); item.set(LIST_COLUMN_ACTIVE, Boolean.valueOf(job.isActive())); items.add(item); } return items; }
oldJob = unscheduleJob(cms, jobId); if (oldJob == null) { CmsMessageContainer message = Messages.get().container(Messages.ERR_JOB_WITH_ID_DOES_NOT_EXIST_1, jobId);
cms = OpenCms.initCmsObject(OpenCms.getScheduleManager().getAdminCms(), jobInfo.getContextInfo());
m_scheduleManager.shutDown();
m_scheduleManager.initialize(initCmsObject(adminCms));
Iterator<CmsScheduledJobInfo> iter = OpenCms.getScheduleManager().getJobs().iterator(); while (iter.hasNext()) { CmsScheduledJobInfo jobInfo = iter.next(); OpenCms.getScheduleManager().unscheduleJob(cms, jobId);
/** * Reloads the job table data.<p> */ public void reloadJobs() { m_beanContainer.removeAllItems(); for (CmsScheduledJobInfo job : OpenCms.getScheduleManager().getJobs()) { m_beanContainer.addBean(new CmsJobBean(job)); } sort(); refreshRowCache(); }
oldJob = unscheduleJob(cms, jobId); if (oldJob == null) { CmsMessageContainer message = Messages.get().container(
cms = OpenCms.initCmsObject(OpenCms.getScheduleManager().getAdminCms(), jobInfo.getContextInfo());
m_scheduleManager.shutDown();
m_scheduleManager.initialize(initCmsObject(adminCms));
/** * Writes a job to the configuration and reloads the table.<p> * * @param jobInfo the job bean * * @throws CmsException if something goes wrong */ private void writeChangedJob(CmsScheduledJobInfo jobInfo) throws CmsException { // schedule the edited job OpenCms.getScheduleManager().scheduleJob(A_CmsUI.getCmsObject(), jobInfo); // update the XML configuration OpenCms.writeConfiguration(CmsSystemConfiguration.class); reloadJobs(); }
/** * Given a job ID, this directly executes the corresponding job.<p> * * @param jobId the job id */ public void executeDirectly(String jobId) { final CmsScheduledJobInfo jobInfo = (CmsScheduledJobInfo)getJob(jobId).clone(); if (jobInfo == null) { LOG.error(Messages.get().getBundle().key(Messages.LOG_INVALID_JOB_1, "null")); return; } Thread thread = new Thread() { /** * @see java.lang.Thread#run() */ @Override public void run() { executeJob(jobInfo); } }; thread.start(); }
m_configuredJobs = OpenCms.getScheduleManager().getJobs(); m_historyEnabled = OpenCms.getSystemInfo().isHistoryEnabled(); m_historyVersions = OpenCms.getSystemInfo().getHistoryVersions();