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

📄 threadqueryaction.java

📁 JiveJdon 3.0 is the application of Jdon Framework 1.4 final.
💻 JAVA
字号:
/*
 * Copyright 2003-2006 the original author or authors.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * 
 */
package com.jdon.jivejdon.presentation.action;

import javax.servlet.http.HttpServletRequest;

import org.apache.log4j.Logger;

import com.jdon.controller.WebAppUtil;
import com.jdon.controller.model.ModelIF;
import com.jdon.controller.model.PageIterator;
import com.jdon.jivejdon.model.query.HotMessageCriteria;
import com.jdon.jivejdon.model.query.MultiCriteria;
import com.jdon.jivejdon.model.query.QueryCriteria;
import com.jdon.jivejdon.presentation.form.ThreadQueryForm;
import com.jdon.jivejdon.service.ForumMessageService;
import com.jdon.strutsutil.FormBeanUtil;
import com.jdon.strutsutil.ModelListAction;

/**
 * @author banq(http://www.jdon.com)
 *
 */
public class ThreadQueryAction extends ModelListAction {

	private final static Logger logger = Logger.getLogger(ThreadQueryAction.class);

	public PageIterator getPageIterator(HttpServletRequest request, int start,
			int count) {
		logger.debug("enter ThreadQueryAction ....");
		QueryCriteria queryCriteria = null;
		ThreadQueryForm qForm = (ThreadQueryForm)FormBeanUtil.lookupActionForm(request, "threadQueryForm");
		if (qForm == null){
			logger.error(" ThreadQueryForm is null, at first call /forum/threadViewQuery.shtml");
		}
		String queryType = qForm.getQueryType();
		if ((queryType == null)
				|| (queryType.equals(HotMessageCriteria.QUERY_TYPE))) {
			logger.debug("queryType is HotMessageCriteria");
			queryCriteria = new HotMessageCriteria();
			((HotMessageCriteria) queryCriteria).setDateRange(qForm.getDateRange());
			fun((HotMessageCriteria)queryCriteria, qForm);
			logger.debug("dateRange=" + qForm.getDateRange());

		} else if (queryType.equals(MultiCriteria.QUERY_TYPE)) {
			logger.debug("queryType is MultiCriteria");
			queryCriteria = new MultiCriteria();
            ((MultiCriteria) queryCriteria).setForumId(qForm.getForumId());
			((MultiCriteria) queryCriteria).setUsername(qForm.getUsername());
			((MultiCriteria) queryCriteria).setUserID(qForm.getUserID());
			queryCriteria.setFromDate(qForm.getFromYear(), qForm.getFromMonth(), qForm.getFromDay());
			queryCriteria.setToDate(qForm.getToYear(), qForm.getToMonth(), qForm.getToDay());
			logger.debug("fromDate=" + queryCriteria.getFromDateString());
			logger.debug("toDate=" + queryCriteria.getToDateString());
		}
		ForumMessageService forumMessageService = (ForumMessageService) WebAppUtil
				.getService("forumMessageService", request);
		return forumMessageService.getThreads(queryCriteria, start, count);
	}
	

	public ModelIF findModelIFByKey(HttpServletRequest request, Object key) {
		ForumMessageService forumMessageService = (ForumMessageService) WebAppUtil
				.getService("forumMessageService", request);
		logger.debug(" key calss type = " + key.getClass().getName());
		return forumMessageService.getThread((Long) key);
	}
	
	private void fun(HotMessageCriteria hmc, ThreadQueryForm qForm){
		    String date = hmc.getFromDateString();
	        int dateSlash1 = date.indexOf("/");
	        int dateSlash2 = date.lastIndexOf("/");
	        String month = date.substring(0, dateSlash1);	      
	        String day = date.substring(dateSlash1 + 1, dateSlash2);
	        String year = date.substring(dateSlash2 + 1);
	        
	        qForm.setFromMonth(month);
	        qForm.setFromDay(day);
	        qForm.setFromYear(year);

	        date = hmc.getToDateString();
	        dateSlash1 = date.indexOf("/");
	        dateSlash2 = date.lastIndexOf("/");
	        month = date.substring(0, dateSlash1);	      
	        day = date.substring(dateSlash1 + 1, dateSlash2);
	        year = date.substring(dateSlash2 + 1);
	        
	        qForm.setToMonth(month);
	        qForm.setToDay(day);
	        qForm.setToYear(year);
	        
	}

}

⌨️ 快捷键说明

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