package bupt.sse.wenfeng.service;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@SuppressWarnings("serial")
public class Implement extends UnicastRemoteObject implements Interface{
private List<User> users=null;
private List<Meeting> meets=null;
private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
protected Implement() throws RemoteException {
super();
// TODO Auto-generated constructor stub
users = new ArrayList<User>();
meets = new ArrayList<Meeting>();
}
@Override
public boolean register(String userName, String password)
throws RemoteException {
// TODO Auto-generated method stub
for(User u:users){
if(u.getName().equals(userName)){
System.out.println("该用户已经被注册,请重新输入");
return false;
}
}
User u = new User(userName,password);
users.add(u);
System.out.println("注册成功!");
return true;
}
@Override
public boolean add(String userName, String password, String schedule_user,
String title, String label, Date startTime, Date endTime)
throws RemoteException {
// TODO Auto-generated method stub
if(!hasUser(userName)){
System.out.println("未查到对方用户存在!创建会议失败");
return false;
}
if(startTime.after(endTime)||endTime.before(startTime)){
System.out.println("时间区间不合理,请重新安排!");
return false;
}
for(Meeting m : meets){
if(m.getUser().getName().equals(userName)
||m.getUser().getName().equals(schedule_user)
||m.getOtherUserName().equals(userName)
||m.getOtherUserName().equals(schedule_user)){
if(!(startTime.after(m.getEndTime()) || endTime
.before(m.getStartTime()))){
System.out.println("该时间段,参会用户发生时间冲突,添加会议失败!");
return false;
}
}
}
User user = new User(userName, password);
Meeting meeting = new Meeting(startTime, endTime, label, title,
schedule_user, user);
meets.add(meeting);
System.out.println("增加会议成功!会议ID:" + meeting.getMeetingID());
return true;
}
@Override
public String query(String userName, Date start, Date end)
throws RemoteException {
// TODO Auto-generated method stub
String str = "";
int count = 0;
for(Meeting m: meets){
if ((m.getUser().getName().equals(userName) || m
.getOtherUserName().equals(userName))) {
if ((m.getStartTime().after(start) && m.getEndTime()
.before(end))
|| (m.getStartTime().equals(start) && m
.getEndTime().equals(end))
|| (m.getStartTime().equals(start) && m
.getEndTime().before(end))
|| (m.getStartTime().after(start) && m
.getEndTime().equals(end)))
{
str += "会议" + (++count) + ":时间从"
+ format.format(m.getStartTime()) + "到"
+ format.format(m.getEndTime()) + "\n\t题目为"
+ m.getTitle() + "\n\t标注为" + m.getLabel()
+ "\n";
//System.out.println(str);
}
}
}
return str;
}
@Override
public boolean delete(String userName, int meetingID)
throws RemoteException {
// TODO Auto-generated method stub
for(Meeting m : meets){
if(m.getMeetingID()==meetingID){
if(m.getUser().getName().equals(userName)||
m.getOtherUserName().equals(userName)){
meets.remove(m);
System.out.println("该会议已经成功删除!");
return true;
}
else{
System.out.println("您不是该会议的参会人员,不具有权限删除该会议!");
return false;
}
}
}
System.out.println("未查询到该会议!");
return false;
}
@Override
public void clear(String userName) throws RemoteException {
// TODO Auto-generated method stub
for(Meeting m:meets){
if(m.getUser().getName().equals(userName)
||m.getOtherUserName().equals(userName)){
meets.remove(m);
}
}
}
public boolean hasUser(String userName){
for(User u: users){
if(u.getName().equals(userName))
return true;
}
return false;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
MeetingSystem.zip (46个子文件)
MeetingSystem
register.bat 137B
bin
bupt
sse
wenfeng
Client
ClientForBAT.class 4KB
Client.class 3KB
service
User.class 623B
Implement.class 4KB
Meeting.class 2KB
Server.class 1KB
Interface.class 614B
add.bat 137B
delete.bat 137B
clear.bat 137B
.settings
org.eclipse.jdt.core.prefs 598B
server.bat 110B
src
bupt
sse
wenfeng
Client
ClientForBAT.java 3KB
Client.java 4KB
service
User.java 464B
Server.java 553B
Interface.java 623B
Meeting.java 2KB
Implement.java 4KB
doc
package-list 26B
deprecated-list.html 3KB
help-doc.html 6KB
bupt
sse
wenfeng
service
package-summary.html 5KB
package-frame.html 1KB
User.html 9KB
package-tree.html 5KB
Interface.html 10KB
Server.html 8KB
Meeting.html 16KB
Implement.html 16KB
allclasses-frame.html 1KB
index.html 1KB
allclasses-noframe.html 1KB
resources
titlebar.gif 10KB
tab.gif 291B
background.gif 2KB
titlebar_end.gif 849B
serialized-form.html 4KB
stylesheet.css 11KB
constant-values.html 3KB
index-all.html 17KB
overview-tree.html 5KB
.project 389B
.classpath 301B
query.bat 137B
共 46 条
- 1
资源评论
研发小峰
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功