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

📄 queryreactor.java

📁 简单的会议议程系统,展示了Command 模式的应用
💻 JAVA
字号:
/*
 * @(#)QueryReactor.java        2006/11/13
 *
 * Copyright (c) ZhiYang.
 * All rights reserved.
*/

package his; // HIS: Human Interactive Service
import agenda.*;

import java.text.*;
import java.util.*;

/**
 * 会议反应器:查询会议记录
 * @version 1.0
 * @author 杨智 (MSE2006B-06250145)
 *
 */

public class QueryReactor extends MeetingReactor  {
	
	QueryReactor(){
		super("query");
	}
	public String name;

	/*
	 * do query command
	 * @params Object[]
	 * ******* String username;
	 * ******* String password;
	 * ******* Date start;
	 * ******* Date end;
	*/
	public boolean doit ( Object[] params, UIMessager msgr ) {
		try {
			User aUser = new User ( (String)params[0],(String)params[1] );
			Date start = (Date)params[2];
			Date end = (Date)params[3];
			if( !umgr.validateUser( aUser) ) {
				msgr.println("invalid username or password!");
				return false;				
			}
			ArrayList arr = mmgr.queryMeeting ( aUser.name, start, end );
			for( int i=0; i<arr.size(); ++i ) {
				msgr.println( "record: " + arr.get(i) + " found");
			}
			if( arr.size()<1 ) {
				msgr.println( "no record found");
			}
			return arr.size()>0;
		}
		catch ( Exception e ) {
		}
		return false;
	}
	
	/*
	 * @see doit
	*/
	public Object[] parseParameters( String[] params ){
		if( null==params || params.length!=6 )
			return null;
		Date start = null;
		Date end = null;
		
		try {
			start = Meeting.getDateFormat().parse( params[2]+ ' '+params[3] );
		}
		catch ( ParseException e ) {
			return null;
		}
		
		try {
			end = Meeting.getDateFormat().parse( params[4]+ ' '+params[5] );
		}
		catch ( ParseException e ) {
			return null;
		}
		if( null == start || null == end ) 
			return null;
		
		Object[] ret = new Object[4];
		ret[0] = new String ( params[0] );
		ret[1] = new String ( params[1] );
		ret[2] = start;
		ret[3] = end;
		return ret;
	}
	
	/*
	 * print Usage
	*/
	public void printUsage( UIMessager msger ) {
		msger.println("Usage: ");
		msger.println("\tquery userName password start_date start_time end_date end_time");
		Date start = new Date( System.currentTimeMillis() );
		Date end = new Date( System.currentTimeMillis() + 600000 );
		msger.println("Ex:\tquery op2 op2pwd "+ Meeting.getDateFormat().format(start) + ' ' + Meeting.getDateFormat().format(end) );
	}
}
 

⌨️ 快捷键说明

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