📄 agendaclient.java
字号:
import java.io.*;
import java.net.MalformedURLException;
import java.rmi.*;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import commonResource.Meeting;
import agendaClient.*;
import agendaServer.agendaManagerInterface;
import agendaServer.userManagerInterface;
/**
* 客户端程序
* @author Crise.Lee
* @version 1.0
*/
public class AgendaClient {
private static Boolean success;
public static final String format="yyyy-MM-dd HH:mm";
private static ArrayList<Meeting> meetinglist=null;
public static void main(String[] args)
{
AnalyzeString analyze=new AnalyzeString();
Object[] command=null;
System.out.println("******************************************************************************");
System.out.println("******************************************************************************");
System.out.println(" 欢迎使用分布式议程服务系统 ");
// System.out.println("****************************************************************************");
printCommand.printCommandFormat();
try {
BufferedReader read=new BufferedReader(new FileReader("clearMeeting"));
String readline=read.readLine();
while(readline!=null)
{
try {
command=analyze.AnalyzeCommand(readline);
// for(int i=0;i<command.length;i++)
// {
///** */ System.out.println("command["+i+"]="+command[i]);
// }
handle(command);
}catch (CommandFatmatException e) {
System.err.println(e.getMessage());
try {
Thread.sleep(100);
} catch (InterruptedException e1) {
//e1.printStackTrace();
}
printCommand.printCommandFormat();
//e.printStackTrace();
}catch (Exception e) {
System.err.println(e.getMessage());
try {
Thread.sleep(100);
} catch (InterruptedException e1) {
//e1.printStackTrace();
}
//e.printStackTrace();
}finally
{
// try {
// Thread.sleep(1000*1);
// } catch (InterruptedException e) {
// //e.printStackTrace();
// }
System.out.println();
System.out.println("******************************************************************************");
}
readline=read.readLine();
}
} catch (FileNotFoundException e) {
System.err.println(e.getMessage());
System.err.println("错误:没有发现文件");
//e.printStackTrace();
} catch (IOException e) {
System.err.println(e.getMessage());
System.err.println("错误:输入输出流发生错误");
//e.printStackTrace();
}
}
/**
* 处理放回的命令参数,并且调用远程的方法实现用户想要的功能
* @param command
* @return
* @throws RemoteException
* @throws MalformedURLException
* @throws NotBoundException
*/
public static Boolean handle(Object[] command) throws RemoteException, MalformedURLException, NotBoundException
{
Iterator<Meeting> iterator=null;
Meeting meeting=null;
int commType;
//得到命令的类型
commType=(Integer)command[0];
int portNum;
String hostName=null;
String registryURL=null,agendaURL=null;
//get the hostName and portNum
hostName=(String)command[1];
portNum=(Integer)command[2];
registryURL="rmi://"+hostName+":"+portNum+"/user";
agendaURL="rmi://"+hostName+":"+portNum+"/agenda";
userManagerInterface users=(userManagerInterface)Naming.lookup(registryURL);
agendaManagerInterface agendas=(agendaManagerInterface)Naming.lookup(agendaURL);
switch(commType)
{
case 1:
success=false;
success=users.register((String)command[3], (String)command[4]);
if(success)
System.out.println("操作成功");
else
System.out.println("操作失败");
break;
case 2:
success=false;
success=agendas.add((String)command[3], (String)command[4], (String)command[5],
(Date)command[6], (Date)command[7], (String)command[8]);
if(success)
System.out.println("操作成功");
else
System.out.println("操作失败");
break;
case 3:
meetinglist=null;
meetinglist=agendas.query((String)command[3], (String)command[4],(Date)command[5], (Date)command[6]);
if(meetinglist==null)
System.out.println(" 会议查询错误,没有从服务器返回结果。。。");
else if(meetinglist.size()==0)
System.out.println(" 在输入的查询时间内,您没有会议。。。");
else{
iterator=meetinglist.iterator();
int i=0;
while(iterator.hasNext())
{
i++;
meeting=iterator.next();
System.out.println("第 "+i+" 个会议 "+"会议名:"+meeting.getTitle());
System.out.println(" 发起人:"+meeting.getUserName());
System.out.println(" 邀请人:"+meeting.gerOtherName());
System.out.println(" 起始时间:"+dataToStr(meeting.getStartTime()));
System.out.println(" 结束时间:"+dataToStr(meeting.getEndTime()));
}
}
break;
case 4:
success=false;
success=agendas.delete((String)command[3], (String)command[4],(String)command[5]);
if(success)
System.out.println("操作成功");
else
System.out.println("操作失败");
break;
case 5:
success=false;
success=agendas.clear((String)command[3], (String)command[4]);
if(success)
System.out.println("操作成功");
else
System.out.println("操作失败");
break;
default:
System.out.println("参数错误");
}
return success;
}
/**
* 转换日期的格式,使其按照设置的格式打印出来
* @param date
* @return
*/
public static String dataToStr(Date date)
{
String dateStr=null;
SimpleDateFormat dateTimeFormat = new SimpleDateFormat(format);
dateStr = dateTimeFormat.format(date);
return dateStr;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -