1 31 32 package org.opencms.workplace.tools.scheduler; 33 34 import org.opencms.configuration.CmsSystemConfiguration; 35 import org.opencms.i18n.CmsMessageContainer; 36 import org.opencms.jsp.CmsJspActionElement; 37 import org.opencms.main.CmsException; 38 import org.opencms.main.CmsRuntimeException; 39 import org.opencms.main.OpenCms; 40 import org.opencms.scheduler.CmsScheduledJobInfo; 41 import org.opencms.security.CmsRoleViolationException; 42 import org.opencms.workplace.CmsDialog; 43 import org.opencms.workplace.list.A_CmsListDialog; 44 import org.opencms.workplace.list.CmsListColumnAlignEnum; 45 import org.opencms.workplace.list.CmsListColumnDefinition; 46 import org.opencms.workplace.list.CmsListDateMacroFormatter; 47 import org.opencms.workplace.list.CmsListDefaultAction; 48 import org.opencms.workplace.list.CmsListDirectAction; 49 import org.opencms.workplace.list.CmsListItem; 50 import org.opencms.workplace.list.CmsListItemActionIconComparator; 51 import org.opencms.workplace.list.CmsListItemDefaultComparator; 52 import org.opencms.workplace.list.CmsListItemDetails; 53 import org.opencms.workplace.list.CmsListItemDetailsFormatter; 54 import org.opencms.workplace.list.CmsListMetadata; 55 import org.opencms.workplace.list.CmsListMultiAction; 56 import org.opencms.workplace.list.CmsListOrderEnum; 57 58 import java.io.IOException ; 59 import java.util.ArrayList ; 60 import java.util.HashMap ; 61 import java.util.Iterator ; 62 import java.util.List ; 63 import java.util.Map ; 64 65 import javax.servlet.ServletException ; 66 import javax.servlet.http.HttpServletRequest ; 67 import javax.servlet.http.HttpServletResponse ; 68 import javax.servlet.jsp.PageContext ; 69 70 82 public class CmsSchedulerList extends A_CmsListDialog { 83 84 85 public static final String LIST_ACTION_ACTIVATE = "aa"; 86 87 88 public static final String LIST_ACTION_COPY = "ac"; 89 90 91 public static final String LIST_ACTION_DEACTIVATE = "at"; 92 93 94 public static final String LIST_ACTION_DELETE = "ad"; 95 96 97 public static final String LIST_ACTION_EDIT = "ae"; 98 99 100 public static final String LIST_COLUMN_ACTIVATE = "ca"; 101 102 103 public static final String LIST_COLUMN_CLASS = "cs"; 104 105 106 public static final String LIST_COLUMN_COPY = "cc"; 107 108 109 public static final String LIST_COLUMN_DELETE = "cd"; 110 111 112 public static final String LIST_COLUMN_EDIT = "ce"; 113 114 115 public static final String LIST_COLUMN_LASTEXE = "cl"; 116 117 118 public static final String LIST_COLUMN_NAME = "cn"; 119 120 121 public static final String LIST_COLUMN_NEXTEXE = "cx"; 122 123 124 public static final String LIST_DEFACTION_EDIT = "de"; 125 126 127 public static final String LIST_DETAIL_CONTEXTINFO = "dc"; 128 129 130 public static final String LIST_DETAIL_PARAMETER = "dp"; 131 132 133 public static final String LIST_ID = "lj"; 134 135 136 public static final String LIST_MACTION_ACTIVATE = "ma"; 137 138 139 public static final String LIST_MACTION_DEACTIVATE = "mc"; 140 141 142 public static final String LIST_MACTION_DELETE = "md"; 143 144 145 public static final String PATH_BUTTONS = "tools/scheduler/buttons/"; 146 147 152 public CmsSchedulerList(CmsJspActionElement jsp) { 153 154 super( 155 jsp, 156 LIST_ID, 157 new CmsMessageContainer(Messages.get(), Messages.GUI_JOBS_LIST_NAME_0), 158 LIST_COLUMN_NAME, 159 CmsListOrderEnum.ORDER_ASCENDING, 160 LIST_COLUMN_NAME); 161 } 162 163 170 public CmsSchedulerList(PageContext context, HttpServletRequest req, HttpServletResponse res) { 171 172 this(new CmsJspActionElement(context, req, res)); 173 } 174 175 183 public void executeListMultiActions() throws CmsRuntimeException { 184 185 CmsListItem listItem = null; 186 if (getParamListAction().equals(LIST_MACTION_DELETE)) { 187 List removedItems = new ArrayList (); 189 try { 190 Iterator itItems = getSelectedItems().iterator(); 191 while (itItems.hasNext()) { 192 listItem = (CmsListItem)itItems.next(); 193 OpenCms.getScheduleManager().unscheduleJob(getCms(), listItem.getId()); 194 removedItems.add(listItem.getId()); 195 } 196 writeConfiguration(false); 198 } catch (CmsException e) { 199 throw new CmsRuntimeException(Messages.get().container( 200 Messages.ERR_UNSCHEDULE_JOB_1, 201 (listItem == null) ? (Object )"?" : new Integer (listItem.getId())), e); 202 } finally { 203 getList().removeAllItems(removedItems, getLocale()); 204 } 205 } else if (getParamListAction().equals(LIST_MACTION_ACTIVATE) 206 || getParamListAction().equals(LIST_MACTION_DEACTIVATE)) { 207 try { 209 Iterator itItems = getSelectedItems().iterator(); 210 boolean activate = getParamListAction().equals(LIST_MACTION_ACTIVATE); 211 while (itItems.hasNext()) { 212 listItem = (CmsListItem)itItems.next(); 214 CmsScheduledJobInfo job = (CmsScheduledJobInfo)OpenCms.getScheduleManager().getJob(listItem.getId()).clone(); 215 job.setActive(activate); 216 OpenCms.getScheduleManager().scheduleJob(getCms(), job); 217 } 218 writeConfiguration(true); 220 } catch (CmsException e) { 221 throw new CmsRuntimeException(Messages.get().container( 222 Messages.ERR_SCHEDULE_JOB_1, 223 (listItem == null) ? (Object )"?" : new Integer (listItem.getId())), e); 224 } 225 } else { 226 throwListUnsupportedActionException(); 227 } 228 listSave(); 229 } 230 231 234 public void executeListSingleActions() throws IOException , ServletException { 235 236 if (getParamListAction().equals(LIST_ACTION_EDIT) || getParamListAction().equals(LIST_DEFACTION_EDIT)) { 237 String jobId = getSelectedItem().getId(); 239 Map params = new HashMap (); 241 params.put(CmsEditScheduledJobInfoDialog.PARAM_JOBID, jobId); 242 params.put(CmsDialog.PARAM_ACTION, CmsDialog.DIALOG_INITIAL); 244 getToolManager().jspForwardTool(this, "/scheduler/edit", params); 245 } else if (getParamListAction().equals(LIST_ACTION_COPY)) { 246 String jobId = getSelectedItem().getId(); 248 Map params = new HashMap (); 250 params.put(CmsEditScheduledJobInfoDialog.PARAM_JOBID, jobId); 251 params.put(CmsDialog.PARAM_ACTION, CmsEditScheduledJobInfoDialog.DIALOG_COPYJOB); 253 getToolManager().jspForwardTool(this, "/scheduler/new", params); 254 } else if (getParamListAction().equals(LIST_ACTION_ACTIVATE)) { 255 String jobId = getSelectedItem().getId(); 257 CmsScheduledJobInfo job = (CmsScheduledJobInfo)OpenCms.getScheduleManager().getJob(jobId).clone(); 258 job.setActive(true); 259 try { 260 OpenCms.getScheduleManager().scheduleJob(getCms(), job); 261 writeConfiguration(true); 263 } catch (CmsException e) { 264 throw new CmsRuntimeException(Messages.get().container(Messages.ERR_SCHEDULE_JOB_1, jobId), e); 266 } 267 } else if (getParamListAction().equals(LIST_ACTION_DEACTIVATE)) { 268 String jobId = getSelectedItem().getId(); 270 CmsScheduledJobInfo job = (CmsScheduledJobInfo)OpenCms.getScheduleManager().getJob(jobId).clone(); 271 job.setActive(false); 272 try { 273 OpenCms.getScheduleManager().scheduleJob(getCms(), job); 274 writeConfiguration(true); 276 } catch (CmsException e) { 277 throw new CmsRuntimeException(Messages.get().container(Messages.ERR_UNSCHEDULE_JOB_1, jobId), e); 279 } 280 } else if (getParamListAction().equals(LIST_ACTION_DELETE)) { 281 String jobId = getSelectedItem().getId(); 283 try { 284 OpenCms.getScheduleManager().unscheduleJob(getCms(), jobId); 285 writeConfiguration(false); 287 getList().removeItem(jobId, getLocale()); 288 } catch (CmsRoleViolationException e) { 289 throw new CmsRuntimeException(Messages.get().container(Messages.ERR_DELETE_JOB_1, jobId), e); 291 } 292 } else { 293 throwListUnsupportedActionException(); 294 } 295 listSave(); 296 } 297 298 301 protected void fillDetails(String detailId) { 302 303 Iterator i = getList().getAllContent().iterator(); 305 while (i.hasNext()) { 306 CmsListItem item = (CmsListItem)i.next(); 307 CmsScheduledJobInfo job = OpenCms.getScheduleManager().getJob(item.getId()); 308 if (detailId.equals(LIST_DETAIL_CONTEXTINFO)) { 309 item.set(LIST_DETAIL_CONTEXTINFO, job.getContextInfo()); 311 } else if (detailId.equals(LIST_DETAIL_PARAMETER)) { 312 StringBuffer params = new StringBuffer (32); 314 Iterator paramIt = job.getParameters().keySet().iterator(); 315 while (paramIt.hasNext()) { 316 String param = (String )paramIt.next(); 317 String value = (String )job.getParameters().get(param); 318 params.append(param).append("="); 319 params.append(value).append("<br>"); 320 } 321 item.set(LIST_DETAIL_PARAMETER, params); 322 } else { 323 continue; 324 } 325 } 326 } 327 328 331 protected List getListItems() { 332 333 List items = new ArrayList (); 334 335 Iterator i = OpenCms.getScheduleManager().getJobs().iterator(); 337 while (i.hasNext()) { 338 CmsScheduledJobInfo job = (CmsScheduledJobInfo)i.next(); 339 CmsListItem item = getList().newItem(job.getId().toString()); 340 item.set(LIST_COLUMN_NAME, job.getJobName()); 342 item.set(LIST_COLUMN_CLASS, job.getClassName()); 343 item.set(LIST_COLUMN_LASTEXE, job.getExecutionTimePrevious()); 344 item.set(LIST_COLUMN_NEXTEXE, job.getExecutionTimeNext()); 345 items.add(item); 346 } 347 348 return items; 349 } 350 351 354 protected void initMessages() { 355 356 addMessages(Messages.get().getBundleName()); 358 super.initMessages(); 360 } 361 362 365 protected void setColumns(CmsListMetadata metadata) { 366 367 CmsListColumnDefinition editCol = new CmsListColumnDefinition(LIST_COLUMN_EDIT); 369 editCol.setName(Messages.get().container(Messages.GUI_JOBS_LIST_COL_EDIT_0)); 370 editCol.setHelpText(Messages.get().container(Messages.GUI_JOBS_LIST_COL_EDIT_HELP_0)); 371 editCol.setWidth("20"); 372 editCol.setAlign(CmsListColumnAlignEnum.ALIGN_CENTER); 373 editCol.setSorteable(false); 374 CmsListDirectAction editColAction = new CmsListDirectAction(LIST_ACTION_EDIT); 376 editColAction.setName(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_EDIT_NAME_0)); 377 editColAction.setIconPath(PATH_BUTTONS + "edit.png"); 378 editColAction.setHelpText(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_EDIT_HELP_0)); 379 editColAction.setConfirmationMessage(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_EDIT_CONF_0)); 380 editCol.addDirectAction(editColAction); 382 metadata.addColumn(editCol); 383 384 CmsListColumnDefinition activateCol = new CmsListColumnDefinition(LIST_COLUMN_ACTIVATE); 386 activateCol.setName(Messages.get().container(Messages.GUI_JOBS_LIST_COL_ACTIVE_0)); 387 activateCol.setHelpText(Messages.get().container(Messages.GUI_JOBS_LIST_COL_ACTIVE_HELP_0)); 388 activateCol.setWidth("20"); 389 activateCol.setAlign(CmsListColumnAlignEnum.ALIGN_CENTER); 390 activateCol.setListItemComparator(new CmsListItemActionIconComparator()); 391 392 CmsListDirectAction jobActAction = new CmsListDirectAction(LIST_ACTION_ACTIVATE) { 394 395 398 public boolean isVisible() { 399 400 if (getItem() != null) { 401 String jobId = getItem().getId(); 402 CmsScheduledJobInfo job = OpenCms.getScheduleManager().getJob(jobId); 403 return !job.isActive(); 404 } 405 return super.isVisible(); 406 } 407 }; 408 jobActAction.setName(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_ACTIVATE_NAME_0)); 409 jobActAction.setConfirmationMessage(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_ACTIVATE_CONF_0)); 410 jobActAction.setIconPath(ICON_INACTIVE); 411 jobActAction.setHelpText(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_ACTIVATE_HELP_0)); 412 activateCol.addDirectAction(jobActAction); 413 414 CmsListDirectAction jobDeactAction = new CmsListDirectAction(LIST_ACTION_DEACTIVATE) { 416 417 420 public boolean isVisible() { 421 422 if (getItem() != null) { 423 String jobId = getItem().getId(); 424 CmsScheduledJobInfo job = OpenCms.getScheduleManager().getJob(jobId); 425 return job.isActive(); 426 } 427 return super.isVisible(); 428 } 429 }; 430 jobDeactAction.setName(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_DEACTIVATE_NAME_0)); 431 jobDeactAction.setConfirmationMessage(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_DEACTIVATE_CONF_0)); 432 jobDeactAction.setIconPath(ICON_ACTIVE); 433 jobDeactAction.setHelpText(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_DEACTIVATE_HELP_0)); 434 activateCol.addDirectAction(jobDeactAction); 435 436 metadata.addColumn(activateCol); 437 438 CmsListColumnDefinition copyCol = new CmsListColumnDefinition(LIST_COLUMN_COPY); 440 copyCol.setName(Messages.get().container(Messages.GUI_JOBS_LIST_COL_COPY_0)); 441 copyCol.setHelpText(Messages.get().container(Messages.GUI_JOBS_LIST_COL_COPY_HELP_0)); 442 copyCol.setWidth("20"); 443 copyCol.setAlign(CmsListColumnAlignEnum.ALIGN_CENTER); 444 copyCol.setListItemComparator(null); 445 CmsListDirectAction copyJob = new CmsListDirectAction(LIST_ACTION_COPY); 447 copyJob.setName(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_COPY_NAME_0)); 448 copyJob.setConfirmationMessage(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_COPY_CONF_0)); 449 copyJob.setIconPath(PATH_BUTTONS + "copy.png"); 450 copyJob.setHelpText(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_COPY_HELP_0)); 451 copyCol.addDirectAction(copyJob); 452 metadata.addColumn(copyCol); 453 454 CmsListColumnDefinition delCol = new CmsListColumnDefinition(LIST_COLUMN_DELETE); 456 delCol.setName(Messages.get().container(Messages.GUI_JOBS_LIST_COL_DELETE_0)); 457 delCol.setHelpText(Messages.get().container(Messages.GUI_JOBS_LIST_COL_DELETE_HELP_0)); 458 delCol.setWidth("20"); 459 delCol.setAlign(CmsListColumnAlignEnum.ALIGN_CENTER); 460 delCol.setListItemComparator(null); 461 CmsListDirectAction delJob = new CmsListDirectAction(LIST_ACTION_DELETE); 463 delJob.setName(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_DELETE_NAME_0)); 464 delJob.setConfirmationMessage(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_DELETE_CONF_0)); 465 delJob.setIconPath(ICON_DELETE); 466 delJob.setHelpText(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_DELETE_HELP_0)); 467 delCol.addDirectAction(delJob); 468 metadata.addColumn(delCol); 469 470 CmsListColumnDefinition nameCol = new CmsListColumnDefinition(LIST_COLUMN_NAME); 472 nameCol.setName(Messages.get().container(Messages.GUI_JOBS_LIST_COL_NAME_0)); 473 nameCol.setWidth("30%"); 474 nameCol.setAlign(CmsListColumnAlignEnum.ALIGN_LEFT); 475 nameCol.setListItemComparator(new CmsListItemDefaultComparator()); 476 CmsListDefaultAction nameColAction = new CmsListDefaultAction(LIST_DEFACTION_EDIT); 478 nameColAction.setName(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_EDIT_NAME_0)); 479 nameColAction.setHelpText(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_EDIT_HELP_0)); 480 nameColAction.setConfirmationMessage(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_EDIT_CONF_0)); 481 nameCol.addDefaultAction(nameColAction); 483 metadata.addColumn(nameCol); 484 485 CmsListColumnDefinition classCol = new CmsListColumnDefinition(LIST_COLUMN_CLASS); 487 classCol.setName(Messages.get().container(Messages.GUI_JOBS_LIST_COL_CLASS_0)); 488 classCol.setWidth("20%"); 489 classCol.setAlign(CmsListColumnAlignEnum.ALIGN_LEFT); 490 classCol.setListItemComparator(new CmsListItemDefaultComparator()); 491 metadata.addColumn(classCol); 492 493 CmsListColumnDefinition lastExecCol = new CmsListColumnDefinition(LIST_COLUMN_LASTEXE); 495 lastExecCol.setName(Messages.get().container(Messages.GUI_JOBS_LIST_COL_LASTEXE_0)); 496 lastExecCol.setWidth("25%"); 497 lastExecCol.setAlign(CmsListColumnAlignEnum.ALIGN_LEFT); 498 lastExecCol.setListItemComparator(new CmsListItemDefaultComparator()); 499 lastExecCol.setFormatter(CmsListDateMacroFormatter.getDefaultDateFormatter()); 501 metadata.addColumn(lastExecCol); 502 503 CmsListColumnDefinition nextExecCol = new CmsListColumnDefinition(LIST_COLUMN_NEXTEXE); 505 nextExecCol.setName(Messages.get().container(Messages.GUI_JOBS_LIST_COL_NEXTEXE_0)); 506 nextExecCol.setWidth("25%"); 507 nextExecCol.setAlign(CmsListColumnAlignEnum.ALIGN_LEFT); 508 nextExecCol.setListItemComparator(new CmsListItemDefaultComparator()); 509 nextExecCol.setFormatter(CmsListDateMacroFormatter.getDefaultDateFormatter()); 511 metadata.addColumn(nextExecCol); 512 } 513 514 517 protected void setIndependentActions(CmsListMetadata metadata) { 518 519 CmsListItemDetails jobsContextInfoDetails = new CmsListItemDetails(LIST_DETAIL_CONTEXTINFO); 521 jobsContextInfoDetails.setAtColumn(LIST_COLUMN_NAME); 522 jobsContextInfoDetails.setVisible(false); 523 jobsContextInfoDetails.setShowActionName(Messages.get().container( 524 Messages.GUI_JOBS_DETAIL_SHOW_CONTEXTINFO_NAME_0)); 525 jobsContextInfoDetails.setShowActionHelpText(Messages.get().container( 526 Messages.GUI_JOBS_DETAIL_SHOW_CONTEXTINFO_HELP_0)); 527 jobsContextInfoDetails.setHideActionName(Messages.get().container( 528 Messages.GUI_JOBS_DETAIL_HIDE_CONTEXTINFO_NAME_0)); 529 jobsContextInfoDetails.setHideActionHelpText(Messages.get().container( 530 Messages.GUI_JOBS_DETAIL_HIDE_CONTEXTINFO_HELP_0)); 531 CmsContextInfoDetailsFormatter contextFormatter = new CmsContextInfoDetailsFormatter(); 533 contextFormatter.setUserMessage(Messages.get().container(Messages.GUI_JOBS_DETAIL_CONTEXTINFO_USER_0)); 534 contextFormatter.setProjectMessage(Messages.get().container(Messages.GUI_JOBS_DETAIL_CONTEXTINFO_PROJECT_0)); 535 contextFormatter.setLocaleMessage(Messages.get().container(Messages.GUI_JOBS_DETAIL_CONTEXTINFO_LOCALE_0)); 536 contextFormatter.setRootSiteMessage(Messages.get().container(Messages.GUI_JOBS_DETAIL_CONTEXTINFO_ROOTSITE_0)); 537 contextFormatter.setEncodingMessage(Messages.get().container(Messages.GUI_JOBS_DETAIL_CONTEXTINFO_ENCODING_0)); 538 contextFormatter.setRemoteAddrMessage(Messages.get().container(Messages.GUI_JOBS_DETAIL_CONTEXTINFO_REMADR_0)); 539 contextFormatter.setRequestedURIMessage(Messages.get().container(Messages.GUI_JOBS_DETAIL_CONTEXTINFO_REQURI_0)); 540 jobsContextInfoDetails.setFormatter(contextFormatter); 541 metadata.addItemDetails(jobsContextInfoDetails); 543 544 CmsListItemDetails jobsParameterDetails = new CmsListItemDetails(LIST_DETAIL_PARAMETER); 546 jobsParameterDetails.setAtColumn(LIST_COLUMN_NAME); 547 jobsParameterDetails.setVisible(false); 548 jobsParameterDetails.setShowActionName(Messages.get().container(Messages.GUI_JOBS_DETAIL_SHOW_PARAMETER_NAME_0)); 549 jobsParameterDetails.setShowActionHelpText(Messages.get().container( 550 Messages.GUI_JOBS_DETAIL_SHOW_PARAMETER_HELP_0)); 551 jobsParameterDetails.setHideActionName(Messages.get().container(Messages.GUI_JOBS_DETAIL_HIDE_PARAMETER_NAME_0)); 552 jobsParameterDetails.setHideActionHelpText(Messages.get().container( 553 Messages.GUI_JOBS_DETAIL_HIDE_PARAMETER_HELP_0)); 554 jobsParameterDetails.setFormatter(new CmsListItemDetailsFormatter(Messages.get().container( 556 Messages.GUI_JOBS_DETAIL_PARAMETER_FORMAT_0))); 557 metadata.addItemDetails(jobsParameterDetails); 559 } 560 561 564 protected void setMultiActions(CmsListMetadata metadata) { 565 566 CmsListMultiAction activateJob = new CmsListMultiAction(LIST_MACTION_ACTIVATE); 568 activateJob.setName(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_MACTIVATE_NAME_0)); 569 activateJob.setConfirmationMessage(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_MACTIVATE_CONF_0)); 570 activateJob.setIconPath(ICON_MULTI_ACTIVATE); 571 activateJob.setHelpText(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_MACTIVATE_HELP_0)); 572 metadata.addMultiAction(activateJob); 573 574 CmsListMultiAction deactivateJob = new CmsListMultiAction(LIST_MACTION_DEACTIVATE); 576 deactivateJob.setName(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_MDEACTIVATE_NAME_0)); 577 deactivateJob.setConfirmationMessage(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_MDEACTIVATE_CONF_0)); 578 deactivateJob.setIconPath(ICON_MULTI_DEACTIVATE); 579 deactivateJob.setHelpText(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_MDEACTIVATE_HELP_0)); 580 metadata.addMultiAction(deactivateJob); 581 582 CmsListMultiAction deleteJobs = new CmsListMultiAction(LIST_MACTION_DELETE); 584 deleteJobs.setName(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_MDELETE_NAME_0)); 585 deleteJobs.setConfirmationMessage(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_MDELETE_CONF_0)); 586 deleteJobs.setIconPath(ICON_MULTI_DELETE); 587 deleteJobs.setHelpText(Messages.get().container(Messages.GUI_JOBS_LIST_ACTION_MDELETE_HELP_0)); 588 metadata.addMultiAction(deleteJobs); 589 } 590 591 596 protected void writeConfiguration(boolean refresh) { 597 598 OpenCms.writeConfiguration(CmsSystemConfiguration.class); 600 if (refresh) { 601 refreshList(); 602 } 603 } 604 } | Popular Tags |