⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 purgeactionlogcontroller.java

📁 Java的框架
💻 JAVA
字号:
package mcaps.core.clickstream.webapp.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.Properties;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import mcap.core.clickstream.service.ClickStreamManager;

import org.apache.commons.lang.StringUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
import org.springframework.web.servlet.view.RedirectView;

/**
 * This class handles the request to purge action log.
 * @author Tan Beng Suang
 * @date 14-Sep-2005
 * @version 1.0.1.0
 */
public class PurgeActionLogController extends AbstractController {

	private SimpleDateFormat format = new SimpleDateFormat ("dd-MM-yyyy HH:mm:ss");
	private ClickStreamManager clickStreamManager;

	/**
	 * Returns the clickStreamManager.
	 * @return ClickStreamManager
	 */
	public ClickStreamManager getClickStreamManager () {
		return clickStreamManager;
	}

	/**
	 * Sets the clickStreamManager.
	 * @param clickStreamManager The clickStreamManager to set.
	 */
	public void setClickStreamManager (ClickStreamManager clickStreamManager) {
		this.clickStreamManager = clickStreamManager;
	}

	/*
	 * (non-Javadoc)
	 * @see org.springframework.web.servlet.mvc.AbstractController#handleRequestInternal(javax.servlet.http.HttpServletRequest,
	 *      javax.servlet.http.HttpServletResponse)
	 */
	protected ModelAndView handleRequestInternal (HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		
		//	if the request is from GET, do nothing. Just show the form.
		if (request.getMethod().equals("GET"))
			return new ModelAndView ("core/clickstream/purgeActionLog");
		
		//return to main page if cancel
		if (request.getParameter ("cancel") != null) {
			return new ModelAndView (new RedirectView ("mainPage.action"));
		}	
		
		Properties prop = new Properties ();
		String username = request.getParameter("username");
		prop.put("username", username);
		if (username.equals("All"))
			username = null;
		
		Date startDate = null;
		Date endDate = null;
		
		String day = request.getParameter("start_date_dd");
		String month = request.getParameter("start_date_mm");
		String year = request.getParameter("start_date_yyyy");
		
		if (!StringUtils.isBlank (day) && !StringUtils.isBlank (month) &&
				!StringUtils.isBlank (year)) {
			startDate = format.parse(day + "-" + month + "-" + year + " 00:00:00");
			prop.put ("start_date_dd", day);
			prop.put ("start_date_mm", month);
			prop.put ("start_date_yyyy", year);
		}
		
		day = request.getParameter("end_date_dd");
		month = request.getParameter("end_date_mm");
		year = request.getParameter("end_date_yyyy");
		
		if (!StringUtils.isBlank (day) && !StringUtils.isBlank (month) &&
				!StringUtils.isBlank (year)) {
			endDate = format.parse(day + "-" + month + "-" + year + " 23:59:59");
			prop.put ("end_date_dd", day);
			prop.put ("end_date_mm", month);
			prop.put ("end_date_yyyy", year);
		}
		
		int count = clickStreamManager.purgeActionStream (username, startDate, endDate);
		
		saveMessage (request, getText ("actionLogs.purged", 
						new Object[] {String.valueOf(count)}, request.getLocale ()));
		
		RedirectView view = new RedirectView ("purgeActionLog.action");
		view.setAttributes(prop);
		return new ModelAndView (view); 
	}

	
	/**
	 * Save the message to be displayed to user in the session.
	 */
	public void saveMessage (HttpServletRequest request, String msg) {
		
		List messages = (List) request.getSession ().getAttribute ("messages");

		if (messages == null) {
			messages = new ArrayList ();
		}

		messages.add (msg);
		request.getSession ().setAttribute ("messages", messages);
	}
	
	/**
	 * Convenience method for getting a i18n key's value with arguments.
	 * @param msgKey
	 * @param args
	 * @param locale the current locale
	 * @return
	 */
	public String getText (String msgKey, Object[] args, Locale locale) {
		return getMessageSourceAccessor ().getMessage (msgKey, args, locale);
	}
}

⌨️ 快捷键说明

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