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

📄 addreactor.java

📁 简单的会议议程系统,展示了Command 模式的应用
💻 JAVA
字号:
/*
 * @(#)AddRecator.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 AddReactor extends MeetingReactor  {
	
	AddReactor(){
		super("add");
	}
	public String name;

	/*
	 * do register
	 * @params Object[]
	 * ******* String username;
	 * ******* String password;
	 * ******* String other;
	 * ******* Date start;
	 * ******* Date end;
	 * ******* String title;
	*/
	public boolean doit ( Object[] params, UIMessager msgr ) {
		try {
			User aUser = new User( (String)params[0],(String)params[1]);
			String other = (String)params[2];
			Date start = (Date)params[3];
			Date end = (Date)params[4];
			String title = (String)params[5];
			if( !umgr.validateUser( aUser) ) {
				msgr.println("invalide user or password!");
				return false;
			}
			if( !umgr.findUser( other ) ) {
				msgr.println("scheduled user not found!");
				return false;
			}
			Meeting mt = new Meeting( title, aUser.name, other, start, end );
			mmgr.addMeeting(mt);
			msgr.println(mt + " is added");
			return true;
		}
		catch ( Exception e ) {
			msgr.println( "add failed: " + e.getMessage() );
		}
		return false;
	}
	
	/*
	 * only need two strings
	*/
	public Object[] parseParameters( String[] params ){
		if( null==params || params.length!=8 )
			return null;
		Date start = null;
		Date end = null;
		try {
			start = Meeting.getDateFormat().parse( params[3]+ ' '+params[4] );
		}catch ( ParseException e ) {
			return null;
		}
		try {
			end = Meeting.getDateFormat().parse( params[5]+ ' '+params[6] );
		}catch ( ParseException e ) {
			return null;
		}
		if( null==start || null==end )
			return null;
		Object[] ret = new Object[6];
		ret[0] = new String ( params[0] );
		ret[1] = new String ( params[1] );
		ret[2] = new String ( params[2] );
		ret[3] = start.clone();
		ret[4] = end.clone();
		ret[5] = new String ( params[7] );
		return ret;
	}
	
	/*
	 * print Usage
	*/
	public void printUsage( UIMessager msger ) {
		msger.println("Usage: ");
		msger.println("\tadd userName password other start_date start_time end_date end_time title");
		Date start = new Date( System.currentTimeMillis() );
		Date end = new Date( System.currentTimeMillis() + 600000 );
		msger.println("Ex:\tadd op1 op1pwd su1 " + Meeting.getDateFormat().format(start) + ' ' + Meeting.getDateFormat().format(end) + " mt1");
	}
}

⌨️ 快捷键说明

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