schedulemultiactioncontroller.java

来自「Java的框架」· Java 代码 · 共 514 行 · 第 1/2 页

JAVA
514
字号
		String jobName = RequestUtils.getStringParameter(request, "jobName");
		String jobGroupName = RequestUtils.getStringParameter(request, "jobGroupName");
		String name = RequestUtils.getStringParameter(request, "scheduleName");
		String groupName = RequestUtils.getStringParameter(request, "groupName");

		try {
			Schedule schedule = scheduleManager.getSchedule(name, groupName, jobName, jobGroupName);
			if (schedule == null){
				saveError(request, getText(NameConstants.ERROR_EXECUTE_SCHEDULE_NULL,
						new Object[]{jobName,groupName},locale));
			}else{
				if (scheduleManager.executeSchedule(name, groupName, jobName, jobGroupName)) {
					saveMessage(request, getText(NameConstants.SUCC_SCHEDULE_EXECUTE, 
							new Object[] { name, groupName }, locale));
				} else {
					saveMessage(request, getText(NameConstants.ERROR_EXECUTE_SCHEDULE_FAIL,
							new Object[] { name, groupName }, locale));
				}
			}
			
			return getRedirectView(request,jobName, jobGroupName);			
			
//			String from = RequestUtils.getStringParameter(request, "from");
//			if (from.equalsIgnoreCase("joblist")){
//				return new ModelAndView(NameConstants.JOBS_VIEW,
//					NameConstants.JOB_LIST, scheduleManager.getAllJobs());
//			}else{
//				return new ModelAndView(NameConstants.SCHEDULES_VIEW,
//						NameConstants.SCHEDULE_LIST, scheduleManager.getAllSchedules());
//			}
		} catch (ScheduleException e) {
			Log.warn("Fail to execute job. " + e.getMessage());
			return getErrorView(NameConstants.EXECUTE_SCHEDULE_TITLE, 
					NameConstants.EXECUTE_SCHEDULE_HEADING,
					NameConstants.ERROR_EXECUTE_SCHEDULE_FAIL, 
					new Object[] { jobName, groupName },
					"");
		}
	}

	/**
	 * Custom handler for displaying of list of schedules.
	 * 
	 * @param request current HTTP request
	 * @param response current HTTP response
	 * @return a ModelAndView to render the response
	 */
	public ModelAndView schedulesHandler(HttpServletRequest request,
			HttpServletResponse response) throws ServletException {
		try {
			return new ModelAndView(NameConstants.SCHEDULES_VIEW,
					NameConstants.SCHEDULE_LIST, scheduleManager.getAllSchedules());
		} catch (ScheduleException e) {
			Log.warn("Fail to list schedules. " + e.getMessage());
			return getErrorView(NameConstants.LIST_SCHEDULES_TITLE, 
					NameConstants.LIST_SCHEDULES_HEADING,
					NameConstants.ERROR_LIST_SCHEDULES_FAIL, "");
		}
	}

	/**
	 * Custom handler for starting or resuming a schedule.
	 * 
	 * @param request current HTTP request
	 * @param response current HTTP response
	 * @return a ModelAndView to render the response
	 */
	public ModelAndView resumeScheduleHandler(HttpServletRequest request,
			HttpServletResponse response) throws ServletException {

		Locale locale = request.getLocale();

		if (request.getParameter("jobName") == null) {
			saveError(request, getText(NameConstants.ERROR_RESUME_SCHEDULE_NULL_JOBNAME,locale));
		}
		if (request.getParameter("jobGroupName") == null) {
			saveError(request, getText(NameConstants.ERROR_RESUME_SCHEDULE_NULL_JOBGROUPNAME,locale));
		}
		if (request.getParameter("scheduleName") == null) {
			saveError(request, getText(NameConstants.ERROR_RESUME_SCHEDULE_NULL_SCHEDULENAME,locale));
		}
		if (request.getParameter("groupName") == null) {
			saveError(request, getText(NameConstants.ERROR_RESUME_SCHEDULE_NULL_GROUPNAME,locale));
		}
		String jobName = RequestUtils.getStringParameter(request, "jobName");
		String jobGroupName = RequestUtils.getStringParameter(request, "jobGroupName");
		String name = RequestUtils.getStringParameter(request, "scheduleName");
		String groupName = RequestUtils.getStringParameter(request, "groupName");

		try {
			Schedule schedule = scheduleManager.getSchedule(name, groupName, jobName, jobGroupName);
			if (schedule == null){
				saveError(request, getText(NameConstants.ERROR_RESUME_SCHEDULE_NULL,
						new Object[]{name,groupName},locale));
			}else{
				scheduleManager.resumeSchedule(name, groupName);
				saveMessage(request, getText(NameConstants.SUCC_SCHEDULE_RESUME,
						new Object[] {name, groupName }, locale));
			}
			return getRedirectView(request,jobName, jobGroupName);			

//			if (!StringUtils.equals (request.getParameter ("from"), "list")) {
//				return new ModelAndView(new RedirectView(
//					NameConstants.JOB_VIEW_URL + "?jobName=" + jobName + "&groupName=" + jobGroupName));
//			}else{
//				return new ModelAndView(NameConstants.SCHEDULES_VIEW,
//					NameConstants.SCHEDULE_LIST, scheduleManager.getAllSchedules());			
//			}
		} catch (ScheduleException e) {
			Log.warn("Fail to activate scheduled job. " + e.getMessage());
			return getErrorView(NameConstants.RESUME_SCHEDULE_TITLE, 
					NameConstants.RESUME_SCHEDULE_HEADING,
					NameConstants.ERROR_RESUME_SCHEDULE_FAIL,
					new Object[]{name,groupName},
					NameConstants.SCHEDULES_VIEW_URL);
		}
	}

	/**
	 * Custom handler for starting or resuming a schedule.
	 * 
	 * @param request current HTTP request
	 * @param response current HTTP response
	 * @return a ModelAndView to render the response
	 */
	public ModelAndView pauseScheduleHandler(HttpServletRequest request,
			HttpServletResponse response) throws ServletException {

		Locale locale = request.getLocale();

		if (request.getParameter("jobName") == null) {
			saveError(request, getText(NameConstants.ERROR_PAUSE_SCHEDULE_NULL_JOBNAME,locale));
		}
		if (request.getParameter("jobGroupName") == null) {
			saveError(request, getText(NameConstants.ERROR_PAUSE_SCHEDULE_NULL_JOBGROUPNAME,locale));
		}
		if (request.getParameter("scheduleName") == null) {
			saveError(request, getText(NameConstants.ERROR_PAUSE_SCHEDULE_NULL_SCHEDULENAME,locale));
		}
		if (request.getParameter("groupName") == null) {
			saveError(request, getText(NameConstants.ERROR_PAUSE_SCHEDULE_NULL_GROUPNAME,locale));
		}
		String jobName = RequestUtils.getStringParameter(request, "jobName");
		String jobGroupName = RequestUtils.getStringParameter(request, "jobGroupName");
		String name = RequestUtils.getStringParameter(request, "scheduleName");
		String groupName = RequestUtils.getStringParameter(request, "groupName");

		try {
			Schedule schedule = scheduleManager.getSchedule(name, groupName, jobName, jobGroupName);
			if (schedule == null){
				saveError(request, getText(NameConstants.ERROR_PAUSE_SCHEDULE_NULL,
						new Object[]{name,groupName},locale));
			}else{
				scheduleManager.pauseSchedule(name, groupName);
				saveMessage(request, getText(NameConstants.SUCC_SCHEDULE_PAUSE, new Object[] {
						name, groupName }, locale));
			}
			return getRedirectView(request,jobName, jobGroupName);			

//			if (!StringUtils.equals (request.getParameter ("from"), "list")) {
//				return new ModelAndView(new RedirectView(
//						NameConstants.JOB_VIEW_URL + "?jobName=" + jobName + "&groupName=" + jobGroupName));
//			}else{
//				return new ModelAndView(NameConstants.SCHEDULES_VIEW,
//						NameConstants.SCHEDULE_LIST, scheduleManager.getAllSchedules());			
//			}
		} catch (ScheduleException e) {
			Log.warn("Fail to suspend scheduled job. " + e.getMessage());
			return getErrorView(NameConstants.PAUSE_SCHEDULE_TITLE, 
					NameConstants.PAUSE_SCHEDULE_HEADING,
					NameConstants.ERROR_PAUSE_SCHEDULE_FAIL, 
					new Object[]{name,groupName},
					NameConstants.SCHEDULES_VIEW_URL);
		}
	}

	/**
	 * Custom handler for starting or deleting a schedule.
	 * 
	 * @param request current HTTP request
	 * @param response current HTTP response
	 * @return a ModelAndView to render the response
	 */
	public ModelAndView deleteScheduleHandler(HttpServletRequest request,
			HttpServletResponse response) throws ServletException {

		Locale locale = request.getLocale();

		if (request.getParameter("jobName") == null) {
			saveError(request, getText(NameConstants.ERROR_DELETE_SCHEDULE_NULL_JOBNAME,locale));
		}
		if (request.getParameter("jobGroupName") == null) {
			saveError(request, getText(NameConstants.ERROR_DELETE_SCHEDULE_NULL_JOBGROUPNAME,locale));
		}
		if (request.getParameter("scheduleName") == null) {
			saveError(request, getText(NameConstants.ERROR_DELETE_SCHEDULE_NULL_SCHEDULENAME,locale));
		}
		if (request.getParameter("groupName") == null) {
			saveError(request, getText(NameConstants.ERROR_DELETE_SCHEDULE_NULL_GROUPNAME,locale));
		}
		String jobName = RequestUtils.getStringParameter(request, "jobName");
		String jobGroupName = RequestUtils.getStringParameter(request, "jobGroupName");
		String name = RequestUtils.getStringParameter(request, "scheduleName");
		String groupName = RequestUtils.getStringParameter(request, "groupName");

		try {
			Schedule schedule = scheduleManager.getSchedule(name, groupName, jobName, jobGroupName);
			if (schedule == null){
				saveError(request, getText(NameConstants.ERROR_DELETE_SCHEDULE_NULL,
						new Object[]{name,groupName},locale));
			}else{
				scheduleManager.removeSchedule(name, groupName);
				saveMessage(request, getText(NameConstants.SUCC_SCHEDULE_DELETE, new Object[] {
						name, groupName }, locale));
			}
			
			return getRedirectView(request,jobName, jobGroupName);			

//			if (!StringUtils.equals (request.getParameter ("from"), "list")) {
//				return new ModelAndView(new RedirectView(
//					NameConstants.JOB_VIEW_URL + "?jobName=" + jobName + "&groupName=" + jobGroupName));
//			}else{
//				return new ModelAndView(NameConstants.SCHEDULES_VIEW,
//						NameConstants.SCHEDULE_LIST, scheduleManager.getAllSchedules());			
//			}
		} catch (ScheduleException e) {
			Log.warn("Fail to delete schedule. " + e.getMessage());
			return getErrorView(NameConstants.DELETE_SCHEDULE_TITLE, 
					NameConstants.DELETE_SCHEDULE_HEADING,
					NameConstants.ERROR_DELETE_SCHEDULE_FAIL, 
					new Object[]{name,groupName},
					NameConstants.SCHEDULES_VIEW_URL);
		}
	}
	
	
	/**
	 * Gets the a redirect model and view when the cancal button or finish button is clicked.
	 * @param request The HTTP request object
	 * @param command The command object
	 * @return The redirect model and view object
	 * @throws ScheduleException The schedule exception
	 */
	private ModelAndView getRedirectView(HttpServletRequest request, String jobName, String groupName) throws ScheduleException{
		if(StringUtils.equals (request.getParameter ("from"), "job")) {
			return new ModelAndView (
					new RedirectView(NameConstants.JOB_VIEW_URL + "?jobName=" + jobName + 
							"&groupName=" + groupName));
		}else if(StringUtils.equals (request.getParameter ("from"), "joblist")) {
			return new ModelAndView (new RedirectView(NameConstants.JOBS_VIEW_URL));
		}else{
			return new ModelAndView (new RedirectView(NameConstants.SCHEDULES_VIEW_URL));
		}
	}


}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?