deletealertcontroller.java

来自「Java的框架」· Java 代码 · 共 72 行

JAVA
72
字号
package mcaps.core.alert.webapp.controller;

import java.util.Locale;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import mcap.core.logging.*;
import mcap.core.alert.model.Alert;
import mcap.core.alert.service.AlertManager;
import mcap.core.alert.util.NameConstants;
import mcap.core.base.webapp.controller.BaseController;
import mcap.core.base.webapp.controller.BaseFormController;

import org.apache.commons.lang.StringUtils;
import org.springframework.context.support.ApplicationObjectSupport;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.view.RedirectView;


/**
 * This class handles the request to delete the specified alert.
 * 
 * @author Tan Beng Suang
 * @date 09-Sep-2005
 * @version 1.0.1.0
 */
public class DeleteAlertController extends BaseController {

	private final static String CLASS_NAME="mcaps.core.alert.webapp.controller.DeleteAlertController";
	private AlertManager alertManager;
	
	/**
	 * Sets the alertManager.
	 * @param alertManager The alertManager to set.
	 */
	public void setAlertManager (AlertManager alertManager) {
		this.alertManager = alertManager;
	}


//	@Override
	protected ModelAndView handleRequestInternal(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		
		String id = request.getParameter ("id");
		
		if (StringUtils.isBlank (id))
			throw new Exception ("Alert id not specified.");
		
		Alert alert = this.alertManager.getAlert (id);
		Log.info(CLASS_NAME + "handleRequestInternal() alert.subject=" + alert.getSubject());
		if (alert == null)
			throw new Exception ("Alert not found.");
		
		if (!request.isUserInRole(NameConstants.ALERT_ADMIN_ROLE) && 
				!alert.getCreator ().equals(request.getRemoteUser())){
			response.sendError (HttpServletResponse.SC_FORBIDDEN);
			return null;
		}
			
		this.alertManager.removeAlert(id);
		Locale locale = request.getLocale ();
		Log.info(CLASS_NAME + "handleRequestInternal() alert.subject=" + alert.getSubject());
		saveMessage (request, getText("alert.deleted", alert.getSubject (),
				locale));
		
		return new ModelAndView (new RedirectView ("listAlert.action"));
	}

}

⌨️ 快捷键说明

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