📄 server.java
字号:
package server;
import java.util.Date;
import agenda.AgendaManager;
import server.exception.MeetingInvalidException;
import server.exception.TimeInvalidException;
import server.exception.MeetingNotExsitedException;
import server.exception.PasswordErrorException;
import server.exception.UserIsExsitedException;
import server.exception.UserInvalidException;
import server.meeting.*;
import server.user.User;
import server.user.UserManager;
public class Server extends AgendaManager {
UserManager userManager;
MeetingManager meetingManager;
public Server() throws java.rmi.RemoteException {
}
/**
* 注册成功,则返回成功消息
*
*
*/
public synchronized String register(String userName, String password)
throws java.rmi.RemoteException, UserIsExsitedException {
User user = new User(userName, password);
userManager = UserManager.getUserInstance();
String message = "";
try {
if (userManager.isRegisteredUser(user)) {
message = "用户已存在";
} else {
userManager.userRegister(user);
message = "注册成功";
}
} catch (Exception exc) {
}
return message;
}
/**
* 增加会议成功,则返回成功消息
*
*
*
*/
public synchronized String add(String userName, String password,
String other, Date startTime, Date endTime, String title)
throws UserInvalidException, TimeInvalidException,
java.rmi.RemoteException, PasswordErrorException,
MeetingInvalidException {
AddMeeting addMeeting = new AddMeeting(userName, password, other,
startTime, endTime, title);
String message = addMeeting.run();
return message;
}
/**
* 查询一段时间内某用户的会议安排
*
*/
public synchronized java.util.List<String> query(String userName,
String password, Date startTime, Date endTime)
throws java.rmi.RemoteException {
userManager = UserManager.getUserInstance();
meetingManager = MeetingManager.getUserInstance();
java.util.List<String> meetings = null;
User user = null;
TimeProcess timeInterval = null;
try {
user = userManager.userRegister(userName, password);
timeInterval = new TimeProcess(startTime, endTime);
meetings = new java.util.ArrayList<String>();
java.util.List<Meeting> tempList = meetingManager.queryMeeting(
user, timeInterval);
if (user == null) {
meetings.add(0, "用户不存在或者密码不正确");
} else if (tempList.isEmpty()) {
meetings.add(0, "用户" + user.getUserName() + "没有会议记录");
} else {
meetings.add(0, "用户" + userName + "在指定时间段内的会议记录为: ");
for (int index = 0; index < tempList.size(); index++) {
meetings.add(index + 1, tempList.get(index).toString());
}
}
}
catch (Exception exc){
}
return meetings;
}
/**
* 删除某用户的一个会议
*
*/
public synchronized String delete(String userName, String password,
String meetingID) throws java.rmi.RemoteException {
meetingManager = MeetingManager.getUserInstance();
String message = "";
try {
userManager.userRegister(userName, password);
message = meetingManager.deleteMeeting(meetingID);
}
catch (PasswordErrorException e1) {
message = "用户不存在或者密码不正确";
} catch (UserInvalidException e1) {
message = "用户不存在或者密码不正确";
} catch (MeetingNotExsitedException e) {
message = "该用户没有编号为" + meetingID + "的会议记录";
}
return message;
}
/**
* 清除某用户的所有会议
*
*/
public synchronized String clear(String userName, String password)
throws java.rmi.RemoteException {
meetingManager = MeetingManager.getUserInstance();
User user = null;
String message = "";
try {
user = userManager.userRegister(userName, password);
message = meetingManager.clearMeeting(user);
}
catch (PasswordErrorException e1) {
message = "用户不存在或者密码不正确";
} catch (UserInvalidException e1) {
message = "用户不存在或者密码不正确";
}
return message;
}
public static void main(String args[]) {
if (args.length == 0) {
System.out.println("需要一个命令行参数: 程序运行的端口号: 1099");
} else {
try {
int port = Integer.parseInt(args[0]);
java.rmi.registry.LocateRegistry.createRegistry(port);
agenda.AgendaManager manager = new Server();
java.rmi.Naming.rebind("AgendaManager", manager);
System.out.println("议程管理服务程序已准备就绪 ...");
} catch (NumberFormatException mf) {
mf.printStackTrace();
} catch (Exception exc) {
exc.printStackTrace();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -