📄 rmiimplement.java
字号:
import java.rmi.*;
import java.rmi.server.UnicastRemoteObject;
import java.util.*;
/*
* Created on 2006-6-5
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
/**
* @author lizhao
*
* TODO To change the template for this generated type comment go to Window -
* Preferences - Java - Code Style - Code Templates
*/
public class RMIImplement extends UnicastRemoteObject implements RMIInterface {
private Vector users;
public RMIImplement() throws RemoteException {
users = new Vector();
}
/*
* *register a new user.
*/
public String register(String name, String passWord) throws RemoteException {
String str = "";
int i = 0;
for (; i < users.size(); i++) {
User currentUser = (User) users.get(i);
if (currentUser.getUserName().equals(name))
break;
}
if (i != users.size()) {
str = "The " + name + " has been used!!!!!";
return str;
}
User newUser = new User(name, passWord);
users.add(newUser);
str = "You have registered succesed!!!!!";
return str;
}
/*
* *add a meeting.
*/
public String addMeeting(String hostName, String passWord,
String guestName, Date begin, Date over, String title)
throws RemoteException {
String str = "";
int i = 0;
User sendUser = findUser(hostName, passWord);
if (sendUser == null) {
str = "The hostName or passWord Error!!!!";
return str;
}
User acceptUser = getUser(guestName);
if (acceptUser == null) {
str = "The guestName user do not exist!!!!";
return str;
}
for (i = 0; i < sendUser.getNumberOfMeetings(); i++) {
Meeting currentMeeting = sendUser.getMeeting(i);
if (!(currentMeeting.getBegin().after(over) || currentMeeting
.getOver().before(begin)))
break;
}
if (i < sendUser.getNumberOfMeetings()) {
str = "The " + hostName + "do not add meeting!!!!";
return str;
}
for (i = 0; i < acceptUser.getNumberOfMeetings(); i++) {
Meeting currentMeeting = acceptUser.getMeeting(i);
if (!(currentMeeting.getBegin().after(over) || currentMeeting
.getOver().before(begin)))
break;
}
if (i < acceptUser.getNumberOfMeetings()) {
str = "The " + guestName + "do not add meeting!!!!";
return str;
}
if (begin.after(over)) {
str = "The start time is after begin!!!! Please input again!!!!!";
return str;
}
Meeting newMeeting = new Meeting(begin, over, guestName, title);
sendUser.addMeeting(newMeeting);
newMeeting = new Meeting(begin, over, hostName, title);
acceptUser.addMeeting(newMeeting);
str = "The meeting bettween " + hostName + " and " + guestName
+ " has been added succesed!!!!!";
return str;
}
/*
* *show all the meetings of the user whose name is name and password is
* password.
*/
public String queryMeeting(String name, String passWord, Date begin,
Date over) throws RemoteException {
String str = "";
int i = 0;
User newUser = findUser(name, passWord);
if (newUser == null) {
str = "The userName or passWord Error!!!!";
return str;
}
if (newUser.getNumberOfMeetings() == 0) {
str = "The user " + name + " has no meetings!!!!!";
return str;
}
if (begin.after(over)) {
str = "The start time is after begin!!!! Please input again!!!!!";
return str;
}
for (i = 0; i < newUser.getNumberOfMeetings(); i++) {
Meeting newMeeting = newUser.getMeeting(i);
if (newMeeting.getBegin().after(begin)
&& newMeeting.getOver().before(over)) {
str += "From " + newMeeting.getBegin().toLocaleString()
+ " to " + newMeeting.getOver().toLocaleString()
+ "there is a meeting with "
+ newMeeting.getAcceptUser() + "\r\n";
}
}
if (str == "") {
str = "There is no meeting betteen " + begin.toLocaleString()
+ " and " + over.toLocaleString() + "for user " + name;
return str;
}
String newstr = "The meetings list is as following " + "\r\n";
newstr += str;
return newstr;
}
/*
* *remove the meeting that title is title of the user whose name is name
* and password is password.
*/
public String deleteMeeting(String name, String passWord, String title)
throws RemoteException {
String str = "";
int i = 0;
User newUser = findUser(name, passWord);
if (newUser == null) {
str = "The userName or passWord Error!!!!";
return str;
}
for (i = 0; i < newUser.getNumberOfMeetings(); i++) {
Meeting newMeeting = (Meeting) newUser.getMeeting(i);
if (newMeeting.getTitle().equals(title)) {
newUser.removeMeeting(newMeeting);
str = "You have deleted the meeting succesed!!!!!!!!!";
return str;
}
}
str = "The meeting you want to delete do not exist!!!!!!!";
return str;
}
/*
* *remove all the meetings of the user whose name is name and password is
* password.
*/
public String clearMeeting(String name, String passWord)
throws RemoteException {
String str = "";
int i = 0;
User newUser = findUser(name, passWord);
if (newUser == null) {
str = "The userName or passWord Error!!!!";
return str;
}
if (newUser.getNumberOfMeetings() == 0) {
str = "There is no meeting for user " + name;
return str;
}
for (i = 0; i < newUser.getNumberOfMeetings(); i++) {
Meeting newMeeting = (Meeting) newUser.getMeeting(i);
newUser.removeMeeting(newMeeting);
}
str = "You have deleted the all meetings succesed!!!!!!!!!";
return str;
}
public User getUser(String name) {
for (int i = 0; i < users.size(); i++) {
User newUser = (User) users.get(i);
if (newUser.getUserName().equals(name))
return newUser;
}
return null;
}
public User findUser(String name, String password) {
for (int i = 0; i < users.size(); i++) {
User newUser = (User) users.get(i);
if (newUser.getUserName().equals(name)
&& newUser.getPassword().equals(password))
return newUser;
}
return null;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -