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

📄 meetingmanager.java

📁 一个基于RMI的分布式会议议程管理服务系统
💻 JAVA
字号:
/********************************************************
 * 设计一个会议管理类
 * 
 * ******************************************************
 */

package server.meeting;


import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import server.exception.MeetingInvalidException;
import server.exception.TimeInvalidException;
import server.exception.UserInvalidException;
import server.exception.MeetingNotExsitedException;
import server.user.User;
public class MeetingManager {
	
	/**
	 * 会议记录
	 */
	private List<Meeting> meetingRecord = new LinkedList<Meeting>();
	
	/**
	 *构造函数
	 * 
	 */
	private MeetingManager() {
		
	}
		
	
	private final static MeetingManager meetingManagerIstance = new MeetingManager();
	
	
	public static MeetingManager getUserInstance() {
		return meetingManagerIstance;
	}
	
	/**
	 * 增加一个会议记录到列表中
	 *
	 */
	public void addMeeting(Meeting meeting) throws MeetingInvalidException {
		if(meeting != null) {
			meetingRecord.add(meeting);	
		}
		else {
			throw new MeetingInvalidException("会议添加不成功");
		}
	}
	/**
	 * 查找某个用户在某段时间内的会议记录
	 *
	 */
	public Meeting queryMeeting(String meetingNo) throws  MeetingNotExsitedException {
		Iterator<Meeting> iter = meetingRecord.iterator();
		Meeting meeting = null;
		while(iter.hasNext()) {
			Meeting m = iter.next();		
			if((m.getMeetingNo().equals(meetingNo))) {
				meetingRecord.remove(m);
			}
		}		
		if(meeting != null) {
			return meeting;
		}
		else {
			throw new MeetingNotExsitedException("会议记录不存在");
		}
	}
	/**
	 * 查找某段时间内所有的会议记录
	 *
	 *
	 */
	public List<Meeting> queryMeeting(TimeProcess timeInterval) 
		throws  MeetingNotExsitedException, TimeInvalidException {
		Iterator<Meeting> iter = meetingRecord.iterator();
		List<Meeting> meetings = null;
		meetings = new LinkedList<Meeting>();
		while(iter.hasNext()) {
			Meeting meeting = iter.next();		
			if(meeting.getTimeInterval().isOverLaped(timeInterval)) {
				meetings.add(meeting);
			}
		}
		if(meetings != null) {
			return meetings;
		}
		else{
			throw new MeetingNotExsitedException("会议记录不存在");
		}
	}
	/**
	 * 查找某个用户的所有会议记录
	 * 
	 * 
	 */
	public List<Meeting> queryMeeting(User user) 
		throws MeetingNotExsitedException, UserInvalidException {
		Iterator<Meeting> iter = meetingRecord.iterator();
		List<Meeting> meetings = new LinkedList<Meeting>();
		while(iter.hasNext()) {
			Meeting meeting = iter.next();		
			if((meeting.getLaunchedUser().equals(user) || meeting.getScheduledUser().equals(user))) {
				meetings.add(meeting);
			}
		}
		if(meetings != null) {
			return meetings;
		}
		else {
			throw new MeetingNotExsitedException("会议记录不存在");
		}
	}
	/**
	 * 查找某个用户在某段时间内的会议记录
	 * 
	 * 
	 */
	public List<Meeting> queryMeeting(User user, TimeProcess timeInterval) 
		throws  MeetingNotExsitedException, UserInvalidException ,TimeInvalidException{
		Iterator<Meeting> iter = meetingRecord.iterator();
		List<Meeting> meetings = new LinkedList<Meeting>();
		try {
			while(iter.hasNext()) {
				Meeting meeting = iter.next();		
				if((meeting.getLaunchedUser().equals(user) || meeting.getScheduledUser().equals(user)) 
					&& (meeting.getTimeInterval().isOverLaped(timeInterval))) {
					meetings.add(meeting);
				}
			}
		}
		catch(java.util.ConcurrentModificationException exc){
			
		}
		if(meetings != null) {
			return meetings;
		}
		else {
			throw new MeetingNotExsitedException("会议记录不存在");
		}
	}
	/**
	 * 删除会议记录
	 *
	 */
	public String deleteMeeting(String meetingNo) throws MeetingNotExsitedException {
		Meeting meeting = null;
		String message = "编号为" + meetingNo + "的会议记录不存在";
		Iterator<Meeting> iter = meetingRecord.iterator();
		while(iter.hasNext()) {
			meeting = iter.next();		
			if((meeting.getMeetingNo().equals(meetingNo))) {
				iter.remove();
				return message = "会议" + meetingNo + "已删除";
			}
		}
		return message;
	}
	
	/**
	 * 清除某用户的所有会议记录
	 *
	 */
	public String clearMeeting(User user) throws UserInvalidException {
		String message = "用户" + user.getUserName() + "的会议记录已全部清除";
		Meeting meeting = null;
		Iterator<Meeting> iter = meetingRecord.iterator();
		while(iter.hasNext()) {
			meeting = iter.next();
			if(meeting.getLaunchedUser().equals(user) || meeting.getScheduledUser().equals(user)) {
				iter.remove();
			}
		}
		return message;
	}
	
	
}

⌨️ 快捷键说明

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